aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-10-13 03:09:28 +0000
committerMark Mitchell <mark@codesourcery.com>2004-10-13 03:09:28 +0000
commit2a1b9a480accc2f7049279646ba33cd887eb3abe (patch)
tree729ae827b8fb94015c46b30d23b1ab266e438b29
parent09c112daa3a9b33a03b9272da7e9e19e8d63dc91 (diff)
downloadgdb-2a1b9a480accc2f7049279646ba33cd887eb3abe.zip
gdb-2a1b9a480accc2f7049279646ba33cd887eb3abe.tar.gz
gdb-2a1b9a480accc2f7049279646ba33cd887eb3abe.tar.bz2
* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
relocations use a virtual address, not a section offset.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-arm.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0ba2f6c..a820851 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-12 Mark Mitchell <mark@codesourcery.com>
+
+ * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
+ relocations use a virtual address, not a section offset.
+
2004-10-12 Bob Wilson <bob.wilson@acm.org>
* elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index c51cdeb..a74004d 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -3853,7 +3853,8 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd, struct bfd_link_info * info,
splt->contents + h->plt.offset + 4 * i);
/* Fill in the entry in the .rel.plt section. */
- rel.r_offset = (splt->output_offset
+ rel.r_offset = (splt->output_section->vma
+ + splt->output_offset
+ h->plt.offset + 4 * (i - 1));
rel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_GLOB_DAT);
}