From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1251) id 2A62D3858C36; Wed, 14 Feb 2024 19:12:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A62D3858C36 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707937959; bh=pW3shAfwsgPa3GtIUrYyfuf7d79BSABXBoyPzS7qFKE=; h=From:To:Subject:Date:From; b=HaXzVqbaTfbU6H05yo1qWFUoKYlntkWErEqPX+jsx/m7ShfFQiQfIQNal/k7Y7O3s RdP6obcKLr0wAOLd4B9Lt2S+bzk3ETbWiZhSOxVyb5psVa89MHj4vuhEJ0uppGbvvl R8tFDB6oBsJHldyTdNzUlU2+dTrlQHGUTfQhF1t0= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Roger Sayle To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-8988] PR other/113336: Fix libatomic testsuite regressions on ARM. X-Act-Checkin: gcc X-Git-Author: Roger Sayle X-Git-Refname: refs/heads/master X-Git-Oldrev: dd9d14f7d53de07beff06004922a2bff20ece671 X-Git-Newrev: ea7675761226b42e2deb7b320e9cc680512f4090 Message-Id: <20240214191239.2A62D3858C36@sourceware.org> Date: Wed, 14 Feb 2024 19:12:39 +0000 (GMT) List-Id: https://gcc.gnu.org/g:ea7675761226b42e2deb7b320e9cc680512f4090 commit r14-8988-gea7675761226b42e2deb7b320e9cc680512f4090 Author: Roger Sayle Date: Wed Feb 14 19:09:51 2024 +0000 PR other/113336: Fix libatomic testsuite regressions on ARM. This patch is a revised version of the fix for PR other/113336. Bootstrapping GCC on arm-linux-gnueabihf with --with-arch=armv6 currently has a large number of FAILs in libatomic (regressions since last time I attempted this). The failure mode is related to IFUNC handling with the file tas_8_2_.o containing an unresolved reference to the function libat_test_and_set_1_i2. The following one line change, to build tas_1_2_.o when building tas_8_2_.o, resolves the problem for me and restores the libatomic testsuite to 44 expected passes and 5 unsupported tests [from 22 unexpected failures and 22 unresolved testcases]. ` 2024-02-14 Roger Sayle Victor Do Nascimento libatomic/ChangeLog PR other/113336 * Makefile.am: Build tas_1_2_.o on ARCH_ARM_LINUX * Makefile.in: Regenerate. Diff: --- libatomic/Makefile.am | 1 + libatomic/Makefile.in | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am index 0623a0bf2d1c..d49c44c7d5fb 100644 --- a/libatomic/Makefile.am +++ b/libatomic/Makefile.am @@ -142,6 +142,7 @@ if ARCH_ARM_LINUX IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) libatomic_la_LIBADD += $(addsuffix _8_2_.lo,$(SIZEOBJS)) +libatomic_la_LIBADD += tas_1_2_.lo endif if ARCH_I386 IFUNC_OPTIONS = -march=i586 diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in index cd48fa213342..11c8ec7ba15b 100644 --- a/libatomic/Makefile.in +++ b/libatomic/Makefile.in @@ -95,7 +95,8 @@ target_triplet = @target@ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ s,$(SIZES),$(addsuffix \ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _$(s)_1_.lo,$(SIZEOBJS))) \ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ $(addsuffix \ -@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _8_2_.lo,$(SIZEOBJS)) +@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ _8_2_.lo,$(SIZEOBJS)) \ +@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@ tas_1_2_.lo @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@am__append_4 = $(addsuffix _8_1_.lo,$(SIZEOBJS)) @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@am__append_5 = $(addsuffix _16_1_.lo,$(SIZEOBJS)) \ @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@ $(addsuffix _16_2_.lo,$(SIZEOBJS))