diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2005-02-10 03:07:46 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2005-02-10 03:07:46 +0000 |
commit | 7f05722e0911a6891477ffdd4ce564c68d512d22 (patch) | |
tree | 8eff85678b0ebc2c5655ba0d22646bdcae57053b /bfd/elfn32-mips.c | |
parent | 4297f9f1cc92f09faef1ebf6857da57b50f85d2c (diff) | |
download | gdb-7f05722e0911a6891477ffdd4ce564c68d512d22.zip gdb-7f05722e0911a6891477ffdd4ce564c68d512d22.tar.gz gdb-7f05722e0911a6891477ffdd4ce564c68d512d22.tar.bz2 |
* elf64-mips.c (mips16_gprel_reloc): Update a comment.
* elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
relocations against external symbols unchanged.
Diffstat (limited to 'bfd/elfn32-mips.c')
-rw-r--r-- | bfd/elfn32-mips.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index 48c2579..d87c45c 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -1507,6 +1507,16 @@ mips16_gprel_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, bfd_signed_vma val; bfd_vma relocation; + /* If we're relocating, and this is an external symbol, we don't want + to change anything. */ + if (output_bfd != NULL + && (symbol->flags & BSF_SECTION_SYM) == 0 + && (symbol->flags & BSF_LOCAL) != 0) + { + reloc_entry->address += input_section->output_offset; + return bfd_reloc_ok; + } + if (output_bfd != NULL) relocatable = TRUE; else |