2002-06-05 H.J. Lu <hjl@gnu.org>
* elfxx-mips.c (mips_elf_calculate_relocation): Call _bfd_elf_rel_local_sym for STT_SECTION relocations against the SEC_MERGE section.
This commit is contained in:
parent
3cac74d016
commit
d4df96e6ca
2 changed files with 15 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2002-06-05 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* elfxx-mips.c (mips_elf_calculate_relocation): Call
|
||||||
|
_bfd_elf_rel_local_sym for STT_SECTION relocations against
|
||||||
|
the SEC_MERGE section.
|
||||||
|
|
||||||
2002-06-05 Alan Modra <amodra@bigpond.net.au>
|
2002-06-05 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* coff-alpha.c: Update copyright date.
|
* coff-alpha.c: Update copyright date.
|
||||||
|
|
|
@ -2082,8 +2082,16 @@ mips_elf_calculate_relocation (abfd, input_bfd, input_section, info,
|
||||||
sec = local_sections[r_symndx];
|
sec = local_sections[r_symndx];
|
||||||
|
|
||||||
symbol = sec->output_section->vma + sec->output_offset;
|
symbol = sec->output_section->vma + sec->output_offset;
|
||||||
if (ELF_ST_TYPE (sym->st_info) != STT_SECTION)
|
if (ELF_ST_TYPE (sym->st_info) != STT_SECTION
|
||||||
|
|| (sec->flags & SEC_MERGE))
|
||||||
symbol += sym->st_value;
|
symbol += sym->st_value;
|
||||||
|
if ((sec->flags & SEC_MERGE)
|
||||||
|
&& ELF_ST_TYPE (sym->st_info) == STT_SECTION)
|
||||||
|
{
|
||||||
|
addend = _bfd_elf_rel_local_sym (abfd, sym, &sec, addend);
|
||||||
|
addend -= symbol;
|
||||||
|
addend += sec->output_section->vma + sec->output_offset;
|
||||||
|
}
|
||||||
|
|
||||||
/* MIPS16 text labels should be treated as odd. */
|
/* MIPS16 text labels should be treated as odd. */
|
||||||
if (sym->st_other == STO_MIPS16)
|
if (sym->st_other == STO_MIPS16)
|
||||||
|
|
Loading…
Add table
Reference in a new issue