diff options
Diffstat (limited to 'bfd/elfn32-mips.c')
-rw-r--r-- | bfd/elfn32-mips.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index 1741e35..60c6ad0 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -1520,18 +1520,18 @@ mips_elf_assign_gp (output_bfd, pgp) symbol value correctly. We look up the symbol _gp in the output BFD. If we can't find it, we're stuck. We cache it in the ELF target data. We don't need to adjust the symbol value for an - external symbol if we are producing relocateable output. */ + external symbol if we are producing relocatable output. */ static bfd_reloc_status_type -mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, pgp) +mips_elf_final_gp (output_bfd, symbol, relocatable, error_message, pgp) bfd *output_bfd; asymbol *symbol; - bfd_boolean relocateable; + bfd_boolean relocatable; char **error_message; bfd_vma *pgp; { if (bfd_is_und_section (symbol->section) - && ! relocateable) + && ! relocatable) { *pgp = 0; return bfd_reloc_undefined; @@ -1539,10 +1539,10 @@ mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, pgp) *pgp = _bfd_get_gp_value (output_bfd); if (*pgp == 0 - && (! relocateable + && (! relocatable || (symbol->flags & BSF_SECTION_SYM) != 0)) { - if (relocateable) + if (relocatable) { /* Make up a value. */ *pgp = symbol->section->output_section->vma /*+ 0x4000*/; @@ -1573,27 +1573,27 @@ mips_elf_gprel16_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message ATTRIBUTE_UNUSED; { - bfd_boolean relocateable; + bfd_boolean relocatable; bfd_reloc_status_type ret; bfd_vma gp; GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section) if (output_bfd != (bfd *) NULL) - relocateable = TRUE; + relocatable = TRUE; else { - relocateable = FALSE; + relocatable = FALSE; output_bfd = symbol->section->output_section->owner; } - ret = mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, + ret = mips_elf_final_gp (output_bfd, symbol, relocatable, error_message, &gp); if (ret != bfd_reloc_ok) return ret; return _bfd_mips_elf_gprel16_with_gp (abfd, symbol, reloc_entry, - input_section, relocateable, + input_section, relocatable, data, gp); } @@ -1610,7 +1610,7 @@ mips_elf_literal_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - bfd_boolean relocateable; + bfd_boolean relocatable; bfd_reloc_status_type ret; bfd_vma gp; @@ -1618,20 +1618,20 @@ mips_elf_literal_reloc (abfd, reloc_entry, symbol, data, input_section, /* FIXME: The entries in the .lit8 and .lit4 sections should be merged. */ if (output_bfd != (bfd *) NULL) - relocateable = TRUE; + relocatable = TRUE; else { - relocateable = FALSE; + relocatable = FALSE; output_bfd = symbol->section->output_section->owner; } - ret = mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, + ret = mips_elf_final_gp (output_bfd, symbol, relocatable, error_message, &gp); if (ret != bfd_reloc_ok) return ret; return _bfd_mips_elf_gprel16_with_gp (abfd, symbol, reloc_entry, - input_section, relocateable, + input_section, relocatable, data, gp); } @@ -1649,7 +1649,7 @@ mips_elf_gprel32_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - bfd_boolean relocateable; + bfd_boolean relocatable; bfd_reloc_status_type ret; bfd_vma gp; @@ -1667,32 +1667,32 @@ mips_elf_gprel32_reloc (abfd, reloc_entry, symbol, data, input_section, if (output_bfd != (bfd *) NULL) { - relocateable = TRUE; + relocatable = TRUE; gp = _bfd_get_gp_value (output_bfd); } else { - relocateable = FALSE; + relocatable = FALSE; output_bfd = symbol->section->output_section->owner; - ret = mips_elf_final_gp (output_bfd, symbol, relocateable, + ret = mips_elf_final_gp (output_bfd, symbol, relocatable, error_message, &gp); if (ret != bfd_reloc_ok) return ret; } return gprel32_with_gp (abfd, symbol, reloc_entry, input_section, - relocateable, data, gp); + relocatable, data, gp); } static bfd_reloc_status_type -gprel32_with_gp (abfd, symbol, reloc_entry, input_section, relocateable, data, +gprel32_with_gp (abfd, symbol, reloc_entry, input_section, relocatable, data, gp) bfd *abfd; asymbol *symbol; arelent *reloc_entry; asection *input_section; - bfd_boolean relocateable; + bfd_boolean relocatable; PTR data; bfd_vma gp; { @@ -1719,15 +1719,15 @@ gprel32_with_gp (abfd, symbol, reloc_entry, input_section, relocateable, data, val += reloc_entry->addend; /* Adjust val for the final section location and GP value. If we - are producing relocateable output, we don't want to do this for + are producing relocatable output, we don't want to do this for an external symbol. */ - if (! relocateable + if (! relocatable || (symbol->flags & BSF_SECTION_SYM) != 0) val += relocation - gp; bfd_put_32 (abfd, (bfd_vma) val, (bfd_byte *) data + reloc_entry->address); - if (relocateable) + if (relocatable) reloc_entry->address += input_section->output_offset; return bfd_reloc_ok; @@ -1800,7 +1800,7 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, bfd *output_bfd; char **error_message; { - bfd_boolean relocateable; + bfd_boolean relocatable; bfd_reloc_status_type ret; bfd_vma gp; unsigned short extend = 0; @@ -1811,14 +1811,14 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, GET_RELOC_ADDEND (output_bfd, symbol, reloc_entry, input_section) if (output_bfd != NULL) - relocateable = TRUE; + relocatable = TRUE; else { - relocateable = FALSE; + relocatable = FALSE; output_bfd = symbol->section->output_section->owner; } - ret = mips_elf_final_gp (output_bfd, symbol, relocateable, error_message, + ret = mips_elf_final_gp (output_bfd, symbol, relocatable, error_message, &gp); if (ret != bfd_reloc_ok) return ret; @@ -1848,9 +1848,9 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, _bfd_mips_elf_sign_extend(val, 16); /* Adjust val for the final section location and GP value. If we - are producing relocateable output, we don't want to do this for + are producing relocatable output, we don't want to do this for an external symbol. */ - if (! relocateable + if (! relocatable || (symbol->flags & BSF_SECTION_SYM) != 0) val += relocation - gp; @@ -1869,7 +1869,7 @@ mips16_gprel_reloc (abfd, reloc_entry, symbol, data, input_section, else reloc_entry->addend = val; - if (relocateable) + if (relocatable) reloc_entry->address += input_section->output_offset; else if (((val & ~0xffff) != ~0xffff) && ((val & ~0xffff) != 0)) return bfd_reloc_overflow; |