This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [hurd,commited] hurd: Avoid more libc.so local PLTs


On 04/03/2018 10:20 AM, Samuel Thibault wrote:
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

Yes. This patch fixes the issue on s390x.

Thanks.
Stefan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]