Why clang/cc needs libgcc_s in 11.4-R

Jin Guojun[VFF] jguojun at gmail.com
Sat Jun 20 03:49:53 UTC 2020


Just installed 11.4-R and try to build a shared library by passing 
relocation flag from cc -Wl,-r to ld, but ld complains -lgcc_s not found:

FBSD11: cc -Wl,-r -o libpixrect.so `lorder rast_mem.so rast_dump.so | tsort`
/usr/bin/ld: cannot find -lgcc_s
cc: error: linker command failed with exit code 1 (use -v to see invocation)

FBSD11: cc -Wl,-r,-v -v -o libpixrect.so `lorder rast_mem.so 
rast_dump.so | tsort`
FreeBSD clang version 10.0.0 (git at github.com:llvm/llvm-project.git 
llvmorg-10.0.0-0-gd32170dbd5b)
Target: x86_64-unknown-freebsd11.4
Thread model: posix
InstalledDir: /usr/bin
  "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 
--hash-style=both --enable-new-dtags -o libpixrect.so /usr/lib/crt1.o 
/usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -r -v rast_dump.so 
rast_mem.so -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc 
--as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
GNU ld 2.17.50 [FreeBSD] 2007-07-03
/usr/bin/ld: cannot find -lgcc_s

Why clang depends on gcc library?
Is any flag or ENV variable can overwrite this requirement?
If not, where can I get the libgcc_s?

Thanks in advance,
-Jin


More information about the freebsd-questions mailing list