This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
ppc64 ld and binary input
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sources dot redhat dot com
- Date: Thu, 7 Nov 2002 23:20:52 +1030
- Subject: ppc64 ld and binary input
powerpc64-linux-ld --format binary --oformat elf64-powerpc -r \
-T usr/initramfs_data.scr usr/initramfs_data.cpio.gz -o usr/initramfs_data.o
usr/initramfs_data.cpio.gz: compiled for a little endian system and target is big endian
bfd/ChangeLog
* elf64-ppc.c: Comment typo fixes.
(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
Committing mainline. Is it too late for the branch?
Index: bfd/elf64-ppc.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
retrieving revision 1.69
diff -u -p -r1.69 elf64-ppc.c
--- bfd/elf64-ppc.c 11 Oct 2002 12:59:06 -0000 1.69
+++ bfd/elf64-ppc.c 7 Nov 2002 12:43:46 -0000
@@ -1658,6 +1658,7 @@ ppc64_elf_merge_private_bfd_data (ibfd,
{
/* Check if we have the same endianess. */
if (ibfd->xvec->byteorder != obfd->xvec->byteorder
+ && ibfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN
&& obfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)
{
const char *msg;
@@ -1785,19 +1786,19 @@ struct ppc_dyn_relocs
ppc_stub_plt_branch:
Similar to the above, but a 24 bit branch in the stub section won't
reach its destination.
- . addis %r12,%r2,xxx@ha
- . ld %r11,xxx@l(%r12)
+ . addis %r12,%r2,xxx@toc@ha
+ . ld %r11,xxx@toc@l(%r12)
. mtctr %r11
. bctr
ppc_stub_plt_call:
Used to call a function in a shared library.
- . addis %r12,%r2,xxx@ha
+ . addis %r12,%r2,xxx@toc@ha
. std %r2,40(%r1)
- . ld %r11,xxx+0@l(%r12)
- . ld %r2,xxx+8@l(%r12)
+ . ld %r11,xxx+0@toc@l(%r12)
+ . ld %r2,xxx+8@toc@l(%r12)
. mtctr %r11
- . ld %r11,xxx+16@l(%r12)
+ . ld %r11,xxx+16@toc@l(%r12)
. bctr
*/
--
Alan Modra
IBM OzLabs - Linux Technology Centre