From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 104479 invoked by alias); 3 Apr 2018 08:20:37 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 102514 invoked by uid 89); 3 Apr 2018 08:20:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS,SPF_NEUTRAL autolearn=ham version=3.3.2 spammy= X-HELO: hera.aquilenet.fr Date: Tue, 03 Apr 2018 08:20:00 -0000 From: Samuel Thibault To: Andreas Schwab Cc: libc-alpha@sourceware.org Subject: Re: [hurd,commited] hurd: Avoid more libc.so local PLTs Message-ID: <20180403082029.g3bfw4upbti67wwz@var.youpi.perso.aquilenet.fr> References: <20180403003817.21337-1-samuel.thibault@ens-lyon.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="3v3rjt52qf3z65y4" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-SW-Source: 2018-04/txt/msg00050.txt.bz2 --3v3rjt52qf3z65y4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 1510 Andreas Schwab, on mar. 03 avril 2018 10:10:21 +0200, wrote: > On Apr 03 2018, Samuel Thibault 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 :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 --3v3rjt52qf3z65y4 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch Content-length: 471 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) --3v3rjt52qf3z65y4--