* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
in when reading relocs, not our sorted syms. Remove unnecessary var.
This commit is contained in:
parent
14aaa6abcf
commit
595da8c56f
|
@ -1,3 +1,9 @@
|
||||||
|
2004-09-02 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
|
||||||
|
in when reading relocs, not our sorted syms. Remove unnecessary
|
||||||
|
var.
|
||||||
|
|
||||||
2004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
|
2004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||||
|
|
||||||
* elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
|
* elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
|
||||||
|
|
|
@ -2688,7 +2688,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
|
||||||
|
|
||||||
synthetic_opd = opd;
|
synthetic_opd = opd;
|
||||||
synthetic_relocatable = relocatable;
|
synthetic_relocatable = relocatable;
|
||||||
qsort (syms, symcount, sizeof (asymbol *), compare_symbols);
|
qsort (syms, symcount, sizeof (*syms), compare_symbols);
|
||||||
|
|
||||||
if (!relocatable && symcount > 1)
|
if (!relocatable && symcount > 1)
|
||||||
{
|
{
|
||||||
|
@ -2741,26 +2741,24 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
|
||||||
arelent *r;
|
arelent *r;
|
||||||
size_t size;
|
size_t size;
|
||||||
long relcount;
|
long relcount;
|
||||||
asection *relopd;
|
|
||||||
|
|
||||||
slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
|
slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
|
||||||
relopd = opd;
|
|
||||||
relcount = (opd->flags & SEC_RELOC) ? opd->reloc_count : 0;
|
relcount = (opd->flags & SEC_RELOC) ? opd->reloc_count : 0;
|
||||||
|
|
||||||
if (! relcount
|
if (! relcount
|
||||||
|| ! (*slurp_relocs) (abfd, relopd, syms, FALSE))
|
|| ! (*slurp_relocs) (abfd, opd, static_syms, FALSE))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
for (i = secsymend, r = relopd->relocation; i < opdsymend; ++i)
|
for (i = secsymend, r = opd->relocation; i < opdsymend; ++i)
|
||||||
{
|
{
|
||||||
asymbol *sym;
|
asymbol *sym;
|
||||||
|
|
||||||
while (r < relopd->relocation + relcount
|
while (r < opd->relocation + relcount
|
||||||
&& r->address < syms[i]->value + opd->vma)
|
&& r->address < syms[i]->value + opd->vma)
|
||||||
++r;
|
++r;
|
||||||
|
|
||||||
if (r == relopd->relocation + relcount)
|
if (r == opd->relocation + relcount)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (r->address != syms[i]->value + opd->vma)
|
if (r->address != syms[i]->value + opd->vma)
|
||||||
|
@ -2788,15 +2786,15 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
|
||||||
|
|
||||||
names = (char *) (s + count);
|
names = (char *) (s + count);
|
||||||
|
|
||||||
for (i = secsymend, r = relopd->relocation; i < opdsymend; ++i)
|
for (i = secsymend, r = opd->relocation; i < opdsymend; ++i)
|
||||||
{
|
{
|
||||||
asymbol *sym;
|
asymbol *sym;
|
||||||
|
|
||||||
while (r < relopd->relocation + relcount
|
while (r < opd->relocation + relcount
|
||||||
&& r->address < syms[i]->value + opd->vma)
|
&& r->address < syms[i]->value + opd->vma)
|
||||||
++r;
|
++r;
|
||||||
|
|
||||||
if (r == relopd->relocation + relcount)
|
if (r == opd->relocation + relcount)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (r->address != syms[i]->value + opd->vma)
|
if (r->address != syms[i]->value + opd->vma)
|
||||||
|
|
Loading…
Reference in New Issue