powerpc: Add hidden definition for __sigsetjmp

There already is a hidden prototype for __sigsetjmp, but the
architecture-specific definition was missing.
This commit is contained in:
Florian Weimer 2016-11-29 10:16:35 +01:00
parent 76388b236a
commit b365289364
4 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2016-11-29 Florian Weimer <fweimer@redhat.com>
* sysdeps/powerpc/powerpc64/setjmp-common.S (__GI___sigsetjmp):
Define.
* sysdeps/powerpc/powerpc32/setjmp.S (__sigsetjmp): Add hidden
definition.
2016-11-29 Florian Weimer <fweimer@redhat.com> 2016-11-29 Florian Weimer <fweimer@redhat.com>
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S (__longjmp): Remove * sysdeps/powerpc/powerpc32/fpu/__longjmp.S (__longjmp): Remove

View File

@ -32,6 +32,7 @@ versioned_symbol (libc, __vmx__sigsetjmp, __sigsetjmp, GLIBC_2_3_4)
# define __sigsetjmp_symbol __vmx__sigsetjmp # define __sigsetjmp_symbol __vmx__sigsetjmp
# define __sigjmp_save_symbol __vmx__sigjmp_save # define __sigjmp_save_symbol __vmx__sigjmp_save
# include "setjmp-common.S" # include "setjmp-common.S"
libc_hidden_ver (__vmx__sigsetjmp, __sigsetjmp)
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
# define __NO_VMX__ # define __NO_VMX__

View File

@ -31,6 +31,7 @@ versioned_symbol (libc, __vmx__sigsetjmp, __sigsetjmp, GLIBC_2_3_4)
# define __sigsetjmp_symbol __vmx__sigsetjmp # define __sigsetjmp_symbol __vmx__sigsetjmp
# define __sigjmp_save_symbol __vmx__sigjmp_save # define __sigjmp_save_symbol __vmx__sigjmp_save
# include "setjmp-common.S" # include "setjmp-common.S"
libc_hidden_ver (__vmx__sigsetjmp, __sigsetjmp)
# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
# define __NO_VMX__ # define __NO_VMX__

View File

@ -232,3 +232,14 @@ L(no_vmx):
blr blr
#endif #endif
END (__sigsetjmp_symbol) END (__sigsetjmp_symbol)
#if defined SHARED && !IS_IN (rtld) && !defined __NO_VMX__
/* When called from within libc we need a special version of __sigsetjmp
that saves r2 since the call won't go via a plt call stub. See
bugz #269. */
ENTRY (__GI___sigsetjmp)
std r2,FRAME_TOC_SAVE(r1) /* Save the callers TOC in the save area. */
CALL_MCOUNT 1
b JUMPTARGET (GLUE(__sigsetjmp_symbol,_ent))
END (__GI___sigsetjmp)
#endif