Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Oct 1998 16:41:33 -0700
From:      Mike Smith <mike@smith.net.au>
To:        Jin Guojun (FTG staff) <jin@george.lbl.gov>
Cc:        mike@smith.net.au, hackers@FreeBSD.ORG, jdp@FreeBSD.ORG
Subject:   Re: ld for loading dynamic library changed in 3.0-RELEASE? 
Message-ID:  <199810222341.QAA01927@dingo.cdrom.com>
In-Reply-To: Your message of "Thu, 22 Oct 1998 16:30:10 PDT." <199810222330.QAA08606@george.lbl.gov> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > > 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.

Ok, you should set OBJFORMAT=aout in the environment to get the "right" 
behaviour.  It would be useful to know if this works.

> 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.

Unless I'm mistake, LD_LIBRARY_PATH is a runtime, not linktime 
parameter.  Again, we're using the standard binutils linker, so 
behaviour here should be "standard".

-- 
\\  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?199810222341.QAA01927>