In addition to the existing powerpc targets, powerpc64 needs libatomic
for 64-bit atomics when testing the 32-bit multilib with -m32. Adjust
the existing target checks to match all 32-bit powerpc targets, but not
64-bit ones.

libstdc++-v3/ChangeLog:

        * testsuite/lib/dg-options.exp (add_options_for_libatomic):
        Replace powerpc-ibm-aix* and powerpc*-*-darwin* with check for
        powerpc && ilp32.

Tested powerpc64-linux (with both -m32 and -m64) and
powerpc-ibm-aix7.2.0.0 (with both -maix32 and -maix64)
and powerpc64le-linux (-m64 only).

Committed to trunk.

commit dd053eea0be4f3ec8b76fb2e103a13a3977bcf9f
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Dec 2 16:37:56 2020

    libstdc++: Use libatomic for tests on all 32-bit powerpc targets
    
    In addition to the existing powerpc targets, powerpc64 needs libatomic
    for 64-bit atomics when testing the 32-bit multilib with -m32. Adjust
    the existing target checks to match all 32-bit powerpc targets, but not
    64-bit ones.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/lib/dg-options.exp (add_options_for_libatomic):
            Replace powerpc-ibm-aix* and powerpc*-*-darwin* with check for
            powerpc && ilp32.

diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp 
b/libstdc++-v3/testsuite/lib/dg-options.exp
index d3f61cb5267..0102acf65a2 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -257,13 +257,14 @@ proc add_options_for_net_ts { flags } {
     return $flags
 }
 
-# Add to FLAGS all the target-specific flags to link to libatomic, if required.
+# Add to FLAGS all the target-specific flags to link to libatomic,
+# if required for atomics on pointers and 64-bit types.
 
 proc add_options_for_libatomic { flags } {
     if { [istarget hppa*-*-hpux*]
-        || [istarget powerpc-ibm-aix*]
-        || [istarget powerpc*-*-darwin*]
-        || [istarget riscv*-*-*] } {
+        || ([istarget powerpc*-*-*] && [check_effective_target_ilp32])
+        || [istarget riscv*-*-*]
+       } {
        return "$flags -L../../libatomic/.libs -latomic"
     }
     return $flags

Reply via email to