2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>

Move the prototypes of grub_setjmp and grub_longjmp to
        cpu/setjmp.h, so that each architecture may specify different
        attributes.

        * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
        (grub_longjmp): Likewise.
        * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
        (grub_longjmp): Likewise.
        * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
        (grub_longjmp): Likewise.

        * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
        [!GRUB_UTIL] (grub_longjmp): Removed.
This commit is contained in:
okuji 2006-08-04 19:23:28 +00:00
parent 29dda3ed74
commit 1064790dc6
6 changed files with 34 additions and 9 deletions

View file

@ -1,3 +1,19 @@
2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
Move the prototypes of grub_setjmp and grub_longjmp to
cpu/setjmp.h, so that each architecture may specify different
attributes.
* include/grub/i386/setjmp.h (grub_setjmp): New prototype.
(grub_longjmp): Likewise.
* include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
(grub_longjmp): Likewise.
* include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
(grub_longjmp): Likewise.
* include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
[!GRUB_UTIL] (grub_longjmp): Removed.
2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr> 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
* kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275

1
THANKS
View file

@ -6,6 +6,7 @@ The following people made especially gracious contributions of their
time and energy in helping to track down bugs, add new features, and time and energy in helping to track down bugs, add new features, and
generally assist in the GRUB 2 maintainership process: generally assist in the GRUB 2 maintainership process:
Bibo Mao <bibo.mao@intel.com>
Guillem Jover <guillem@hadrons.org> Guillem Jover <guillem@hadrons.org>
Harley D. Eades III <hde@foobar-qux.org> Harley D. Eades III <hde@foobar-qux.org>
Hollis Blanchard <hollis@penguinppc.org> Hollis Blanchard <hollis@penguinppc.org>

View file

@ -1,6 +1,6 @@
/* /*
* GRUB -- GRand Unified Bootloader * GRUB -- GRand Unified Bootloader
* Copyright (C) 2003 Free Software Foundation, Inc. * Copyright (C) 2003,2006 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,4 +22,8 @@
typedef unsigned long grub_jmp_buf[6]; typedef unsigned long grub_jmp_buf[6];
int grub_setjmp (grub_jmp_buf env) __attribute__ ((cdecl, regparm (3)));
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn, cdecl,
regparm (3)));
#endif /* ! GRUB_SETJMP_CPU_HEADER */ #endif /* ! GRUB_SETJMP_CPU_HEADER */

View file

@ -1,6 +1,6 @@
/* /*
* GRUB -- GRand Unified Bootloader * GRUB -- GRand Unified Bootloader
* Copyright (C) 2002, 2004 Free Software Foundation, Inc. * Copyright (C) 2002,2004,2006 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,4 +22,7 @@
typedef unsigned long grub_jmp_buf[20]; typedef unsigned long grub_jmp_buf[20];
int grub_setjmp (grub_jmp_buf env);
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
#endif /* ! GRUB_SETJMP_CPU_HEADER */ #endif /* ! GRUB_SETJMP_CPU_HEADER */

View file

@ -1,6 +1,6 @@
/* /*
* GRUB -- GRand Unified Bootloader * GRUB -- GRand Unified Bootloader
* Copyright (C) 2003 Free Software Foundation, Inc. * Copyright (C) 2003,2006 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -26,11 +26,9 @@ typedef jmp_buf grub_jmp_buf;
#define grub_setjmp setjmp #define grub_setjmp setjmp
#define grub_longjmp longjmp #define grub_longjmp longjmp
#else #else
/* This must define grub_jmp_buf. */ /* This must define grub_jmp_buf, and declare grub_setjmp and
#include <grub/cpu/setjmp.h> grub_longjmp. */
# include <grub/cpu/setjmp.h>
int grub_setjmp (grub_jmp_buf env);
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
#endif #endif
#endif /* ! GRUB_SETJMP_HEADER */ #endif /* ! GRUB_SETJMP_HEADER */

View file

@ -1,6 +1,6 @@
/* /*
* GRUB -- GRand Unified Bootloader * GRUB -- GRand Unified Bootloader
* Copyright (C) 2002, 2004 Free Software Foundation, Inc. * Copyright (C) 2002,2004,2006 Free Software Foundation, Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -23,4 +23,7 @@
/* FIXME (sparc64). */ /* FIXME (sparc64). */
typedef unsigned long grub_jmp_buf[20]; typedef unsigned long grub_jmp_buf[20];
int grub_setjmp (grub_jmp_buf env);
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
#endif /* ! GRUB_SETJMP_CPU_HEADER */ #endif /* ! GRUB_SETJMP_CPU_HEADER */