Subject: Re: ld is noisy
To: maximum entropy <entropy@tardis.bernstein.com>
From: Brian D Chase <bdc@world.std.com>
List: port-vax
Date: 10/28/1999 16:04:37
On Thu, 28 Oct 1999, maximum entropy wrote:
> On Thu, 28 Oct 1999 10:18:16 -0400 (EDT) I wrote:

> >This is also very noisy on the vax.  Should another explicit exception
> >be added for __vax__, or should that "&& 1" become "&& DEBUG" to make
> >it shut up?  Or is there some reason why this output is desirable?
> 
> Disregard this for now...it looks like my "as" and/or "ld" binaries
> were very broken.  I reinstalled them from the 1.4.1 binary
> distribution and I'm rebuilding the system now.  I'll have a better
> idea if there's really a problem here when the build completes.

I asked about this on tech-toolchain in May.  The following is the
collection of responses I received:

---
>Subject: Re: Messages from NetBSD/vax 1.4 ld
>To: Todd Vierling , Brian D Chase <bdc@world.std.com>
>From: Matt Thomas <matt@3am-software.com>
>List: tech-toolchain
>Date: 05/30/1999 20:33:32 

At 04:41 PM 5/30/99 , Todd Vierling wrote:
>On Sun, 30 May 1999, Brian D Chase wrote:
>
>: Can anyone explain these types of output messages from the NetBSD/vax 1.4
>: linker?  They just appear to be informational messages from the linker,
>: but some of the larger compiles I've run generate a lot them.  I'm almost
>: guessing that these were probably included for the sake of debugging the
>: recent addition of support for dynamic libraries to the VAX port and
>: perhaps don't need to be present in the distributed version of ld.
>: 
>:  ld: to_wfont.o: RRS text relocation at 0x1865 for "___sF" 
>:  ld: to_wfont.o: RRS text relocation at 0x1ba5 for "___sF"
>:  ld: lex.o: RRS text relocation at 0x2f88 for "___sF"
>:  ld: lex.o: RRS text relocation at 0x3c04 for "___sF"
>:
>: Any clues as to making ld more quiet?
>
>No, this is because one of the following are happening, and it has always
>happened with the a.out linker when linking shared objects:
>
>- code is not compiled "-fpic" or "-fPIC", so function and variable accesses
>  are not routed through the GOT
>
>- global pointer variables are initialized with pointers to functions or
>  other variables

Actually, for the VAX case, neither of these are the problem.  The problem
is that a.out ld doesn't multiple addend reloc's for the same symbol.
When the VAX port switched to ELF (someday) they will disappear.
-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL: http://www.3am-software.com/bio/matt/
Sunnyvale, CA             Disclaimer: I avow all knowledge of this message