mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-23 23:59:22 +00:00
2009-04-01 David S. Miller <davem@davemloft.net>
* normal/sparc64/setjmp.S: Fix setjmp implementation. * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update. (grub_setjmp): Mark with 'returns_twice' attribute. * include/grub/i386/setjmp.h (grub_setjmp): Likewise * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise. * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
This commit is contained in:
1 parent
9c3dd8544c
commit
5270cec8d7
6 files changed
+36
-16
No files matched your search
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2003,2006,2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2003,2006,2007,2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
typedef unsigned long grub_jmp_buf[6];
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env) __attribute__ ((cdecl, regparm (3)));
|
||||
int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice, cdecl,
|
||||
regparm (3)));
|
||||
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn, cdecl,
|
||||
regparm (3)));
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2002,2004,2006,2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2002,2004,2006,2007,2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
typedef unsigned long grub_jmp_buf[20];
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env);
|
||||
int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice));
|
||||
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
|
||||
|
||||
#endif /* ! GRUB_SETJMP_CPU_HEADER */
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2002,2004,2006,2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2002,2004,2006,2007,2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -19,10 +19,11 @@
|
||||
#ifndef GRUB_SETJMP_CPU_HEADER
|
||||
#define GRUB_SETJMP_CPU_HEADER 1
|
||||
|
||||
/* FIXME (sparc64). */
|
||||
typedef unsigned long grub_jmp_buf[20];
|
||||
#include <grub/types.h>
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env);
|
||||
typedef grub_uint64_t grub_jmp_buf[3];
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice));
|
||||
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
|
||||
|
||||
#endif /* ! GRUB_SETJMP_CPU_HEADER */
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2003,2006,2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2003,2006,2007,2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
typedef unsigned long grub_jmp_buf[8];
|
||||
|
||||
int grub_setjmp (grub_jmp_buf env);
|
||||
int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice));
|
||||
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
|
||||
|
||||
#endif /* ! GRUB_SETJMP_CPU_HEADER */
|
||||
Reference in new issue
Block a user