This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is DT_TEXTREL supposed to be supported on s390 31-bit or not?


On Wed, Dec 16, 2009 at 05:43:54PM +0100, Martin Schwidefsky wrote:
> On Wed, 16 Dec 2009 16:56:35 +0100
> Jakub Jelinek <jakub@redhat.com> wrote:
> 
> > While DT_TEXTREL libraries are clearly unsupported on many architectures and
> > on some even ld fails to link them, s390 31-bit (unlike 64-bit) DT_TEXTREL
> > libraries used to work.  But apparently only when targetting old CPUs, with
> > say -march=z900 or newer relocations like R_390_PC32DBL are created and
> > ld.so (nor prelink) handles them.
> > So my question is, do we just want to say that DT_TEXTREL on s390 31-bit is
> > not supported at all, or do we want to handle the relocations that can
> > appear in -fno-pic 31-bit libraries?
> 
> DT_TEXTREL on 64-bit is not supported because of weak global symbols and
> the limitation of the LARL instruction to a 4GB range. 
> 
> DT_TEXTREL on 31-bit used to work fine though and I can't see a reason
> why it should not work on newer CPUs. With -march=z900 the compiler
> will use LARL to get the address of global symbols, but the library will
> be loaded below 4GB. That should work.

If so, can you please figure out what relocations might be needed
by -m31 -march=z900 (or later) code and add support for those relocs into
sysdeps/s390/s390-32/dl-machine.h ?  R_390_PC32DBL is the only one I've
noticed during prelink checking, but that doesn't mean it isn't the only
one.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]