diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-08-07 19:50:05 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2008-08-07 19:50:05 +0000 |
commit | 63897e2cf09f3f6a7df0a3c95820f73f6d4d4535 (patch) | |
tree | e356e789aaaa1c16b8ad15c03bf8c2382df9f903 /bfd/elfxx-mips.c | |
parent | f827c9a9d75000e77169da9b9bc531b0ce12a629 (diff) | |
download | gdb-63897e2cf09f3f6a7df0a3c95820f73f6d4d4535.zip gdb-63897e2cf09f3f6a7df0a3c95820f73f6d4d4535.tar.gz gdb-63897e2cf09f3f6a7df0a3c95820f73f6d4d4535.tar.bz2 |
bfd/
* elfxx-mips.c (allocate_dynrelocs): Ignore indirect and warning
symbols.
ld/testsuite/
* ld-mips-elf/reloc-estimate-1.d, ld-mips-elf/reloc-estimate-1.ld,
ld-mips-elf/reloc-estimate-1a.s, ld-mips-elf/reloc-estimate-1b.s:
New test.
* ld-mips-elf/mips-elf.exp: Run it.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 24a3606..f3536fd 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -7460,6 +7460,12 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) if (htab->is_vxworks && !info->shared) return TRUE; + /* Ignore indirect and warning symbols. All relocations against + such symbols will be redirected to the target symbol. */ + if (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + return TRUE; + /* If this symbol is defined in a dynamic object, or we are creating a shared library, we will need to copy any R_MIPS_32 or R_MIPS_REL32 relocs against it into the output file. */ |