The test binaries are built like any other executable but with two
additional linker options -static and -nostdlib.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
libc/cmake/modules/LLVMLibCTestRules.cmake | ||
---|---|---|
506–511 | Should we use -nostdinc as well? Or do we still expect to pick up some system libraries. |
libc/cmake/modules/LLVMLibCTestRules.cmake | ||
---|---|---|
506–511 | Our libc does not [yet] provide the free standing headers like stddef.h and stdint.h. Using -nostdinc eliminates the paths to the compiler's freestanding headers also. So, we cannot [yet] use -nostdinc. |
libc/cmake/modules/LLVMLibCTestRules.cmake | ||
---|---|---|
506–511 | Alright, we can update this when libc is fully self supported. |
- Improve the formatting of the code.
- Collect all deps in to a static archive which gets linked to the final binary.
libc/cmake/modules/LLVMLibCTestRules.cmake | ||
---|---|---|
450 | Is it possible to make these dependencies transitive on the start implementation? Since presumably these are only required to implement the corresponding crt1.o and friends. For the GPU we wouldn't use any of these. |
libc/cmake/modules/LLVMLibCTestRules.cmake | ||
---|---|---|
450 | Yes, that can be done. I can do that separately. |
Is it possible to make these dependencies transitive on the start implementation? Since presumably these are only required to implement the corresponding crt1.o and friends. For the GPU we wouldn't use any of these.