what is the difference between linking against gcc_s and gcc by means of LDFLAGS?
Is gcc_s a static library and gcc shared library?
Because I was looking for a solution where it is mentioned to link against gcc whereas only gcc_s works in my case. I wish to know the real difference.
<<hidden symbol `__name_here' in /some/library/path.a(_filename.o) is referenced by DSO
In this case, the problem is usually solved by adding either "-l gcc" or "gcc -print-libgcc-file-name" to the linking flags (LDFLAGS). However, unlike my other regular platforms (i386, amd64, sparc64) here it wasn't enough. After a lot of head-banging (to be fair, it also comes from the music) I realized that this flag is necessary both when linking the libc and the final executable file.
link: http://people.defora.org/~khorben/200903.html
libgcc_s.so is a shared library, libgcc.a is a static library. They are not equivalent; it may be necessary to link both. libgcc_s contains global variables which must not have multiple copies in a process; the code in libgcc is safe to link multiple times.
来源:https://stackoverflow.com/questions/4547384/difference-between-lgcc-s-and-gcc