Richard Henderson 16ce62054b Sparc v9 ABI compliant PLT:
* elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
(plt_templates, sparc64_elf_build_plt_entry): Delete.
(LARGE_PLT_THRESHOLD): New define.
(GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
(sparc64_elf_build_plt): New function.
(sparc64_elf_plt_entry_offset): Likewise.
(sparc64_elf_plt_ptr_offset): Likewise.
(sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
contain the index for convenience.  Skip the initial entries
in .rela.plt.
(sparc64_elf_size_dynamic_sections): Zero the allocated contents
memory for the benefit of .rela.plt.
(sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
(sparc64_elf_finish_dynamic_symbol): Kill template stuff.  Use
sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
(sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
Call sparc64_elf_build_plt.
(elf_backend_want_got_plt): No.
(elf_backend_plt_readonly): No.
(elf_backend_plt_alignment): 8.
* elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
* elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
* elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
to be called.
1998-01-28 05:48:34 +00:00
..
1997-08-01 01:43:21 +00:00
1997-10-24 16:03:57 +00:00
1997-08-01 01:43:21 +00:00
1994-05-04 19:37:36 +00:00
1996-03-27 19:57:34 +00:00
1996-07-22 23:02:35 +00:00
1996-02-21 00:29:38 +00:00
1998-01-28 05:48:34 +00:00
1997-08-15 12:08:52 +00:00
1997-12-29 11:45:12 +00:00
1997-07-22 19:11:04 +00:00
1997-10-20 19:23:09 +00:00
1997-01-31 23:15:42 +00:00
1996-07-18 00:47:05 +00:00
1997-12-15 23:10:11 +00:00
1996-03-27 19:57:34 +00:00
1997-09-04 17:34:50 +00:00
1996-07-23 17:54:21 +00:00
1994-05-16 19:34:13 +00:00
1998-01-21 01:43:40 +00:00
1998-01-28 05:48:34 +00:00
1997-10-20 19:23:09 +00:00
1997-11-22 21:05:48 +00:00
1997-10-20 19:23:09 +00:00
1997-10-20 19:23:09 +00:00
1997-10-20 19:23:09 +00:00
1996-11-12 23:28:49 +00:00
1997-12-22 10:23:57 +00:00
1995-10-28 00:58:22 +00:00
1994-07-05 21:50:43 +00:00
1995-11-05 00:29:13 +00:00
1994-04-20 18:38:22 +00:00
1993-12-02 02:19:25 +00:00
1997-03-18 00:47:04 +00:00
1994-07-14 21:35:54 +00:00
1995-09-27 11:34:10 +00:00
1995-09-27 11:34:10 +00:00
1997-10-16 12:19:16 +00:00
1996-05-07 20:20:55 +00:00
1998-01-22 03:18:51 +00:00
1997-03-18 00:47:04 +00:00