* elflink.c (elf_link_read_relocs_from_section): Don't use

NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
	(_bfd_elf_link_read_relocs): ..to here.
	* elf32-ppc.c (ppc_elf_relax_section): Formatting.
This commit is contained in:
Alan Modra 2004-03-16 10:29:12 +00:00
parent ccba357f63
commit 51992aec7a
3 changed files with 16 additions and 15 deletions

View File

@ -1,3 +1,10 @@
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* elflink.c (elf_link_read_relocs_from_section): Don't use
NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
(_bfd_elf_link_read_relocs): ..to here.
* elf32-ppc.c (ppc_elf_relax_section): Formatting.
2004-03-16 Alan Modra <amodra@bigpond.net.au>
* configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override

View File

@ -1816,10 +1816,7 @@ ppc_elf_relax_section (bfd *abfd,
symaddr = tsec->output_section->vma + tsec->output_offset + toff;
roff = irel->r_offset;
reladdr = (isec->output_section->vma
+ isec->output_offset
+ roff);
reladdr = isec->output_section->vma + isec->output_offset + roff;
/* If the branch is in range, no need to do anything. */
if (symaddr - reladdr + max_branch_offset < 2 * max_branch_offset)

View File

@ -1880,10 +1880,6 @@ elf_link_read_relocs_from_section (bfd *abfd,
Elf_Internal_Shdr *symtab_hdr;
size_t nsyms;
/* If there aren't any relocations, that's OK. */
if (!shdr)
return TRUE;
/* Position ourselves at the start of the section. */
if (bfd_seek (abfd, shdr->sh_offset, SEEK_SET) != 0)
return FALSE;
@ -1909,7 +1905,7 @@ elf_link_read_relocs_from_section (bfd *abfd,
}
erela = external_relocs;
erelaend = erela + NUM_SHDR_ENTRIES (shdr) * shdr->sh_entsize;
erelaend = erela + shdr->sh_size;
irela = internal_relocs;
while (erela < erelaend)
{
@ -1995,12 +1991,13 @@ _bfd_elf_link_read_relocs (bfd *abfd,
external_relocs,
internal_relocs))
goto error_return;
if (!elf_link_read_relocs_from_section
(abfd, o,
elf_section_data (o)->rel_hdr2,
((bfd_byte *) external_relocs) + rel_hdr->sh_size,
internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr)
* bed->s->int_rels_per_ext_rel)))
if (elf_section_data (o)->rel_hdr2
&& (!elf_link_read_relocs_from_section
(abfd, o,
elf_section_data (o)->rel_hdr2,
((bfd_byte *) external_relocs) + rel_hdr->sh_size,
internal_relocs + (NUM_SHDR_ENTRIES (rel_hdr)
* bed->s->int_rels_per_ext_rel))))
goto error_return;
/* Cache the results for next time, if we can. */