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 Tue, Apr 3, 2018 at 1:20 AM, Samuel Thibault
<samuel.thibault@ens-lyon.org> 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?

__libc_longjmp and __libc_siglongjmp are private external functions provided for
libpthread.  They should never be called inside libc.   Please revert
it and find another
way to fix hurd.

-- 
H.J.


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