================ @@ -0,0 +1,25 @@ + +set(CMAKE_EXE_LINKER_FLAGS "-lclang_rt.builtins-hexagon -nostdlib" CACHE STRING "") +set(CMAKE_SHARED_LINKER_FLAGS "-lclang_rt.builtins-hexagon -nostdlib" CACHE STRING "") ---------------- androm3da wrote:
The first failure encountered when I remove these is related to `C_SUPPORTS_NODEFAULTLIBS_FLAG`. And I think it's `llvm_check_compiler_linker_flag(C "-nodefaultlibs" C_SUPPORTS_NODEFAULTLIBS_FLAG)` from `llvm-project/libunwind/cmake/config-ix.cmake` failing. Sorry if I'm being dense here but if the compiler feature test tries to build an executable using `-nodefaultlibs` but without providing the necessary libraries to satisfy a trivial C executable, wouldn't we expect it to fail? I mean, I guess other compilers must be succeeding here, so I'll have to try and understand how. Or maybe it could be that `-nodefaultlibs` is mishandled by the hexagon driver? I guess I'd figure it would remove at least `-lc` though, which seems like it should fail something like this. ``` Change Dir: /local/mnt/workspace/upstream/toolchain_for_hexagon/obj_libs/CMakeFiles/CMakeScratch/TryCompile-z4nhCq Run Build Command(s):/pkg/qct/software/ninja/1.8.2/ninja cmTC_11433 && [1/2] Building C object CMakeFiles/cmTC_11433.dir/src.c.o [2/2] Linking C executable cmTC_11433 FAILED: cmTC_11433 : && /local/mnt/workspace/upstream/toolchain_for_hexagon/clang+llvm-19.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/hexagon-unknown-linux-musl-clang --target=hexagon-unknown-linux-musl -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections --start-no-unused-arguments --unwindlib=none --end-no-unused-arguments -nodefaultlibs CMakeFiles/cmTC_11433.dir/src.c.o -o cmTC_11433 && : ld.lld: error: undefined symbol: __libc_start_main >>> referenced by crt1.c >>> >>> /local/mnt/workspace/upstream/toolchain_for_hexagon/clang+llvm-19.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/../target/hexagon-unknown-linux-musl//usr/lib/crt1.o:(_start_c) >>> referenced by crt1.c >>> >>> /local/mnt/workspace/upstream/toolchain_for_hexagon/clang+llvm-19.0.0-cross-hexagon-unknown-linux-musl/x86_64-linux-gnu/bin/../target/hexagon-unknown-linux-musl//usr/lib/crt1.o:(_start_c) hexagon-unknown-linux-musl-clang: error: hexagon-ld command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. Source file was: int main(void) { return 0; } ``` https://github.com/llvm/llvm-project/pull/98712 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits