[PATCH] D139147: [libc++][Android] Enable libc++ testing on Android

Ryan Prichard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 14 00:56:46 PDT 2023


rprichard updated this revision to Diff 540306.
rprichard added a comment.

Switch adb_run's job limiting from POSIX semaphore to a Unix domain socket. Instead of needing a SIGINT handler in adb_run.py to release the semaphore, we can instead rely on the OS to close the socket connection.

Remove the `cxx_add_android_flags` function from libcxx/CMakeLists.txt that was adding `-Wno-unused-command-line-argument`. Previously, this patch used CMake's NDK support, which was adding an unnecessary -stdlib=libc++. Now that the patch uses just an Android sysroot with an ordinary LLVM build, CMake does not add -stdlib=libc++, so we don't need to pass `-Wno-unused-command-line-argument`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139147/new/

https://reviews.llvm.org/D139147

Files:
  compiler-rt/cmake/caches/AndroidBuiltins.cmake
  libcxx/cmake/caches/AndroidNDK.cmake
  libcxx/docs/index.rst
  libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
  libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
  libcxx/test/configs/llvm-libc++-android.cfg.in
  libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
  libcxx/test/libcxx/modules_include.gen.py
  libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
  libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.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.create_hard_link/create_hard_link.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
  libcxx/test/std/input.output/iostream.format/ext.manip/get_money.pass.cpp
  libcxx/test/std/input.output/iostream.format/ext.manip/put_money.pass.cpp
  libcxx/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp
  libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
  libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_1.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_many.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
  libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
  libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
  libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
  libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
  libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
  libcxx/test/std/re/re.traits/translate_nocase.pass.cpp
  libcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
  libcxx/test/support/filesystem_test_helper.h
  libcxx/utils/adb_run.py
  libcxx/utils/ci/BOT_OWNERS.txt
  libcxx/utils/ci/Dockerfile
  libcxx/utils/ci/buildkite-pipeline.yml
  libcxx/utils/ci/container-setup.sh
  libcxx/utils/ci/run-buildbot
  libcxx/utils/ci/run-buildbot-container
  libcxx/utils/ci/vendor/android/Dockerfile.emulator
  libcxx/utils/ci/vendor/android/Dockerfile.emulator.base
  libcxx/utils/ci/vendor/android/build-emulator-images.sh
  libcxx/utils/ci/vendor/android/build-toolchain.sh
  libcxx/utils/ci/vendor/android/emulator-entrypoint.sh
  libcxx/utils/ci/vendor/android/emulator-functions.sh
  libcxx/utils/ci/vendor/android/emulator-wait-for-ready.sh
  libcxx/utils/ci/vendor/android/setup-env-for-emulator.sh
  libcxx/utils/ci/vendor/android/start-emulator.sh
  libcxx/utils/ci/vendor/android/stop-emulator-after-run.sh
  libcxx/utils/ci/vendor/android/stop-emulator.sh
  libcxx/utils/libcxx/test/android.py
  libcxx/utils/libcxx/test/features.py
  libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
  libcxxabi/test/test_demangle.pass.cpp
  libunwind/cmake/caches/Android.cmake
  llvm/utils/lit/lit/TestingConfig.py
  runtimes/cmake/android/Arch-arm.cmake
  runtimes/cmake/android/Arch-arm64.cmake
  runtimes/cmake/android/Arch-x86.cmake
  runtimes/cmake/android/Arch-x86_64.cmake
  runtimes/cmake/android/Common.cmake



More information about the llvm-commits mailing list