From: kaz K. <kk...@rr...> - 2001-05-24 01:06:25
|
Hi, I'd like to report a problem of SH PIC ABI and changes of toolchain needed for it. Gcc usually uses r2 to pass the address of the returned structure when the structure valued function is called. On the other hand, current SH PLT code uses r0, r1 and r2. So such function never work in the shared library. This problem was reported by Yaegashi-san when he ported debian apt package. I've written new PLT codes which use r0 and r1 only. This needs a tiny change of the dynamic linker so to handle both old and new PLT codes. With this change, we can use the old and new binaries at the same time. This proposal was sent to the binutils mailing list and is approved. Of course, it's an additional change of SH PIC ABI. I've talked with Alexandre Oliva in Red Hat about this issue and he and I contacted with Hitachi America and Japan guys who are responsible for this change. They also approved it. I've posted a patch for the dynamic linker to the libc mailing list and it's approved now. So, when you try to update the binutils from the sources in mainline cvs and the SH local patch, please don't forget to update your libc too. If you use your own dynamic linker, you have to fix it slightly. Regards, kaz |