Why does it not use the sb register as per the ARM procedure call
standard? I guess this would be a non-trivial modification to
binutils/gcc?

        Cheers, Adam

On 12 Apr 2002, Philip Blundell wrote:

> On Fri, 2002-04-12 at 06:15, Adam 'WeirdArms' Wiggins wrote:
> >     A quick question. How do dynamic libraries on ARM Linux locate
> > their data segment, are all .data references relative to a register (sb
> > looks like it is for this purpose) or if a register contains the address
> > of the global offset table or what.
> >     The reason I ask is that currently the glibc seems to map the
> > text/data of dynamic libraries with one mapping which is then splits. For
> > some work I'm doing I'd like to map the .text and .data at arbitarily
> > different points in the processes address space.
>
> That won't work with existing libraries.  They depend on establishing a
> fixed offset between text and data during final link.  You can relocate
> the object in its entirety but you can't move bits of it around
> independently.
>
> ucLinux does something along the lines that you are suggesting.  One
> register is used as a static base pointer, which is set up by the kernel
> to point to the GOT or the start of .data.
>
> p.
>
>
> _______________________________________________
> http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
> http://www.arm.linux.org.uk/armlinux/mailinglists.php
> Please visit the above addresses for information on this list.
>


_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
http://www.arm.linux.org.uk/armlinux/mailinglists.php
Please visit the above addresses for information on this list.

Reply via email to