aboutsummaryrefslogtreecommitdiff
path: root/bfd/hppa_stubs.h
AgeCommit message (Collapse)AuthorFilesLines
1994-07-01 * Support code for enabling the new style linker for PA ELF.Jeff Law1-55/+17
* elfcode.h (swap_symbol_in, swap_symbol_out): Externalize. (elf_compute_section_file_positions): Pass link_info to the begin_write_processing hook. (bfd_elf_write_object_contents): Pass NULL for new link_info argument to final_write_processing hook. (elf_link_output_sym): Accept new "input_section" argument for the symbols's input section. All callers changed. Call the link_output_symbol_hook if it's defined. (elf_bfd_final_link): Call the final_write_processing hook if it's defined. * libelf.h (elf_backend_link_output_symbol_hook): Declare. (elf_backend_begin_write_processing): Add new "info" argument. (elf_backend_final_write_processing): Likewise. * elf32-target.h (elf_backend_link_output_symbol_hook): Provide a default definition. (elf32_bed): Add elf_backend_link_output_symbol_hook. * elf64-target.h: Likewise. * Major rework of the PA ELF code. Uses the new style BFD linker, major cleanups. * hppa_stubs.h: Rewrite from scratch. Much smaller and simpler. * elf32-hppa.h: Delete all symbol extension related code. (hppa_look_for_stubs_in_section): Delete decl. (elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls. * elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h into elf32-hppa.c. Do not include aout64.h. (typdef hppa_stub_type): Delete. (elf32_hppa_stub_name_list_struct): Delete. (elf32_hppa_stub_description_struct): Delete. (arg_reloc_type): Use simpler enumerations. All references changed. (arg_location, arg_reloc_relocation): Likewise. (elf32_hppa_symextn_map_struct): Delete. (get_symbol_value): Delete. (elf32_hppa_get_sym_extn): Delete. (find_stubs, new_stubs, type_of_mismatch): Delete. (find_stub_by_name, add_stub_by_name): Delete. (hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete. (hppa_elf_arg_reloc_needed): Renamed. Simplify. (hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete. (hppa_elf_long_branch_needed_p): Delete. (hppa_look_for_stubs_in_section): Delete. (hppa_elf_get_section_contents): Delete. (elf32_hppa_backend_symbol_processing): Delete. (elf32_hppa_backend_section_processing): Delete. (elf32_hppa_backend_section_from_shdr): Delete. (elf32_hppa_backend_fake_sections): Delete. (elf32_hppa_backend_section_from_bfd_section): Delete. (NEW_INSTRUCTION): Delete. (CURRENT_STUB_OFFSET): Delete. (elf32_hppa_relocate_section): New function. (elf32_hppa_bfd_final_link_relocate): New function. (elf32_hppa_size_symext): New function. (elf32_hppa_link_output_symbol_hook): New function. (elf32_hppa_read_symext_info): New function. (elf32_hppa_add_symbol_hook): New function. (elf32_hppa_name_of_stub): New function. (elf32_hppa_size_of_stub): New function. (elf32_hppa_build_one_sub): New function. (elf32_hppa_build_stubs): New function. (elf32_hppa_size_stubs): New function. (linker, stub and argument hash tables): Add appropriate structures, definitions and functions to implement all three hash tables. (hppa_elf_relocate_insn): Don't need argument location information in this function. (add_entry_to_symext_chain): Accept a symbol's argument location information rather than the symbol itself. All callers changed. (hppa_elf_gen_reloc_type): Simplify. (hppa_elf_set_section_contents): Stub section is no longer special. (hppa_elf_reloc): Greatly simplify. (elf32_hppa_begin_write_processing): Accept link_info argument. Handle being called from the BFD backend linker. (elf32_hppa_final_write_processing): Likewise. (elf_hppa_tc_make_sections): No longer call stub_finish.
1993-12-05 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)Jeff Law1-0/+2
* hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in linker stub code. (COPY_2_31): Likewise.
1993-11-11 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove codeJeff Law1-47/+14
which is either commented out or ifdef'd out. Add, update and clean comments. Fix various indention and spacing problems. Handle problems related to using "ble" to jump to a stub rather than "bl" (%r31 is trashed by "ble", but not by "bl"). (NEW_INSTRUCTION): Put inside curly braces. (CURRENT_STUB_OFFSET): Fix indention problems. (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems. Add, update and clean comments. Handle "ble" %r31 lossage problems. (hppa_elf_build_long_branch_stub): Likewise. (hppa_look_for_stubs_in_section): Likewise. (hppa_elf_stub_check): Remove obsolete function. * hppa_stubs.h: Add new instructions to deal with %r31 lossage problems. Delete unused instructions.
1993-10-21elfcode.h (FILE_ALIGN_: Renamed from EALIGN, to avoid conflict with UltrixKen Raeburn1-4/+14
header files. Also, lots of changes for PA elf and som support from Utah; see ChangeLog for details.
1993-08-25Merged in changes from Jeff Law and Pete Hoogenboom at Utah for PA ELFKen Raeburn1-1/+34
support. Compiles, not particularly well tested. See ChangeLog for details.
1993-06-02new file for hppa linker supportKen Raeburn1-0/+49