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