This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Is DT_TEXTREL supposed to be supported on s390 31-bit or not?
- From: Martin Schwidefsky <schwidefsky at de dot ibm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Andreas dot Krebbel at de dot ibm dot com, libc-alpha at sources dot redhat dot com
- Date: Wed, 16 Dec 2009 17:43:54 +0100
- Subject: Re: Is DT_TEXTREL supposed to be supported on s390 31-bit or not?
- References: <20091216155635.GA2831@sunsite.ms.mff.cuni.cz>
Hi Jakub,
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.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.