* 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:
Alan Modra 2004-09-02 04:43:36 +00:00
parent 14aaa6abcf
commit 595da8c56f
2 changed files with 14 additions and 10 deletions

View File

@ -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>
* elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.

View File

@ -2688,7 +2688,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
synthetic_opd = opd;
synthetic_relocatable = relocatable;
qsort (syms, symcount, sizeof (asymbol *), compare_symbols);
qsort (syms, symcount, sizeof (*syms), compare_symbols);
if (!relocatable && symcount > 1)
{
@ -2741,26 +2741,24 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
arelent *r;
size_t size;
long relcount;
asection *relopd;
slurp_relocs = get_elf_backend_data (abfd)->s->slurp_reloc_table;
relopd = opd;
relcount = (opd->flags & SEC_RELOC) ? opd->reloc_count : 0;
if (! relcount
|| ! (*slurp_relocs) (abfd, relopd, syms, FALSE))
|| ! (*slurp_relocs) (abfd, opd, static_syms, FALSE))
goto done;
size = 0;
for (i = secsymend, r = relopd->relocation; i < opdsymend; ++i)
for (i = secsymend, r = opd->relocation; i < opdsymend; ++i)
{
asymbol *sym;
while (r < relopd->relocation + relcount
while (r < opd->relocation + relcount
&& r->address < syms[i]->value + opd->vma)
++r;
if (r == relopd->relocation + relcount)
if (r == opd->relocation + relcount)
break;
if (r->address != syms[i]->value + opd->vma)
@ -2788,15 +2786,15 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd,
names = (char *) (s + count);
for (i = secsymend, r = relopd->relocation; i < opdsymend; ++i)
for (i = secsymend, r = opd->relocation; i < opdsymend; ++i)
{
asymbol *sym;
while (r < relopd->relocation + relcount
while (r < opd->relocation + relcount
&& r->address < syms[i]->value + opd->vma)
++r;
if (r == relopd->relocation + relcount)
if (r == opd->relocation + relcount)
break;
if (r->address != syms[i]->value + opd->vma)