GNU linker on mips

Ian Lance Taylor ian@cygnus.com
Thu Feb 4 19:28:00 GMT 1999


   Date: Wed, 3 Feb 1999 13:03:47 +0100
   From: ralf@uni-koblenz.de

   On Tue, Feb 02, 1999 at 09:37:17PM -0500, Ian Lance Taylor wrote:

   > I don't know of any system which uses a zero value for __start.  Most
   > systems protect the zero page to catch null pointer dereferences.  Why
   > do you expect __start to be zero?  What sorts of problems are you
   > seeing?

   Sorry, braino on my side.  I meant SHLIB_TEXT_START_ADDR, not __start.  MIPS
   systems typically use 0x5ffe0000, not zero and that triggered kernel bugs,
   glibc bugs and some undesireable behaviour in the Linux kernel, glibc dynamic
   linker and others I forgot.  It did not trigger any bfd / gas / binutils bugs.

Ah.  I don't know why SHLIB_TEXT_START_ADDR should be anything other
than zero.  It seems to me that making it zero is a bit more natural
for the RELATIVE relocs, but I don't think MIPS ELF has a RELATIVE
reloc anyhow, and of course it shouldn't really matter anyhow.

If it is more convenient for the Linux kernel to make
SHLIB_TEXT_START_ADDR 0 for MIPS GNU/Linux, then I can't see any
reason not to do it.

Ian



More information about the Gas2 mailing list