Subject: should gcc's LIB_SPEC include -lc when linking shared libraries?
To: None <tech-userlevel@netbsd.org>
From: J.T. Conklin <jtc@acorntoolworks.com>
List: tech-userlevel
Date: 03/09/2006 17:38:32
I work on an application which uses dlopen()-ed shared libraries for
strategied behavior.  Recently, we ran into a problem loading a *.so
that turned out to be caused by the fact that it hadn't been linked
against all it's requisite libraries.

To avoid this problem in the future, I tried passing -Wl,-z,defs to
the compiler when linking the *.so.  This complained about unresolved
references that would be satisfied by libc.so.  With current versions
of the linker, -lc could be wrapped by --as-needed / -no-as-needed so
the ELF DT_NEEDED tag wouldn't be added unless something from libc is
really used.

While I could explicitly pass -lc, it appears that other systems like
Linux pass -lc to the linker when -shared is used. 

Should NetBSD do the same?

    --jtc

-- 
J.T. Conklin