aboutsummaryrefslogtreecommitdiff
path: root/libatomic
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2024-02-14 19:09:51 +0000
committerRoger Sayle <roger@nextmovesoftware.com>2024-02-14 19:09:51 +0000
commitea7675761226b42e2deb7b320e9cc680512f4090 (patch)
tree3df7029c0c2d90cc1d6d25d40c9e89fcf395848d /libatomic
parentdd9d14f7d53de07beff06004922a2bff20ece671 (diff)
downloadgcc-ea7675761226b42e2deb7b320e9cc680512f4090.zip
gcc-ea7675761226b42e2deb7b320e9cc680512f4090.tar.gz
gcc-ea7675761226b42e2deb7b320e9cc680512f4090.tar.bz2
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 <roger@nextmovesoftware.com> Victor Do Nascimento <victor.donascimento@arm.com> libatomic/ChangeLog PR other/113336 * Makefile.am: Build tas_1_2_.o on ARCH_ARM_LINUX * Makefile.in: Regenerate.
Diffstat (limited to 'libatomic')
-rw-r--r--libatomic/Makefile.am1
-rw-r--r--libatomic/Makefile.in3
2 files changed, 3 insertions, 1 deletions
diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
index 0623a0b..d49c44c 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 cd48fa2..11c8ec7 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))