Revert previous delta, instead do this.

* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Don't count
	.plt relocs in DT_RELASZ.
This commit is contained in:
Alan Modra 2001-10-31 15:32:09 +00:00
parent 4578e0a726
commit 4e12ff7fc2
2 changed files with 19 additions and 4 deletions

View File

@ -1,7 +1,7 @@
2001-11-01 Alan Modra <amodra@bigpond.net.au>
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Set DT_RELASZ
whenever DT_PLTRELSZ.
* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Don't count
.plt relocs in DT_RELASZ.
2001-10-29 NIIBE Yutaka <gniibe@m17n.org>

View File

@ -2368,8 +2368,10 @@ elf32_hppa_size_dynamic_sections (output_bfd, info)
{
if (s->_raw_size != 0)
{
/* Remember whether there are any reloc sections. */
relocs = true;
/* Remember whether there are any reloc sections other
than .rela.plt. */
if (s != htab->srelplt)
relocs = true;
/* We use the reloc_count field as a counter if we need
to copy relocs into the output file. */
@ -4274,6 +4276,19 @@ elf32_hppa_finish_dynamic_sections (output_bfd, info)
else
dyn.d_un.d_val = s->_raw_size;
break;
case DT_RELASZ:
/* Don't count procedure linkage table relocs in the
overall reloc count. */
if (htab->srelplt != NULL)
{
s = htab->srelplt->output_section;
if (s->_cooked_size != 0)
dyn.d_un.d_val -= s->_cooked_size;
else
dyn.d_un.d_val -= s->_raw_size;
}
break;
}
bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);