[all-commits] [llvm/llvm-project] fa1c07: [runtimes] Remove support for GCC-style 32 bit mul...

Louis Dionne via All-commits all-commits at lists.llvm.org
Wed Dec 1 09:57:15 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fa1c077b41ae1335332d65399802f2c68e82ca7b
      https://github.com/llvm/llvm-project/commit/fa1c077b41ae1335332d65399802f2c68e82ca7b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2021-12-01 (Wed, 01 Dec 2021)

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

  Log Message:
  -----------
  [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




More information about the All-commits mailing list