This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: bug-report: ld: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Stefaan <stefaandr at hotmail dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 21 Jan 2004 10:46:29 -0500
- Subject: Re: bug-report: ld: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
- References: <Pine.LNX.4.44.0401211115490.29227-100000@lea>
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