aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2002-01-29 14:04:04 +0000
committerAlan Modra <amodra@gmail.com>2002-01-29 14:04:04 +0000
commitef9d813eafbff4630efb4ba6580ff7065579c0f2 (patch)
tree04394616934221aa6b3ec0e2b86caf7f317f9275 /bfd
parentf9cd9119027d232118717abfa26fb87a636e644c (diff)
downloadgdb-ef9d813eafbff4630efb4ba6580ff7065579c0f2.zip
gdb-ef9d813eafbff4630efb4ba6580ff7065579c0f2.tar.gz
gdb-ef9d813eafbff4630efb4ba6580ff7065579c0f2.tar.bz2
* elf64-ppc.c (func_desc_adjust): Don't supply missing function
descriptor symbols.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c34
2 files changed, 6 insertions, 33 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 832bce5..1bff8e9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (func_desc_adjust): Don't supply missing function
+ descriptor symbols.
+
2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index da339bb..855722e 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -2494,43 +2494,11 @@ func_desc_adjust (h, inf)
struct elf_link_hash_entry *fdh;
boolean force_local;
- /* Find the corresponding function descriptor symbol. Create it
- as undefined if necessary. */
+ /* Find the corresponding function descriptor symbol. */
fdh = elf_link_hash_lookup (&htab->elf, h->root.root.string + 1,
false, false, true);
- if (fdh == NULL && info->shared)
- {
- bfd *abfd;
- asymbol *newsym;
-
- /* Create it as undefined. */
- if (h->root.type == bfd_link_hash_undefined
- || h->root.type == bfd_link_hash_undefweak)
- abfd = h->root.u.undef.abfd;
- else if (h->root.type == bfd_link_hash_defined
- || h->root.type == bfd_link_hash_defweak)
- abfd = h->root.u.def.section->owner;
- else
- abort ();
- newsym = bfd_make_empty_symbol (abfd);
- newsym->name = h->root.root.string + 1;
- newsym->section = bfd_und_section_ptr;
- newsym->value = 0;
- newsym->flags = BSF_OBJECT;
- if (h->root.type == bfd_link_hash_undefweak)
- newsym->flags |= BSF_WEAK;
-
- if ( !(_bfd_generic_link_add_one_symbol
- (info, abfd, newsym->name, newsym->flags,
- newsym->section, newsym->value, NULL, false, false,
- (struct bfd_link_hash_entry **) &fdh)))
- {
- return false;
- }
- }
-
if (fdh != NULL
&& (fdh->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0
&& (info->shared