Date: Thu, 22 Oct 1998 15:40:38 -0700 From: Mike Smith <mike@smith.net.au> To: Jin Guojun (FTG staff) <jin@george.lbl.gov> Cc: jdp@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: ld for loading dynamic library changed in 3.0-RELEASE? Message-ID: <199810222240.PAA01466@dingo.cdrom.com> In-Reply-To: Your message of "Thu, 22 Oct 1998 15:06:50 PDT." <199810222206.PAA07047@george.lbl.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
I didn't notice you'd copied this to -bugs. It's probably not
warranted there.
> > > In loading a dynamic library, it loads entire library regardless
> > > if objects are used or not. I do not know if this is a bug or intended
> > > goal, but it does not make sense to build libraries at this point.
> >
> > I'm sorry, but you're not making yourself very clear here. Could you
> > explain a little more?
>
> Let's say libtest.so containing three (3) files a.c b.c c.c.
> a.c:
> a() { printf("a"); }
>
> b.c:
> b() { b_printf("b"); }
>
> c.c:
> c() { c_printf("c"); }
>
> make them into regular library libtest.a and shared library libtest.so.
>
> creating test file test.c:
>
> main()
> {
> a();
> }
>
> cc -o test test.c -ltest
>
> on all platforms, this cc will be successfully compiled and linked,
> but FreeBSD 3.0 complains :
When you say "on all platforms", which one(s) have you tested? I ask
simply because under 3.0 we are using the GNU Binutils, so this would
appear to be either optional behaviour, or a bug that we might have
introduced.
> libtest.so: Undefined symbol '_b_printf' referenced from text segment
> libtest.so: Undefined symbol '_c_printf' referenced from text segment
>
> However, "cc -o test test.c -static -ltest" is happy when no shared library
> is used.
>
> So, it looks like just for linking shared library.
This would be one for Mr Binutils. John?
--
\\ Sometimes you're ahead, \\ Mike Smith
\\ sometimes you're behind. \\ mike@smith.net.au
\\ The race is long, and in the \\ msmith@freebsd.org
\\ end it's only with yourself. \\ msmith@cdrom.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810222240.PAA01466>
