This adds a new "futex" effective-target keyword that can be used to selectively enable/disable tests based on _GLIBCXX_HAVE_LINUX_FUTEX, instead of checking for that macro in the code. It also adds "gthreads" as another one, to make the result of the dg-require-gthreads directive usable in target selectors. With these new keywords two tests that are currently only run for linux can also be run for targets using gthr-single.h (e.g. AIX single-thread multilib, and targets without a gthreads implementation). libstdc++-v3/ChangeLog: * testsuite/18_support/96817.cc: Use new effective-target keywords to select supported targets more effectively. * testsuite/30_threads/call_once/66146.cc: Likewise. * testsuite/lib/libstdc++.exp (check_effective_target_futex): Define new proc. (check_effective_target_gthreads): Define new proc to replace dg-require-gthreads. Tested powerpc64le-linux. Committed to trunk.