diff --git a/ChangeLog b/ChangeLog index aa070cbce..4440ef6cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2006-08-04 Yoshinori K. Okuji + + 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 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275 diff --git a/THANKS b/THANKS index b2fd45b8d..dd95e67f2 100644 --- a/THANKS +++ b/THANKS @@ -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 generally assist in the GRUB 2 maintainership process: +Bibo Mao Guillem Jover Harley D. Eades III Hollis Blanchard diff --git a/include/grub/i386/setjmp.h b/include/grub/i386/setjmp.h index b4923c506..d93022357 100644 --- a/include/grub/i386/setjmp.h +++ b/include/grub/i386/setjmp.h @@ -1,6 +1,6 @@ /* * 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 * it under the terms of the GNU General Public License as published by @@ -22,4 +22,8 @@ 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 */ diff --git a/include/grub/powerpc/setjmp.h b/include/grub/powerpc/setjmp.h index 13082a29a..37b281685 100644 --- a/include/grub/powerpc/setjmp.h +++ b/include/grub/powerpc/setjmp.h @@ -1,6 +1,6 @@ /* * 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 * it under the terms of the GNU General Public License as published by @@ -22,4 +22,7 @@ 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 */ diff --git a/include/grub/setjmp.h b/include/grub/setjmp.h index 527b23822..78f5ca54e 100644 --- a/include/grub/setjmp.h +++ b/include/grub/setjmp.h @@ -1,6 +1,6 @@ /* * 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 * 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_longjmp longjmp #else -/* This must define grub_jmp_buf. */ -#include - -int grub_setjmp (grub_jmp_buf env); -void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn)); +/* This must define grub_jmp_buf, and declare grub_setjmp and + grub_longjmp. */ +# include #endif #endif /* ! GRUB_SETJMP_HEADER */ diff --git a/include/grub/sparc64/setjmp.h b/include/grub/sparc64/setjmp.h index d89084df7..33f085a9a 100644 --- a/include/grub/sparc64/setjmp.h +++ b/include/grub/sparc64/setjmp.h @@ -1,6 +1,6 @@ /* * 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 * it under the terms of the GNU General Public License as published by @@ -23,4 +23,7 @@ /* FIXME (sparc64). */ 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 */