[runtimes] Remove support for GCC-style 32 bit multilib builds
authorLouis Dionne <ldionne.2@gmail.com>
Tue, 23 Nov 2021 21:34:09 +0000 (16:34 -0500)
committerLouis Dionne <ldionne.2@gmail.com>
Wed, 1 Dec 2021 17:57:01 +0000 (12:57 -0500)
commitfa1c077b41ae1335332d65399802f2c68e82ca7b
tree39ef1646c944b593d4df1157e0b70acf0f6ccc93
parentc6fa4c481a3f41ea5730f6661fff3f2a6cda6f30
[runtimes] Remove support for GCC-style 32 bit multilib builds

This patch removes the ability to build the runtimes in the 32 bit
multilib configuration, i.e. using -m32. Instead of doing this, one
should cross-compile the runtimes for the appropriate target triple,
like we do for all other triples.

As it stands, -m32 has several issues, which all seem to be related to
the fact that it's not well supported by the operating systems that
libc++ support. The simplest path towards fixing this is to remove
support for the configuration, which is also the best course of action
if there is little interest for keeping that configuration. If there
is a desire to keep this configuration around, we'll need to do some
work to figure out the underlying issues and fix them.

Differential Revision: https://reviews.llvm.org/D114473
95 files changed:
libcxx/CMakeLists.txt
libcxx/cmake/caches/Generic-32bits.cmake [deleted file]
libcxx/docs/BuildingLibcxx.rst
libcxx/docs/ReleaseNotes.rst
libcxx/test/CMakeLists.txt
libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
libcxx/test/std/thread/futures/futures.async/async.pass.cpp
libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
libcxx/test/std/thread/thread.barrier/completion.pass.cpp
libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
libcxx/test/std/thread/thread.latch/count_down.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
libcxx/test/std/thread/thread.semaphore/release.pass.cpp
libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.file/now.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.file/to_from_sys.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.hires/now.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.steady/now.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.system/now.pass.cpp
libcxx/test/std/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
libcxx/utils/libcxx/test/params.py
libcxxabi/CMakeLists.txt
libcxxabi/test/CMakeLists.txt
libcxxabi/test/test_exception_storage.pass.cpp
libunwind/CMakeLists.txt
libunwind/docs/BuildingLibunwind.rst
libunwind/test/CMakeLists.txt
libunwind/test/remember_state_leak.pass.sh.s