Why clang/cc needs libgcc_s in 11.4-R
Jin Guojun[VFF]
jguojun at gmail.com
Sat Jun 20 04:50:20 UTC 2020
This looks like a clang issue since version 6 because there is
libgcc_s.so in /usr/lib, and it is a symlink to /lib/libgcc_s.so.1.
A number of discussions about this issue on the Internet, but no real
solution found.
Does anyone have an idea on how to work around this problem?
-Jin
ll /usr/lib/libgcc_s.so
lrwxr-xr-x 1 root wheel 23 Jun 12 11:28 /usr/lib/libgcc_s.so@ ->
../../lib/libgcc_s.so.1
ll /lib/libgcc_s.so.1
-r--r--r-- 1 root wheel 98912 Jun 12 11:28 /lib/libgcc_s.so.1
file /lib/libgcc_s.so.1
/lib/libgcc_s.so.1: ELF 64-bit LSB shared object, x86-64, version 1
(FreeBSD), statically linked, stripped
On 06/19/20 20:49, Jin Guojun[VFF] wrote:
> 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