clang: error: cannot specify -o when generating multiple output files

From: Naresh Kamboju
Date: Mon Aug 21 2023 - 09:48:09 EST


Recently we have updated the toolchain clang-17 version.

While building selftests filesystems/binderfs, openat2, resctrl and x86
following warnings / errors noticed on the Linux next with clang-17.
But pass with gcc-13.

Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>

Build logs:
========
binderfs_test
clang: error: cannot specify -o when generating multiple output files
...
openat2/openat2_test
clang: error: cannot specify -o when generating multiple output files
...
resctrl/resctrl_tests
clang: error: cannot specify -o when generating multiple output files
...
make[4]: Entering directory 'tools/testing/selftests/x86'
clang --target=x86_64-linux-gnu -fintegrated-as
-Werror=unknown-warning-option -Werror=ignored-optimization-argument
-Werror=option-ignored -Werror=unused-command-line-argument
--target=x86_64-linux-gnu -fintegrated-as -m64 -o
/home/tuxbuild/.cache/tuxmake/builds/1/build/kselftest/x86/single_step_syscall_64
-O2 -g -std=gnu99 -pthread -Wall -isystem
/home/tuxbuild/.cache/tuxmake/builds/1/build/usr/include -no-pie
-DCAN_BUILD_64 single_step_syscall.c helpers.h -lrt -ldl
clang: error: cannot specify -o when generating multiple output files
make[4]: *** [Makefile:78:
/home/tuxbuild/.cache/tuxmake/builds/1/build/kselftest/x86/single_step_syscall_64]
Error 1


Links:
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2UHhSg0TPLhjp9Uq9EFceoQd0VL/
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230821/testrun/19213760/suite/kselftest-x86/test/shardfile-x86/details/
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230821/testrun/19213728/suite/kselftest-openat2/test/shardfile-openat2/details/
-

Steps to reproduce:
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2UHhSg0TPLhjp9Uq9EFceoQd0VL/tuxmake_reproducer.sh

tuxmake --runtime podman --target-arch x86_64 --toolchain clang-17
--kconfig https://storage.tuxsuite.com/public/linaro/lkft/builds/2UHhSg0TPLhjp9Uq9EFceoQd0VL/config
LLVM=1 LLVM_IAS=1 debugkernel cpupower headers kernel kselftest
modules


--
Linaro LKFT
https://lkft.linaro.org