bug-report: ld: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
Daniel Jacobowitz
drow@mvista.com
Wed Jan 21 15:46:00 GMT 2004
On Wed, Jan 21, 2004 at 11:22:34AM +0100, Stefaan wrote:
> Hi,
>
> I get the error
> "hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced
> by DSO"
> both on debian/unstable and redhat 9 with self-compiled binutils 2.14.
>
> I produce it with the following code:
> main.c:
> int main() {};
>
> libfile.c:
> #include <sys/stat.h>
> void func(void) {
> stat(0, 0);
> };
>
> gcc -o main.o -c main.c
> gcc -o libfile.o -c libfile.c
No, say gcc -fPIC -o libfile.o -c libfile.c.
> ld -o libmylib.so -shared libfile.o
Do not, ever, do that. Use gcc -shared -o libmylib.so libfile.o.
> gcc -o exec main.o -L. -lmylib
>
> The last command invokes ld and gives the error. I don't get this error
> when using binutils-2.13.2. I also got this error using the
> binutils-weekly.
The error message is new, the problem is not.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
More information about the Binutils
mailing list