From owner-freebsd-hackers Thu Oct 22 16:30:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA22302 for freebsd-hackers-outgoing; Thu, 22 Oct 1998 16:30:43 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from george.lbl.gov (george.lbl.gov [131.243.2.12]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA22296; Thu, 22 Oct 1998 16:30:40 -0700 (PDT) (envelope-from jin@george.lbl.gov) Received: (from jin@localhost) by george.lbl.gov (8.8.8/8.8.8) id QAA08606; Thu, 22 Oct 1998 16:30:10 -0700 (PDT) Date: Thu, 22 Oct 1998 16:30:10 -0700 (PDT) From: Jin Guojun (FTG staff) Message-Id: <199810222330.QAA08606@george.lbl.gov> To: mike@smith.net.au Subject: Re: ld for loading dynamic library changed in 3.0-RELEASE? Cc: hackers@FreeBSD.ORG, jdp@FreeBSD.ORG Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > The testing library is ccs which is out there for many years. > > It has been used for SGI, DEC, SunOS4, Solaris, Solaris x86, > > FreeBSD 1.x - 2.x, BSD/OS 2.x - 4.0, Linux 2.0.x - 2.1.x. > > > > This is the first time failed to link programs under FreeBSD 3.0, > > so I created simple files a.c b.c c.c for testing. > > I thought this may be related to -aout options; but after -static > > flag is suceeded, I believe the problem is directly related to "ld". > > It is not related to ar or tsort because a b c are very simple files > > and -static flag for ld will resolve the symbol issue. > > Er, hang on a moment. Are you linking with -aout? You didn't show this > in your examples. If you use -aout, you're using the old linker, which > is (AFAIK) exactly the same as it was in 2.2. No, I did NOT use "-aout". If I use -aout, I got this: ar cr libtest.a `lorder a.o b.o c.o | tsort`; /usr/libexec/elf/nm: a.o: File format not recognized /usr/libexec/elf/nm: b.o: File format not recognized /usr/libexec/elf/nm: c.o: File format not recognized mv libtest.a /usr/local/lib ranlib /usr/local/lib/libtest.a The errors are from lorder, but library was built, and cc worked. Also, I just found another problem for elf/ld that does not use ENV variable LD_LIBRARY_PATH. If -Lsomething is not specified, the elf/ld just look at /usr/lib, regardless what LD_LIBRARY_PATH set to. -Jin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message