summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.h22
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/armelf_oabi.em3
4 files changed, 29 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index eb179d9d1b..4d4ed46307 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-16 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
+ around uses of R_ARM_TARGET1.
+ (elf32_arm_check_relocs): Likewise.
+
2004-09-13 Paul Brook <paul@codesourcery.com>
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index ac3ec95be3..93140454d2 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -2759,7 +2759,9 @@ elf32_arm_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
case R_ARM_ABS32:
case R_ARM_REL32:
+#ifndef OLD_ARM_ABI
case R_ARM_TARGET1:
+#endif
case R_ARM_PC24:
case R_ARM_PLT32:
r_symndx = ELF32_R_SYM (rel->r_info);
@@ -2775,8 +2777,10 @@ elf32_arm_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
h->plt.refcount -= 1;
if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
- || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32
- || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1)
+#ifndef OLD_ARM_ABI
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1
+#endif
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
{
eh = (struct elf32_arm_link_hash_entry *) h;
@@ -2887,7 +2891,9 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_ARM_ABS32:
case R_ARM_REL32:
+#ifndef OLD_ARM_ABI
case R_ARM_TARGET1:
+#endif
case R_ARM_PC24:
case R_ARM_PLT32:
if (h != NULL)
@@ -2930,8 +2936,10 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
&& (sec->flags & SEC_ALLOC) != 0
&& ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24
&& ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32
- && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32
- && ELF32_R_TYPE (rel->r_info) != R_ARM_TARGET1)
+#ifndef OLD_ARM_ABI
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_TARGET1
+#endif
+ && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32)
|| (h != NULL
&& (! info->symbolic
|| (h->elf_link_hash_flags
@@ -3016,8 +3024,10 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
}
if (ELF32_R_TYPE (rel->r_info) == R_ARM_ABS32
- || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32
- || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1)
+#ifndef OLD_ARM_ABI
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_TARGET1
+#endif
+ || ELF32_R_TYPE (rel->r_info) == R_ARM_REL32)
p->count += 1;
}
break;
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c36ee745c3..5114aa7988 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-16 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/armelf_oabi.em (before_allocation): Add extra zero param
+ to bfd_elf32_arm_process_before_allocation call.
+
2004-09-13 Paul Brook <paul@codesourcery.com>
* emulparams/armsymbian.sh: Set TARGET1_IS_REL.
diff --git a/ld/emultempl/armelf_oabi.em b/ld/emultempl/armelf_oabi.em
index 8ff2ad1353..64f908ac16 100644
--- a/ld/emultempl/armelf_oabi.em
+++ b/ld/emultempl/armelf_oabi.em
@@ -68,7 +68,8 @@ gld${EMULATION_NAME}_before_allocation (void)
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
{
- if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info, 0, 0))
+ if (!bfd_elf32_arm_process_before_allocation (is->the_bfd, &link_info,
+ 0, 0, 0))
{
/* xgettext:c-format */
einfo (_("Errors encountered processing file %s"), is->filename);
OpenPOWER on IntegriCloud