aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf64-ppc.c10
2 files changed, 9 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 87de4f2..e706935 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2002-01-16 Alan Modra <amodra@bigpond.net.au>
+ * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
+ (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
+ (ORI_R0_R0_0): Correct.
+
+2002-01-16 Alan Modra <amodra@bigpond.net.au>
+
* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
when plt_not_loaded.
* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 7f2f0c4..1380e0d 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -145,7 +145,7 @@ static boolean ppc64_elf_finish_dynamic_sections
/* After that, we need two instructions to load the index, followed by
a branch. */
#define LIS_R0_0 0x3c000000 /* lis %r0,0 */
-#define ORI_R0_R0_0 0x60008000 /* ori %r0,%r0,0 */
+#define ORI_R0_R0_0 0x60000000 /* ori %r0,%r0,0 */
/* Relocation HOWTO's. */
static reloc_howto_type *ppc64_elf_howto_table[(int) R_PPC_max];
@@ -550,8 +550,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
0xffffffff, /* dst_mask */
true), /* pcrel_offset */
- /* 32-bit relocation to the symbol's procedure linkage table.
- FIXME: R_PPC64_PLT32 not supported. */
+ /* 32-bit relocation to the symbol's procedure linkage table. */
HOWTO (R_PPC64_PLT32, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
@@ -819,7 +818,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
true), /* pcrel_offset */
/* 64-bit relocation to the symbol's procedure linkage table. */
- /* FIXME: R_PPC64_PLT64 not supported. */
HOWTO (R_PPC64_PLT64, /* type */
0, /* rightshift */
4, /* size (0=byte, 1=short, 2=long, 4=64 bits) */
@@ -1307,9 +1305,7 @@ ppc64_elf_reloc_type_lookup (abfd, code)
break;
case BFD_RELOC_HI16_S_BASEREL: ppc_reloc = R_PPC64_SECTOFF_HA;
break;
- /* FIXME: Is CTOR 32 or 64 bits? Fix md_apply_fix3 in
- gas/config/tc-ppc.c too. */
- case BFD_RELOC_CTOR: ppc_reloc = R_PPC64_ADDR32;
+ case BFD_RELOC_CTOR: ppc_reloc = R_PPC64_ADDR64;
break;
case BFD_RELOC_64: ppc_reloc = R_PPC64_ADDR64;
break;