linux-mips
[Top] [All Lists]

Re: Clean up the mips dynamic linker

To: "H . J . Lu" <hjl@lucon.org>
Subject: Re: Clean up the mips dynamic linker
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Fri, 13 Jul 2001 11:26:36 +0200
Cc: linux-mips@oss.sgi.com, GNU C Library <libc-alpha@sourceware.cygnus.com>
In-reply-to: <20010712182402.A10768@lucon.org>; from hjl@lucon.org on Thu, Jul 12, 2001 at 06:24:02PM -0700
References: <20010712182402.A10768@lucon.org>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5i
On Thu, Jul 12, 2001 at 06:24:02PM -0700, H . J . Lu wrote:

> In fact, DT_MIPS_MAP_BASE_ADDR is the same as the p_addr field of the
> first loadable segment in the program header. I think it is included
> in the MIPS ABI to give the dynamic linker easy access to it.

Afair there is no requirement for loadable segments to be sorted so you'd
have to go through all the program header table to find the one with the
lowest address which isn't necessarily the first segment.

As the ABI doesn't give any guarantee that the lowest address in the segment
table is the value of DT_MIPS_BASE_ADDR I just tried to find a binary on
my IRIX boxen that violates this rule but I didn't find any.  So please,
go ahead.

> I have tested DSOs with none-zero DT_MIPS_MAP_BASE_ADDR. It works
> fine. I think it is safe to remove MAP_BASE_ADDR and old binaries
> will work with the new glibc. If someone thinks I am wrong, please
> send me a testcase to show it.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>