This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [Question] patch-design for Solaris ld.so-startup
- To: Gert Ohme <ohme at dialeasy dot de>
- Subject: Re: [Question] patch-design for Solaris ld.so-startup
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Thu, 11 Oct 2001 19:18:02 +0200
- Cc: libc-alpha at sourceware dot cygnus dot com
- References: <10110111652.AA27168@dialeasy.de>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
On Thu, Oct 11, 2001 at 05:52:02PM +0100, Gert Ohme wrote:
> Hi,
>
> the file sysdeps/sparc/sparc32/dl-machine.h contains 2 assumptions,
> which makes it impossible to launch ld.so under Solaris.
I'd very much prefer if the sparc32/dl-machine.h code which cannot
be used on Solaris was moved to
sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/dl-machine.h
and
sysdeps/unix/sysv/linux/sparc/sparc32/dl-machine.h, which would in turn
#include <sysdeps/sparc/sparc32/dl-machine.h>.
That way it wouldn't be cluttered with the ugly #ifdefs.
> Assumption 2:
> dl-machine.h assumes that register %l7, at the time of startup,
> for all OS's contains the link-time address of _DYNAMIC.
Nope, it assumes that %l7 points to __GLOBAL_OFFSET_TABLE__.
And .got[0] has the link-time address of _DYNAMIC.
Does %l7 point on Solaris into the middle of .got instead?
With GNU ld or Solaris ld?
Jakub