diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-11-11 10:29:08 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-11-11 11:11:07 +0100 |
commit | edc5984d4d18296d7aa3d8f4ed8f7336a743170e (patch) | |
tree | 7d594b20d25452b3b51a4de37e55ca05c20c31a5 /setjmp | |
parent | 77cdc054e02069d72dcf54a9ad7d7df3a24bcb01 (diff) | |
download | glibc-edc5984d4d18296d7aa3d8f4ed8f7336a743170e.tar.gz glibc-edc5984d4d18296d7aa3d8f4ed8f7336a743170e.tar.xz glibc-edc5984d4d18296d7aa3d8f4ed8f7336a743170e.zip |
Mark setjmp and ucontext functions as non-leaf
Diffstat (limited to 'setjmp')
-rw-r--r-- | setjmp/bits/setjmp2.h | 22 | ||||
-rw-r--r-- | setjmp/setjmp.h | 14 |
2 files changed, 18 insertions, 18 deletions
diff --git a/setjmp/bits/setjmp2.h b/setjmp/bits/setjmp2.h index b2f8efac4c..ad65d25970 100644 --- a/setjmp/bits/setjmp2.h +++ b/setjmp/bits/setjmp2.h @@ -1,5 +1,5 @@ /* Checking macros for setjmp functions. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,18 +23,18 @@ /* Variant of the longjmp functions which perform some sanity checking. */ #ifdef __REDIRECT_NTH -extern void __REDIRECT_NTH (longjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); -extern void __REDIRECT_NTH (_longjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); -extern void __REDIRECT_NTH (siglongjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (_longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (siglongjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); #else extern void __longjmp_chk (struct __jmp_buf_tag __env[1], int __val), - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); # define longjmp __longjmp_chk # define _longjmp __longjmp_chk # define siglongjmp __longjmp_chk diff --git a/setjmp/setjmp.h b/setjmp/setjmp.h index 3bc382ff1e..fd57ab645b 100644 --- a/setjmp/setjmp.h +++ b/setjmp/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1999,2001,2002,2007,2009 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999,2001,2002,2007,2009,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,19 +50,19 @@ typedef struct __jmp_buf_tag jmp_buf[1]; /* Store the calling environment in ENV, also saving the signal mask. Return 0. */ -extern int setjmp (jmp_buf __env) __THROW; +extern int setjmp (jmp_buf __env) __THROWNL; __END_NAMESPACE_STD /* Store the calling environment in ENV, also saving the signal mask if SAVEMASK is nonzero. Return 0. This is the internal name for `sigsetjmp'. */ -extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROW; +extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL; #ifndef __FAVOR_BSD /* Store the calling environment in ENV, not saving the signal mask. Return 0. */ -extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROW; +extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL; /* Do not save the signal mask. This is equivalent to the `_setjmp' BSD function. */ @@ -80,7 +80,7 @@ __BEGIN_NAMESPACE_STD /* Jump to the environment saved in ENV, making the `setjmp' call there return VAL, or 1 if VAL is 0. */ extern void longjmp (struct __jmp_buf_tag __env[1], int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); __END_NAMESPACE_STD @@ -89,7 +89,7 @@ __END_NAMESPACE_STD the signal mask. But it is how ENV was saved that determines whether `longjmp' restores the mask; `_longjmp' is just an alias. */ extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); #endif @@ -108,7 +108,7 @@ typedef struct __jmp_buf_tag sigjmp_buf[1]; Restore the signal mask if that sigsetjmp call saved it. This is just an alias `longjmp'. */ extern void siglongjmp (sigjmp_buf __env, int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); #endif /* Use POSIX. */ |