From 3ee578690f35942f41926cc2d98e25b3d0d08c71 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Sun, 12 Sep 2010 09:38:44 -0400 Subject: arm: setjmp/longjmp: fix PIC vs SHARED thinkos The logic in setjmp/__longjmp incorrectly uses "PIC" to figure out whether the code is going into a shared library when it should be using "SHARED". If you build glibc with a gcc version that has PIE enabled by default, then the code will try to use symbols that are only in the shared library. URL: https://bugs.gentoo.org/336914 --- sysdeps/arm/__longjmp.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps/arm/__longjmp.S') diff --git a/sysdeps/arm/__longjmp.S b/sysdeps/arm/__longjmp.S index fc60a5d..1033e13 100644 --- a/sysdeps/arm/__longjmp.S +++ b/sysdeps/arm/__longjmp.S @@ -81,7 +81,7 @@ ENTRY (__longjmp) C_SYMBOL_NAME(_rtld_local_ro) \ + RTLD_GLOBAL_RO_DL_HWCAP_OFFSET) # else -# ifdef PIC +# ifdef SHARED LDR_GLOBAL (a4, a3, C_SYMBOL_NAME(_rtld_global_ro), \ RTLD_GLOBAL_RO_DL_HWCAP_OFFSET) # else -- cgit v1.1