[libc-commits] [libc] [llvm] [libc][OSUtil] refactor quick_exit to be an object library everywhere (PR #85955)

Joseph Huber via libc-commits libc-commits at lists.llvm.org
Tue Mar 26 14:36:26 PDT 2024


jhuber6 wrote:

> Hi this patch breaks `runtimes-armv6m-unknown-eabi` build with error message:
> 
> ```
> [58/398](61) Building CXX object libc/src/__support/OSUtil/baremetal/CMakeFiles/libc.src.__support.OSUtil.baremetal.baremetal_util.dir/quick_exit.cpp.obj
> FAILED: libc/src/__support/OSUtil/baremetal/CMakeFiles/libc.src.__support.OSUtil.baremetal.baremetal_util.dir/quick_exit.cpp.obj 
> /b/s/w/ir/x/w/llvm_build/./bin/clang++ --target=armv6m-unknown-eabi -DLIBC_NAMESPACE=__llvm_libc_19_0_0_git -I/b/s/w/ir/x/w/llvm-llvm-project/libc -isystem /b/s/w/ir/x/w/llvm_build/include/armv6m-unknown-eabi --target=armv6m-unknown-eabi -mcpu=cortex-m0plus -mthumb -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build/runtimes/runtimes-armv6m-unknown-eabi-bins=../../../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -O2 -g -DNDEBUG -std=gnu++17 -UNDEBUG --target=armv6m-unknown-eabi -fpie -ffreestanding -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/__support/OSUtil/baremetal/CMakeFiles/libc.src.__support.OSUtil.baremetal.baremetal_util.dir/quick_exit.cpp.obj -MF libc/src/__support/OSUtil/baremetal/CMakeFiles/libc.src.__support.OSUtil.baremetal.baremetal_util.dir/quick_exit.cpp.obj.d -o libc/src/__support/OSUtil/baremetal/CMakeFiles/libc.src.__support.OSUtil.baremetal.baremetal_util.dir/quick_exit.cpp.obj -c /b/s/w/ir/x/w/llvm-llvm-project/libc/src/__support/OSUtil/baremetal/quick_exit.cpp
> /b/s/w/ir/x/w/llvm-llvm-project/libc/src/__support/OSUtil/baremetal/quick_exit.cpp:12:1: error: an attribute list cannot appear here
>    12 | [[noreturn]] extern "C" void __llvm_libc_quick_exit(int status);
>       | ^~~~~~~~~~~~
> 1 error generated.
> ```
> 
> Failed build: https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8752376881927918433/overview Full stdout: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8752376881927918433/+/u/clang/build/stdout Could you revert the change, fix it and reland it please?

Let me know if https://github.com/llvm/llvm-project/commit/630283c38bce9ec188c96ddb90b8251afc2b3d8e fixes it.

https://github.com/llvm/llvm-project/pull/85955


More information about the libc-commits mailing list