From patchwork Sat Jul 28 13:04:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 950481 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-94898-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="cFMkHRsV"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41d5dl00YBz9ryt for ; Sat, 28 Jul 2018 23:04:42 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; q=dns; s= default; b=XUKPGRexPyF7giy5Hy1W8ItKWgbpunDvr8PEzC+zIM+y2+tNF5HKb kUcon9bWiopggSyBfZ7rEVuk2QzBfIe3qbHfiMpOOgQuwnmnBVNmj8IHGXdihyc3 dyQ8lQ+o4mA1RDQ4vKK0JBskPLID3C/NbYK2k/10ToWhQbPQD3NAhw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id; s=default; bh=LTLbZW8BPCwUbDzLFXs7ba16R8w=; b=cFMkHRsVgKq6UGFrZ+7YKSPm+xlL VIbbR7D/dZE1Qm77PnIeSE8G1KIrrrnzVJp6kpNEooLou6njc9cl9PUvVW2PTVLX n7x6uEreRVI+qQYGgngMtcP2VbgINIJXJ8Jdc6tId4RkIHI8LuWvBMKGW0NGPxRp JX3zyX4ReZi7wsE= Received: (qmail 116888 invoked by alias); 28 Jul 2018 13:04:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 116875 invoked by uid 89); 28 Jul 2018 13:04:36 -0000 Authentication-Results: sourceware.org; auth=none 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, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NEUTRAL autolearn=ham version=3.3.2 spammy= X-HELO: hera.aquilenet.fr From: Samuel Thibault To: libc-alpha@sourceware.org Cc: Samuel Thibault Subject: [hurd,commited] hurd: Fix some ld.so symbol override from libc Date: Sat, 28 Jul 2018 15:04:28 +0200 Message-Id: <20180728130428.25988-1-samuel.thibault@ens-lyon.org> ld.so symbols to be overriden by libc need to be extern to really get overriden. * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read, __sbrk): Do not set attribute_hidden. * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. * sysdeps/mach/hurd/i386/localplt.data: Update accordingly. --- ChangeLog | 7 +++++++ sysdeps/mach/hurd/dl-unistd.h | 10 ++-------- sysdeps/mach/hurd/i386/ld.abilist | 2 ++ sysdeps/mach/hurd/i386/localplt.data | 8 ++++---- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index e5abf96411..5885a61901 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-07-28 Samuel Thibault + + * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read, + __sbrk): Do not set attribute_hidden. + * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. + * sysdeps/mach/hurd/i386/localplt.data: Update accordingly. + 2018-07-27 Carlos O'Donell * po/uk.po: Update translations. diff --git a/sysdeps/mach/hurd/dl-unistd.h b/sysdeps/mach/hurd/dl-unistd.h index 81cdd9a8c5..da7f0ed18d 100644 --- a/sysdeps/mach/hurd/dl-unistd.h +++ b/sysdeps/mach/hurd/dl-unistd.h @@ -17,12 +17,6 @@ License along with the GNU C Library; if not, see . */ -/* __close, __getcwd, __getpid, __libc_read and __libc_write can't be - hidden in ld.so on Hurd since they will be preempted by the ones in - libc.so after bootstrap. */ -extern __typeof (__access) __access attribute_hidden; -extern __typeof (__brk) __brk attribute_hidden; -extern __typeof (__lseek) __lseek attribute_hidden; +/* Most stubs mustn't be hidden in ld.so on Hurd since they need to be preempted + by functions from libc.so after bootstrap. */ extern __typeof (__profil) __profil attribute_hidden; -extern __typeof (__read) __read attribute_hidden; -extern __typeof (__sbrk) __sbrk attribute_hidden; diff --git a/sysdeps/mach/hurd/i386/ld.abilist b/sysdeps/mach/hurd/i386/ld.abilist index 3a89b5a10e..c76b913486 100644 --- a/sysdeps/mach/hurd/i386/ld.abilist +++ b/sysdeps/mach/hurd/i386/ld.abilist @@ -6,6 +6,8 @@ GLIBC_2.2.6 __libc_stack_end D 0x4 GLIBC_2.2.6 __mmap F GLIBC_2.2.6 __open F GLIBC_2.2.6 __open64 F +GLIBC_2.2.6 __read F +GLIBC_2.2.6 __sbrk F GLIBC_2.2.6 __strtoul_internal F GLIBC_2.2.6 __write F GLIBC_2.2.6 __writev F diff --git a/sysdeps/mach/hurd/i386/localplt.data b/sysdeps/mach/hurd/i386/localplt.data index 69d3a2568d..78f8c877c6 100644 --- a/sysdeps/mach/hurd/i386/localplt.data +++ b/sysdeps/mach/hurd/i386/localplt.data @@ -23,10 +23,10 @@ ld.so: _dl_catch_exception + REL R_386_GLOB_DAT # The dynamic linker has its own versions of basic functions for initial loading # of shared libraries. These need to be overriden by libc once loaded. ld.so: __open ? -ld.so: __open64 ? +ld.so: __open64 ld.so: __close -ld.so: __read ? -ld.so: __write ? +ld.so: __read +ld.so: __write ld.so: __writev ld.so: __libc_lseek64 ld.so: __mmap @@ -36,7 +36,7 @@ ld.so: __xstat64 #ld.so: __access_noerrno ld.so: __getpid #ld.so: __getcwd -#ld.so: __sbrk +ld.so: __sbrk ld.so: __strtoul_internal #ld.so: _exit ld.so: abort