[hurd,commited] hurd: Avoid more libc.so local PLTs
Samuel Thibault
samuel.thibault@ens-lyon.org
Tue Apr 3 08:20:00 GMT 2018
Andreas Schwab, on mar. 03 avril 2018 10:10:21 +0200, wrote:
> On Apr 03 2018, Samuel Thibault <samuel.thibault@ens-lyon.org> wrote:
>
> > * hurd/catch-signal.c (__hurd_catch_signal): Call __libc_siglongjmp
> > instead if siglongjmp.
> > (hurd_safe_memmove): Call __libc_longjmp instead of longjmp.
> > * hurd/hurdfault.c (faulted): Call __libc_longjmp instead of longjmp.
> > * include/setjmp.h (__libc_siglongjmp, __libc_longjmp): New hidden
> > prototypes.
> > * libio/iolibio.h (_IO_puts): New hidden prototype.
> > * libio/ioputs.c (_IO_puts): New hidden def.
> > * setjmp/longjmp.c (__libc_longjmp, __libc_siglongjmp): New hidden
> > defs.
> > * sysdeps/mach/hurd/sigwait.c (__sigwait): Call __libc_longjmp instead
> > of longjmp.
>
> https://build.opensuse.org/package/live_build_log/home:Andreas_Schwab:glibc/glibc/s/s390x
>
> In file included from <command-line>:0:0:
> ../sysdeps/s390/longjmp.c:35:34: error: '__libc_longjmp' aliased to undefined symbol '__libc_siglongjmp'
> strong_alias (__libc_siglongjmp, __libc_longjmp)
> ^
> ./../include/libc-symbols.h:135:26: note: in definition of macro '_strong_alias'
> extern __typeof (name) aliasname __attribute__ ((alias (#name)));
> ^~~~~~~~~
> ../sysdeps/s390/longjmp.c:35:1: note: in expansion of macro 'strong_alias'
> strong_alias (__libc_siglongjmp, __libc_longjmp)
Ah, there is #define __libc_siglongjmp magic here indeed. Does the
attached patch fix it?
Samuel
-------------- next part --------------
diff --git a/sysdeps/s390/longjmp.c b/sysdeps/s390/longjmp.c
index e61cdba2a3..e543415df0 100644
--- a/sysdeps/s390/longjmp.c
+++ b/sysdeps/s390/longjmp.c
@@ -33,6 +33,8 @@
but were reverted before 2.20. Thus both versions are the same function. */
strong_alias (__libc_siglongjmp, __libc_longjmp)
+libc_hidden_def (__libc_longjmp)
+libc_hidden_def (__libc_siglongjmp)
weak_alias (__libc_siglongjmp, __v1_longjmp)
weak_alias (__libc_siglongjmp, __v2_longjmp)
More information about the Libc-alpha
mailing list