diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-04 23:19:18 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-04 23:19:18 +0000 |
commit | e5f9508a32426b7c3948dc741d84355071ed9539 (patch) | |
tree | 2472ac1ecdbba3bffc3081afd7ea53ab76429852 | |
parent | b2fd61ca9b252f61d0a5afd06cc5c95a3898d4df (diff) | |
download | glibc-e5f9508a32426b7c3948dc741d84355071ed9539.tar.gz glibc-e5f9508a32426b7c3948dc741d84355071ed9539.tar.xz glibc-e5f9508a32426b7c3948dc741d84355071ed9539.zip |
hurd: Avoid PLTs for longjmp & siglongjmp
* include/setjmp.h (longjmp, siglongjmp): Add hidden protos. * setjmp/longjmp.c (longjmp, siglongjmp): Add hidden defs. * sysdeps/s390/longjmp.c (longjmp, siglongjmp): Add hidden defs.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | include/setjmp.h | 2 | ||||
-rw-r--r-- | setjmp/longjmp.c | 2 | ||||
-rw-r--r-- | sysdeps/s390/longjmp.c | 2 |
4 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 174bb6a46a..58d4d94ec0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-04-05 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * include/setjmp.h (longjmp, siglongjmp): Add hidden protos. + * setjmp/longjmp.c (longjmp, siglongjmp): Add hidden defs. + * sysdeps/s390/longjmp.c (longjmp, siglongjmp): Add hidden defs. + 2018-04-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> * sysdeps/powerpc/fpu/libm-test-ulps: Increase double-precision diff --git a/include/setjmp.h b/include/setjmp.h index 263bc64b3d..ed582516c9 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -26,6 +26,8 @@ extern void __libc_longjmp (sigjmp_buf env, int val) libc_hidden_proto (_setjmp) libc_hidden_proto (__sigsetjmp) +libc_hidden_proto (longjmp) +libc_hidden_proto (siglongjmp) # if IS_IN (rtld) && !defined NO_RTLD_HIDDEN extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden; diff --git a/setjmp/longjmp.c b/setjmp/longjmp.c index a2a7065a85..72d43f45df 100644 --- a/setjmp/longjmp.c +++ b/setjmp/longjmp.c @@ -45,5 +45,7 @@ __libc_siglongjmp (sigjmp_buf env, int val) strong_alias (__libc_siglongjmp, __libc_longjmp) weak_alias (__libc_siglongjmp, _longjmp) weak_alias (__libc_siglongjmp, longjmp) +libc_hidden_def (longjmp) weak_alias (__libc_siglongjmp, siglongjmp) +libc_hidden_def (siglongjmp) #endif diff --git a/sysdeps/s390/longjmp.c b/sysdeps/s390/longjmp.c index e61cdba2a3..1064647ee0 100644 --- a/sysdeps/s390/longjmp.c +++ b/sysdeps/s390/longjmp.c @@ -43,9 +43,11 @@ weak_alias (__libc_siglongjmp, __v1longjmp) weak_alias (__libc_siglongjmp, __v2longjmp) versioned_symbol (libc, __v1longjmp, longjmp, GLIBC_2_0); compat_symbol (libc, __v2longjmp, longjmp, GLIBC_2_19); +libc_hidden_def (longjmp) weak_alias (__libc_siglongjmp, __v1siglongjmp) weak_alias (__libc_siglongjmp, __v2siglongjmp) versioned_symbol (libc, __v1siglongjmp, siglongjmp, GLIBC_2_0); compat_symbol (libc, __v2siglongjmp, siglongjmp, GLIBC_2_19); +libc_hidden_def (siglongjmp) #endif /* SHARED && SHLIB_COMPAT (libc, GLIBC_2_19, GLIBC_2_20) */ |