Subject: Re: Messages from NetBSD/vax 1.4 ld
To: Brian D Chase <bdc@world.std.com>
From: Todd Vierling <tv@pobox.com>
List: tech-toolchain
Date: 05/30/1999 19:41:54
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.

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

The first is a big no-no.  The second is iffy, but should be avoided where
possible.

Thwe warnings tell you that, at runtime, the RRS relocations will cause
"run-time relocation" of these pointers, which involves making private
copies of the affected pages on a per-process basis (which degrades
performance and increases memory use).

-- 
-- Todd Vierling (Personal tv@pobox.com; Bus. todd_vierling@xn.xerox.com)