From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2178) id E5D22389781E; Tue, 12 May 2020 10:51:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5D22389781E Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Florian Weimer To: glibc-cvs@sourceware.org Subject: [glibc] aarch64: Accept PLT calls to __getauxval within libc.so X-Act-Checkin: glibc X-Git-Author: Florian Weimer X-Git-Refname: refs/heads/master X-Git-Oldrev: c2d0411488c68a07cc22a5dd76fa37e952d2a66b X-Git-Newrev: 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 Message-Id: <20200512105128.E5D22389781E@sourceware.org> Date: Tue, 12 May 2020 10:51:28 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 May 2020 10:51:29 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 commit 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 Author: Florian Weimer Date: Tue May 12 11:30:30 2020 +0200 aarch64: Accept PLT calls to __getauxval within libc.so When using outline atomics (-moutline-atomics, the default for ARMv8-A starting with GCC 10), libgcc contains an ELF constructor which calls __getauxval. This code is built outside of glibc, so none of its internal PLT avoidance schemes can be applied to it. This change suppresses the elf/check-localplt failure. Diff: --- sysdeps/unix/sysv/linux/aarch64/localplt.data | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sysdeps/unix/sysv/linux/aarch64/localplt.data b/sysdeps/unix/sysv/linux/aarch64/localplt.data index 56f362d3a7..2c14b652ef 100644 --- a/sysdeps/unix/sysv/linux/aarch64/localplt.data +++ b/sysdeps/unix/sysv/linux/aarch64/localplt.data @@ -7,6 +7,9 @@ libc.so: malloc libc.so: memalign libc.so: realloc libm.so: matherr +# If outline atomics are used, libgcc (built outside of glibc) may +# call __getauxval using the PLT. +libc.so: __getauxval ? # The dynamic loader needs __tls_get_addr for TLS. ld.so: __tls_get_addr # The TLS-enabled version of these functions is interposed from libc.so.