Author: Hubert Tong Date: 2022-07-08T18:33:16-04:00 New Revision: bd8b55e609c825f1063a28ef94502a6bfed7a0fd
URL: https://github.com/llvm/llvm-project/commit/bd8b55e609c825f1063a28ef94502a6bfed7a0fd DIFF: https://github.com/llvm/llvm-project/commit/bd8b55e609c825f1063a28ef94502a6bfed7a0fd.diff LOG: [AIX][clang/test] Set/propagate AIXTHREAD_STK for AIX Some tests perform deep recursion, which requires a larger pthread stack size than the relatively low default of 192 KiB for 64-bit processes on AIX. The `AIXTHREAD_STK` environment variable provides a non-intrusive way to request a larger pthread stack size for the tests. The required pthread stack size depends on the build configuration. A 4 MiB default is generous compared to the 512 KiB of macOS; however, it is known that some compilers on AIX produce code that uses comparatively more stack space. This patch expands the solution from D65688 to apply to all Clang LIT tests. This also reverts commit c3c75d805c2174388417080f762230961b3433d6, "[clang][test] Mark test arm-float-abi-lto.c unsupported on AIX". The problem was caused by the test running up against the per-thread stack limit on AIX. This is resolved by having the tests run with `AIXTHREAD_STK` set for 4 MiB. Reviewed By: xingxue Differential Revision: https://reviews.llvm.org/D129165 Added: Modified: clang/test/Driver/arm-float-abi-lto.c clang/test/lit.cfg.py Removed: clang/test/Index/lit.local.cfg ################################################################################ diff --git a/clang/test/Driver/arm-float-abi-lto.c b/clang/test/Driver/arm-float-abi-lto.c index bde61ce16441b..8b6d8ff6b5d7a 100644 --- a/clang/test/Driver/arm-float-abi-lto.c +++ b/clang/test/Driver/arm-float-abi-lto.c @@ -1,5 +1,3 @@ -// FIXME: Produces a segmentation fault on AIX after the introduction of opaque pointers (D125847). -// UNSUPPORTED: system-aix // REQUIRES: arm-registered-target // RUN: %clang --target=arm-none-eabi -mcpu=cortex-m33 -mfloat-abi=hard -O1 %s -S -o - -emit-llvm -DCALL_LIB -DDEFINE_LIB | FileCheck %s diff --git a/clang/test/Index/lit.local.cfg b/clang/test/Index/lit.local.cfg deleted file mode 100644 index fb7d197d82388..0000000000000 --- a/clang/test/Index/lit.local.cfg +++ /dev/null @@ -1,12 +0,0 @@ -import platform - -# Some tests perform deep recursion, which requires a larger pthread stack size -# than the relatively low default of 192 KiB for 64-bit processes on AIX. The -# `AIXTHREAD_STK` environment variable provides a non-intrusive way to request -# a larger pthread stack size for the tests. Various applications and runtime -# libraries on AIX use a default pthread stack size of 4 MiB, so we will use -# that as a default value here. -if 'AIXTHREAD_STK' in os.environ: - config.environment['AIXTHREAD_STK'] = os.environ['AIXTHREAD_STK'] -elif platform.system() == 'AIX': - config.environment['AIXTHREAD_STK'] = '4194304' diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py index fd86353c8cc36..d95ea5d2da198 100644 --- a/clang/test/lit.cfg.py +++ b/clang/test/lit.cfg.py @@ -264,3 +264,13 @@ def exclude_unsupported_files_for_aix(dirname): '/ASTMerge/anonymous-fields', '/ASTMerge/injected-class-name-decl'): exclude_unsupported_files_for_aix(config.test_source_root + directory) +# Some tests perform deep recursion, which requires a larger pthread stack size +# than the relatively low default of 192 KiB for 64-bit processes on AIX. The +# `AIXTHREAD_STK` environment variable provides a non-intrusive way to request +# a larger pthread stack size for the tests. Various applications and runtime +# libraries on AIX use a default pthread stack size of 4 MiB, so we will use +# that as a default value here. +if 'AIXTHREAD_STK' in os.environ: + config.environment['AIXTHREAD_STK'] = os.environ['AIXTHREAD_STK'] +elif platform.system() == 'AIX': + config.environment['AIXTHREAD_STK'] = '4194304' _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits