From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2088 invoked by alias); 4 Nov 2016 22:24: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 2075 invoked by uid 89); 4 Nov 2016 22:24:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy=HTo:U*rth, Hx-languages-length:2286, offer, family X-HELO: relay1.mentorg.com Date: Fri, 04 Nov 2016 22:24:00 -0000 From: Joseph Myers To: , Subject: Update alpha localplt.data Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-SW-Source: 2016-11/txt/msg00214.txt.bz2 This patch updates alpha localplt.data so the localplt test passes in my compile-only all-ABIs glibc testing. The failures I see without this patch are: Missing required PLT reference: ld.so: __tls_get_addr Missing required PLT reference: ld.so: free Now, __tls_get_addr can be made optional. For free, rather than making it optional as in libc.so it seems better to mark all the malloc-related symbols in both libc.so and ld.so as allowing an R_ALPHA_GLOB_DAT relocation as an alternative to using a PLT entry, so this patch does so. Tested for alpha. 2016-11-04 Joseph Myers * sysdeps/unix/sysv/linux/alpha/localplt.data: Make __tls_get_addr optional in ld.so. Allow R_ALPHA_GLOB_DAT relocation for malloc, calloc, realloc, free, memalign and __libc_memalign rather than making them optional. diff --git a/sysdeps/unix/sysv/linux/alpha/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data index e2a4311..351596c 100644 --- a/sysdeps/unix/sysv/linux/alpha/localplt.data +++ b/sysdeps/unix/sysv/linux/alpha/localplt.data @@ -15,11 +15,11 @@ libc.so: _OtsNeqX ? libc.so: _OtsNintXQ ? libc.so: _OtsSubX ? libc.so: _Unwind_Find_FDE -libc.so: calloc ? -libc.so: free ? -libc.so: malloc ? -libc.so: memalign ? -libc.so: realloc ? +libc.so: calloc + RELA R_ALPHA_GLOB_DAT +libc.so: free + RELA R_ALPHA_GLOB_DAT +libc.so: malloc + RELA R_ALPHA_GLOB_DAT +libc.so: memalign + RELA R_ALPHA_GLOB_DAT +libc.so: realloc + RELA R_ALPHA_GLOB_DAT libm.so: matherr # We used to offer inline functions that used this, so it must be exported. # Ought to reorg things such that carg isn't thus forced to use a plt. @@ -27,9 +27,9 @@ libm.so: __atan2 # The dynamic loader needs __tls_get_addr for TLS, and uses __libc_memalign # internally to allocate aligned TLS storage. The other malloc family of # functions are expected to allow user symbol interposition. -ld.so: __tls_get_addr -ld.so: __libc_memalign -ld.so: malloc -ld.so: calloc -ld.so: realloc -ld.so: free +ld.so: __tls_get_addr ? +ld.so: __libc_memalign + RELA R_ALPHA_GLOB_DAT +ld.so: malloc + RELA R_ALPHA_GLOB_DAT +ld.so: calloc + RELA R_ALPHA_GLOB_DAT +ld.so: realloc + RELA R_ALPHA_GLOB_DAT +ld.so: free + RELA R_ALPHA_GLOB_DAT -- Joseph S. Myers joseph@codesourcery.com