Compiler-rt Build Fails and OpenMP Tests Fail on Non-Debian 32-bit Distros: bits/c++config.h not found

On both Arch Linux 32 and i686 OpenSUSE Tumbleweed, the OpenMP tests fail after The fix for Bug 49827,
https://github.com/llvm/llvm-project/commit/e92d2b80c6c9

Failed Tests (14):
  libomp :: api/omp_display_env0.c
  libomp :: ompt/misc/api_calls_from_other_thread.cpp
  libomp :: ompt/misc/interoperability.cpp
  libomp :: tasking/bug_taskwait_detach.cpp
  libomp :: tasking/hidden_helper_task/capacity_mix_threads.cpp
  libomp :: tasking/hidden_helper_task/capacity_nthreads.cpp
  libomp :: tasking/hidden_helper_task/depend.cpp
  libomp :: tasking/hidden_helper_task/gtid.cpp
  libomp :: tasking/hidden_helper_task/taskgroup.cpp
  libomp :: tasking/kmp_task_modifier_simple_par_new.cpp
  libomp :: tasking/kmp_task_modifier_simple_par_old.cpp
  libomp :: tasking/kmp_task_modifier_simple_ws_new.cpp
  libomp :: tasking/kmp_task_modifier_simple_ws_old.cpp
  libomp :: tasking/kmp_task_reduction_nest.cpp

Here is a sample failure

******************** TEST 'libomp :: tasking/kmp_task_reduction_nest.cpp' FAILED ********************
Script:

I just ran a clean build of main on an updated Arch Linux 32 and i686 OpenSUSE Tumbleweed. The build and tests are still failing. Do we really want to keep a Debian specific patch that breaks all other distros?

More details over at https://bugs.llvm.org/show_bug.cgi?id=50303

-Luke

Luke, The last comment on the noted bug page has

Does the issue happen with clang --target=i586-suse-linux?
You may configure llvm-project with -DLLVM_DEFAULT_TARGET_TRIPLE=i586-suse-linux .
The magic detection is something I want Clang to move away from.

Does this option work?

Neil Nelson

I installed an image from archlinux32.org into qemu to understand what happened.

Sent https://reviews.llvm.org/D106119

I really hope Debian native gcc can move away from g++-multiarch-incdir.diff
It's so difficult keeping Debian gcc with g++-multiarch-incdir.diff / Debian gcc without g++-multiarch-incdir.diff / non-Debian multiarch gcc
/ non-Debian non-multiarch gcc happy...