bfd/
authorRichard Sandiford <rdsandiford@googlemail.com>
Thu, 2 Mar 2006 09:44:23 +0000 (09:44 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Thu, 2 Mar 2006 09:44:23 +0000 (09:44 +0000)
* elf32-ppc.c (is_ppc_elf_target): Return true if the target is
bfd_elf32_powerpc_vxworks_vec.

ld/testsuite/
* ld-i386/vxworks1.ld (.data): New section.
* ld-i386/vxworks1-lib.s: Add a pointer to a local symbol.
* ld-i386/vxworks1-lib.rd: Test for the associated reloc.
* ld-powerpc/vxworks1.ld (.data): New section.
* ld-powerpc/vxworks1-lib.s: Add a pointer to a local symbol.
* ld-powerpc/vxworks1-lib.rd: Test for the associated reloc.

bfd/ChangeLog
bfd/elf32-ppc.c
ld/testsuite/ChangeLog
ld/testsuite/ld-i386/vxworks1-lib.rd
ld/testsuite/ld-i386/vxworks1-lib.s
ld/testsuite/ld-i386/vxworks1.ld
ld/testsuite/ld-powerpc/vxworks1-lib.rd
ld/testsuite/ld-powerpc/vxworks1-lib.s
ld/testsuite/ld-powerpc/vxworks1.ld

index 5f3191ced2effe907ffd5a6b6679c1aaaa034789..1797c8451d007a01afdf3286c9f888ae7c2c0fbc 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+       * elf32-ppc.c (is_ppc_elf_target): Return true if the target is
+       bfd_elf32_powerpc_vxworks_vec.
+
 2006-03-02  Nick Clifton  <nickc@redhat.com>
 
        * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'.
index 68cead29e05a3f4e833cc2d9e50b085c1925d915..b3d8308fb072527ca0b029fe60b069b569d609ad 100644 (file)
@@ -2679,9 +2679,12 @@ static bfd_boolean
 is_ppc_elf_target (const struct bfd_target *targ)
 {
   extern const bfd_target bfd_elf32_powerpc_vec;
+  extern const bfd_target bfd_elf32_powerpc_vxworks_vec;
   extern const bfd_target bfd_elf32_powerpcle_vec;
 
-  return targ == &bfd_elf32_powerpc_vec || targ == &bfd_elf32_powerpcle_vec;
+  return (targ == &bfd_elf32_powerpc_vec
+         || targ == &bfd_elf32_powerpc_vxworks_vec
+         || targ == &bfd_elf32_powerpcle_vec);
 }
 
 /* Hook called by the linker routine which adds symbols from an object
index b3a93ad81487b1bb8e732943498cb7f09feedfe5..a7dabafefe5c3c734d2e97789e563d5300f15df9 100644 (file)
@@ -1,3 +1,12 @@
+2006-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+       * ld-i386/vxworks1.ld (.data): New section.
+       * ld-i386/vxworks1-lib.s: Add a pointer to a local symbol.
+       * ld-i386/vxworks1-lib.rd: Test for the associated reloc.
+       * ld-powerpc/vxworks1.ld (.data): New section.
+       * ld-powerpc/vxworks1-lib.s: Add a pointer to a local symbol.
+       * ld-powerpc/vxworks1-lib.rd: Test for the associated reloc.
+
 2006-03-02  Richard Sandiford  <richard@codesourcery.com>
 
        * ld-i386/ld-i386/vxworks1-lib.nd: New test.
index c86ec1d662a54a4640852183d90a01dc5f816b36..ab567b6e72e5765bc6db20fa2979ec7f1bc83b9d 100644 (file)
@@ -4,8 +4,9 @@ Relocation section '\.rel\.plt' at offset .* contains 2 entries:
 0008140c  .*07 R_386_JUMP_SLOT   00000000   sexternal
 00081410  .*07 R_386_JUMP_SLOT   00080c27   sglobal
 
-Relocation section '\.rel\.dyn' at offset .* contains 3 entries:
+Relocation section '\.rel\.dyn' at offset .* contains 4 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name
+00081c00  00000008 R_386_RELATIVE *
 00080c03  .*01 R_386_32          00000000   __GOTT_BASE__
 00080c09  .*01 R_386_32          00000000   __GOTT_INDEX__
 00081414  .*06 R_386_GLOB_DAT    00081800   x
index d2bbac074daebbf3fa0597355d94ba7c5bb36b7c..f9f05dc2ec3ef2a0622a75bd0e316d0d84c967f2 100644 (file)
@@ -25,4 +25,7 @@ sglobal:
        ret
        .size   sglobal, .-sglobal
 
+       .data
+       .4byte  slocal
+
        .comm   x,4,4
index 4e31523f7e24f3bfd9feef23d6a21919200df43d..ff25b39a540a7191fdc748b24ddd43aa274d68b7 100644 (file)
@@ -24,4 +24,7 @@ SECTIONS
 
   . = ALIGN (0x400);
   .bss : { *(.bss) *(.dynbss) }
+
+  . = ALIGN (0x400);
+  .data : { *(.data) }
 }
index 17087f1bf570b310dbedb6572a0195c903f327b8..2aaf8783a160a19f877ecf344a478e026dfb311f 100644 (file)
@@ -4,8 +4,9 @@ Relocation section '\.rela\.plt' at offset .* contains 2 entries:
 0008140c  .*15 R_PPC_JMP_SLOT    00000000   sexternal \+ 0
 00081410  .*15 R_PPC_JMP_SLOT    00080c48   sglobal \+ 0
 
-Relocation section '\.rela\.dyn' at offset .* contains 4 entries:
+Relocation section '\.rela\.dyn' at offset .* contains 5 entries:
  Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
+00081c00  00000016 R_PPC_RELATIVE * 00080c44
 00080c0e  .*06 R_PPC_ADDR16_HA   00000000   __GOTT_BASE__ \+ 0
 00080c12  .*04 R_PPC_ADDR16_LO   00000000   __GOTT_BASE__ \+ 0
 00080c16  .*03 R_PPC_ADDR16      00000000   __GOTT_INDEX__ \+ 0
index 8e286c17e14b533b83fc6a03e0dc1c49ded025d0..9dfcb0fe364a25c06360dc5596dbc2669e725feb 100644 (file)
@@ -32,4 +32,7 @@ sglobal:
        blr
        .size   sglobal, .-sglobal
 
+       .data
+       .4byte  slocal
+
        .comm   x,4,4
index 540e0ebe5b996997604925fda4d586d11016afd1..69fe0446e3ebb445d645f3fe050b2aeebd7d7d28 100644 (file)
@@ -24,4 +24,7 @@ SECTIONS
 
   . = ALIGN (0x400);
   .bss : { *(.bss) }
+
+  . = ALIGN (0x400);
+  .data : { *(.data) }
 }