OSDN Git Service

* elf-bfd.h (struct bfd_elf_section_data): Add "local_dynrel"
authorAlan Modra <amodra@bigpond.net.au>
Tue, 25 Sep 2001 04:34:50 +0000 (04:34 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Tue, 25 Sep 2001 04:34:50 +0000 (04:34 +0000)
commit33b8c5af8909d3a99a4b48be39f1ace18a3db5b4
treec3446ac4b4b06f3d931a94b42021a4b78a95188e
parent82eb27eea6da5cf98c575d68ba23acd22cd3d45d
* elf-bfd.h (struct bfd_elf_section_data): Add "local_dynrel"
and "sreloc" fields.
* elf32-i386.c (struct elf_i386_dyn_relocs): Add "sec", and
"pc_count" fields.  Remove "section" field.
(elf_i386_check_relocs): Don't set DF_TEXTREL here.  Don't
allocate space for dynamic relocs here.  Instead, record all
needed dynamic relocs via dyn_relocs and local_dynrel.  Cache
pointer to "sreloc" section in elf_section_data.
(elf_i386_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
(allocate_plt_and_got_and_discard_relocs): Rename to
allocate_dynrelocs.  Allocate rather than discarding dyn relocs.
(readonly_dynrelocs): New function.
(elf_i386_size_dynamic_sections): Call readonly_dynrelocs.
Rename "i" to "ibfd".  Allocate space for local dyn relocs.
(elf_i386_relocate_section): Make use of cached sreloc.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-i386.c