On 9/9/26 1:36 PM, John David Anglin wrote:

Wasn't aware of that but the 32-bit HP-UX port is dead.  I've tested change 
with 64-bit HP-UX and it
was okay.  It also works okay on 32-bit linux with GNU ld.
Yea, wouldn't be at all surprised that this was fixed in the ELF based ABIs.  I don't recall any requirements of this nature for the 64 bit ABI and I believe the 32 bit Linux ABI was an obvious derivative of the 64 bit ABI.

The 32-bit GNU linux linker doesn't do this although it does change r19 to dp 
in non PIC links with
PIC objects.  I have a linker patch which I hope will allow it to perform this 
substitution with a ldil/addl
sequence but it needs testing with modified gcc.  The reason the ldil/addl 
sequence isn't supported is that
it's hard to find the addl if the two instructions are separated.
Yup.  IIRC it was easy to handle in the addil/addl sequence because you just had to change the addil to use %r0 as the source register instead of %r27.  To do the same with the ldil/addl sequence you have to go find the addl and adjust that instead.

Hell if I can remember any more details.

Jeff

Reply via email to