]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR other/113336: Fix libatomic testsuite regressions on ARM.
authorRoger Sayle <roger@nextmovesoftware.com>
Wed, 14 Feb 2024 19:09:51 +0000 (19:09 +0000)
committerRoger Sayle <roger@nextmovesoftware.com>
Wed, 14 Feb 2024 19:09:51 +0000 (19:09 +0000)
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.

libatomic/Makefile.am
libatomic/Makefile.in

index 0623a0bf2d1c2243e69c2c3ba9f81d937b4ec5d9..d49c44c7d5fbe83061fddd1f8ef4813a39eb1b8b 100644 (file)
@@ -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
index cd48fa213342fbab5ea93864a7ffb3540141b8aa..11c8ec7ba15ba7da5ef55e90bd836317bc270061 100644 (file)
@@ -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))