Commit graph

10 commits

Author SHA1 Message Date
Richard Henderson
ccbab31db1 Fri Oct 24 11:15:58 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* elf64-sparc.c (sparc64_elf_merge_private_bfd_data):
        New function. Avoid mixing US1 and HAL R1 code.
        Set resulting memory ordering to the strongest one used.
        (sparc64_elf_object_p): Set bfd_mach correctly.
1997-10-24 18:14:52 +00:00
Richard Henderson
d87ad0dc2f * elf64-sparc.c (sparc64_elf_howto_table): Add UA64 & UA16.
(sparc64_elf_check_relocs): Handle them.
        (sparc64_elf_relocate_section): Likewise.  Before emitting a dyn reloc,
        check alignment and transmute R_SPARC_x<->R_SPARC_UAx.
1997-10-23 21:16:43 +00:00
Richard Henderson
65c2dd6ec7 * config.bfd (sparc64-*-linux*): New target.
* elf-bfd.h (struct elf_backend_data): Add plt_alignment member.
        * elflink.c (_bfd_elf_create_got_section): Set .got alignment based
        on arch_size.
        (_bfd_elf_create_dynamic_sections): Likewise for .rel* sections.
        Set .plt alignment from new plt_alignment.
        * elflink.h (elf_link_create_dynamic_sections): Set version section
        alignment to LOG_FILE_ALIGN.
        * elfxx-target.h (elf_backend_plt_alignment): Provide default.
        (elfXX_bed): Init plt_alignment.

        * elf64-sparc.c (sparc64_elf_check_relocs,
        sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections,
        sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol,
        sparc64_elf_finish_dynamic_sections): New functions.
        (sparc64_elf_howto_table): Fix a few name strings.
        (ELF_DYNAMIC_INTERPRETER): New definition.
        (sparc64_elf_relocate_section): Handle shared libraries.

        * elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry,
        sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol):
        PLT definitions sparc64-linux originally choose.  These will go
        away soon in favour of the official abi definitions.
1997-10-23 07:37:25 +00:00
David Edelsohn
70e818d423 * elf64-sparc.c (sparc_elf_{hix22,lox10}_reloc): New functions.
(sparc64_elf_howto_table): Use them for HIX22,LOX10 relocs.
1997-10-09 23:46:24 +00:00
David Edelsohn
3869b11f87 * elf32-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
renamed to R_SPARC_UNUSED_42.
	(sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
	* elf64-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
	renamed to R_SPARC_UNUSED_42.
	(sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
	* reloc.c (BFD_RELOC_SPARC_GLOB_JMP): Delete.
	* bfd-in2.h: Regenerated.
	* libbfd.h: Regenerated.
1997-09-30 21:33:19 +00:00
David Edelsohn
d3366d234d * elf64-sparc.c (sparc64_elf_object_p): bfd_mach_sparc64 renamed to
bfd_mach_sparc_v9.
1996-01-22 17:18:05 +00:00
Ken Raeburn
051cdcb33e * elf32-sparc.c (elf_sparc_howto_table): Don't use "^&" before
function name; it's valid without, and some compilers give
warnings with it there.
1993-07-20 20:26:51 +00:00
Ken Raeburn
32090b8e4f * elf.c, elfcode.h, libelf.h: Serious reorganization.
Deleted `thunk' structure, merged into tdata, duplicate data eliminated.
Rearranged functions, grouping by function.
Broke up many functions in elfcode.h, re-ordered many parts of file writing
to handle unpredictable state of section relocation table as provided by
various applications.
Still needs cleanup: Merge functions back together, split out data structure
with only data that is used only when writing out object file.

* elf.c (bfd_elf_generic_reloc): New function, taken from coff-mips.c.
* elf32-sparc.c (elf_sparc_howto_table): Use it, to work around
bfd_perform_relocation lossage.
1993-07-19 19:12:59 +00:00
Ken Raeburn
2d56dfba5d (sparc_reloc_map): Remove duplicate WDISP19 entry. 1993-07-12 14:39:40 +00:00
Ken Raeburn
789776d7be fill out reloc table 1993-07-06 20:36:42 +00:00