This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Clean up the mips dynamic linker
- To: "H . J . Lu" <hjl at lucon dot org>
- Subject: Re: Clean up the mips dynamic linker
- From: Ralf Baechle <ralf at oss dot sgi dot com>
- Date: Fri, 13 Jul 2001 11:26:36 +0200
- Cc: linux-mips at oss dot sgi dot com, GNU C Library <libc-alpha at sourceware dot cygnus dot com>
- References: <20010712182402.A10768@lucon.org>
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