This fixes a linker error on AIX:

FAIL: 30_threads/semaphore/try_acquire_posix.cc (test for excess errors)
Excess errors:
ld: 0711-317 ERROR: Undefined symbol: .__atomic_fetch_add_8
ld: 0711-317 ERROR: Undefined symbol: .__atomic_load_8
ld: 0711-317 ERROR: Undefined symbol: .__atomic_fetch_sub_8
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status

libstdc++-v3/ChangeLog:

        * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
        options for libatomic.

Tested powerpc64le-linux and powerpc-aix. Committed to trunk.

I'd like to backport this to gcc-11 too.

commit 58871c03318e080962f022f5d77db3c4fde3e351
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Apr 22 15:51:08 2021

    libstdc++: Add options for libatomic to test
    
    This fixes a linker error on AIX:
    
    FAIL: 30_threads/semaphore/try_acquire_posix.cc (test for excess errors)
    Excess errors:
    ld: 0711-317 ERROR: Undefined symbol: .__atomic_fetch_add_8
    ld: 0711-317 ERROR: Undefined symbol: .__atomic_load_8
    ld: 0711-317 ERROR: Undefined symbol: .__atomic_fetch_sub_8
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more 
information.
    collect2: error: ld returned 8 exit status
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/30_threads/semaphore/try_acquire_posix.cc: Add
            options for libatomic.

diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_posix.cc 
b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_posix.cc
index 97e386f7b76..2d9ae40db72 100644
--- a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_posix.cc
+++ b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_posix.cc
@@ -19,6 +19,7 @@
 // { dg-do run { target c++2a } }
 // { dg-require-effective-target pthread }
 // { dg-require-gthreads "" }
+// { dg-add-options libatomic }
 
 #include <semaphore>
 #ifdef _GLIBCXX_HAVE_POSIX_SEMAPHORE

Reply via email to