[all-commits] [llvm/llvm-project] 71c4b8: [crt][test] Add -no-pie to avoid wacky linking wit...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Fri Feb 25 20:42:05 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 71c4b8dfe1dd7c20242d303cd33cc022b7af9331
https://github.com/llvm/llvm-project/commit/71c4b8dfe1dd7c20242d303cd33cc022b7af9331
Author: Fangrui Song <i at maskray.me>
Date: 2022-02-26 (Sat, 26 Feb 2022)
Changed paths:
M compiler-rt/test/crt/ctor_dtor.c
Log Message:
-----------
[crt][test] Add -no-pie to avoid wacky linking with crt1.o if (musl || CLANG_DEFAULT_PIE_ON_LINUX)
This works with glibc crt1.o (its crt1.o is essentially Scrt1.o plus (if static
PIE is supported for the arch) _dl_relocate_static_pie) but looks wacky.
musl crt1.o is not built with an explicit -fno-pic/-fpie/-fpic. If it was built
with a non-default-pie GCC/Clang, the linker might complain about absolute
relocations referencing _init/_fini for the -pie link:
```
ld: error: relocation R_X86_64_32 cannot be used against symbol '_fini'; recompile with -fPIC
>>> defined in obj/crt/crt1.o
>>> referenced by crt1.c
>>> obj/crt/crt1.o:(_start_c)
```
More information about the All-commits
mailing list