ea8f4b98419750c8cc7c60ea43b570adf47b3f78 broke some build configurations
because it was enabled by default and some people are using a just built
libc/clang/LLVM to work on other projects where having a just built LLVM
libc in one of Clang's default include directories can make things
unusable.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
@goldstein.w.n reported this failure with full build mode after this patch:
$> echo "int main() {}" > tmp.c && ./bin/clang tmp.c -o tmp /bin/ld: /lib/x86_64-linux-gnu/Scrt1.o: in function `_start': (.text+0x21): undefined reference to `__libc_start_main' clang: error: linker command failed with exit code 1 (use -v to see invocation)
As far as I understand it, the previous patch also moved the full build libc.a and libm.a into the build/lib/<target triple> directory, so clang would try and link against the full built LLVM libc there by default instead of the system libc, causing build failures. It didn't break the overlay mode because llvmlibc.a needs to be explicitly linked against.
In addition it seems to make more sense to keep this gated behind a flag even just for the overlay mode as LLVM libc matures further.