summaryrefslogtreecommitdiff
path: root/bfd/elf64-mips.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2004-10-07 19:15:29 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2004-10-07 19:15:29 +0000
commit99022dfb1d4b1de6f394026ffd5b738b522aa9f6 (patch)
treee45068b5b16d5c80f2d723e3ae29368b1f48e534 /bfd/elf64-mips.c
parentb1dca8ee5e150570df09f0e4c704657905ee6939 (diff)
downloadbinutils-gdb-99022dfb1d4b1de6f394026ffd5b738b522aa9f6.tar.gz
* elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
against the absolute section. (mips_elf64_write_rela): Likewise.
Diffstat (limited to 'bfd/elf64-mips.c')
-rw-r--r--bfd/elf64-mips.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index ac9f96f97b3..dd68f708a67 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -2352,6 +2352,8 @@ mips_elf64_write_rel (bfd *abfd, asection *sec,
sym = *ptr->sym_ptr_ptr;
if (sym == last_sym)
n = last_sym_idx;
+ else if (bfd_is_abs_section (sym->section) && sym->value == 0)
+ n = STN_UNDEF;
else
{
last_sym = sym;
@@ -2448,6 +2450,8 @@ mips_elf64_write_rela (bfd *abfd, asection *sec,
sym = *ptr->sym_ptr_ptr;
if (sym == last_sym)
n = last_sym_idx;
+ else if (bfd_is_abs_section (sym->section) && sym->value == 0)
+ n = STN_UNDEF;
else
{
last_sym = sym;