aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-05-26 16:14:33 +0000
committerRichard Henderson <rth@redhat.com>2005-05-26 16:14:33 +0000
commit75fed80d13ce0f8e3c10e493f552a8fc2b457a44 (patch)
tree98801f3d203a48b80491a878942b1eb015119115
parent24639c7dfef1a7640481cfc2723879f9ffe0ae1c (diff)
downloadgdb-75fed80d13ce0f8e3c10e493f552a8fc2b457a44.zip
gdb-75fed80d13ce0f8e3c10e493f552a8fc2b457a44.tar.gz
gdb-75fed80d13ce0f8e3c10e493f552a8fc2b457a44.tar.bz2
* elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove
plt_old_section, plt_old_value. (elf64_alpha_adjust_dynamic_symbol): Don't set it. (elf64_alpha_size_plt_section_1): Don't use it.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf64-alpha.c26
2 files changed, 7 insertions, 26 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0b67df2..25bef0f 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-26 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (struct alpha_elf_link_hash_entry): Remove
+ plt_old_section, plt_old_value.
+ (elf64_alpha_adjust_dynamic_symbol): Don't set it.
+ (elf64_alpha_size_plt_section_1): Don't use it.
+
2005-05-26 Jakub Jelinek <jakub@redhat.com>
* elfcode.h (elf_object_p): Fail if e_shoff != 0, e_shnum == 0 and
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index fd0d052..de8a90c 100644
--- a/bfd/elf64-alpha.c
+++ b/bfd/elf64-alpha.c
@@ -69,10 +69,6 @@ struct alpha_elf_link_hash_entry
#define ALPHA_ELF_LINK_HASH_TLS_IE 0x40
#define ALPHA_ELF_LINK_HASH_PLT_LOC 0x80
- /* Used to undo the localization of a plt symbol. */
- asection *plt_old_section;
- bfd_vma plt_old_value;
-
/* Used to implement multiple .got subsections. */
struct alpha_elf_got_entry
{
@@ -2017,20 +2013,6 @@ elf64_alpha_adjust_dynamic_symbol (struct bfd_link_info *info,
h->plt.offset = s->size;
s->size += PLT_ENTRY_SIZE;
- /* If this symbol is not defined in a regular file, and we are not
- generating a shared library, then set the symbol to the location
- in the .plt. This is required to make function pointers compare
- equal between the normal executable and the shared library. */
- if (! info->shared
- && h->root.type != bfd_link_hash_defweak)
- {
- ah->plt_old_section = h->root.u.def.section;
- ah->plt_old_value = h->root.u.def.value;
- ah->flags |= ALPHA_ELF_LINK_HASH_PLT_LOC;
- h->root.u.def.section = s;
- h->root.u.def.value = h->plt.offset;
- }
-
/* We also need a JMP_SLOT entry in the .rela.plt section. */
s = bfd_get_section_by_name (dynobj, ".rela.plt");
BFD_ASSERT (s != NULL);
@@ -2480,14 +2462,6 @@ elf64_alpha_size_plt_section_1 (struct alpha_elf_link_hash_entry *h, PTR data)
{
h->root.needs_plt = 0;
h->root.plt.offset = -1;
-
- /* Undo the definition frobbing begun in adjust_dynamic_symbol. */
- if (h->flags & ALPHA_ELF_LINK_HASH_PLT_LOC)
- {
- h->root.root.u.def.section = h->plt_old_section;
- h->root.root.u.def.value = h->plt_old_value;
- h->flags &= ~ALPHA_ELF_LINK_HASH_PLT_LOC;
- }
}
return TRUE;