aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-hppa.c
AgeCommit message (Collapse)AuthorFilesLines
1993-12-14 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' fieldJeff Law1-11/+84
selectors for PIC code. * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors. (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL relocations needed by PIC.
1993-12-05 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLTJeff Law1-511/+604
relocations are not pc-relative.
1993-11-09 * elfcode.h (elf_object_p): Rather than looking through an arrayIan Lance Taylor1-12/+18
of architectures, get the ELF EM_xxx code from the backend information. Let the generic ELF target match any EM_xxx code not matched by another ELF target. Call elf_backend_object_p to let the backend do more checks and set global information. * libelf.h (struct elf_backend_data): Added elf_machine_code and elf_backend_object_p fields. (struct bfd_elf_arch_map): Removed. (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare. * elf32-target.h, elf64-target.h: Initialize elf_machine_code field with ELF_MACHINE_CODE. Initialize elf_backend_object_p field with elf_backend_object_p (if it is defined). * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c, elf64-gen.c (ELF_MACHINE_CODE): Defined. * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping routines. (mips_elf_object_p): Set the right machine number. (mips_elf_ecoff_debug_swap): Defined. (elf_backend_object_p): Defined to be mips_elf_object_p. (elf_backend_ecoff_debug_swap): Defined to be mips_elf_ecoff_debug_swap. * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed. * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow for R_MIPS_26. Correct overflow detection requires matching the upper four bits of the destination against the PC. From Ted Lemon <mellon@pepper.ncd.com>. * elf32-hppa.c (elf_hppa_reloc_type_lookup): Return type should point to const data.
1993-10-26From Jeff Law and Pete Hoogenboom at Utah:Ken Raeburn1-133/+166
* elf32-hppa.h (hppa_elf_stub_finish): Add prototype. (ELF32_HPPA_R_ARG_RELOC): Renamed without the ELF32 prefix and moved into libhppa.h. All references changed. (ELF32_HPPA_R_CONSTANT, ELF32_HPPA_R_ADDEND): Likewise. (get_opcode and opcode defines): Move into libhppa.h * elf32-hppa.c (hppa_elf_insn2fmt): Rename and move info libhppa.h. * libhppa.h (HPPA_R_*): Moved here. Reformatted slightly to make for easier reading. (get_opcode): Moved here. FIXME! this really should be a C function inside the opcode library! (bfd_hppa_insn2fmt): Likewise. * targets.c (target_vector): Enable elf32-hppa vector. * elf32-hppa.c (hppa_elf_get_section_contents): Add new comments and clarify existing comments. Do not use DEFUN to declare this function. Fix numerous indention problems. Correctly handle cases where symbol extension section may need to be read from disk, read from memory, or built then read from memory. * elf32-hppa.h: Reformat with gnu-indent and hand fix numerous formatting and indention problems gnu-indent can not handle. Clarify some comments about relocation types. Comment basic relocation "classes". Group PARAM declarations together. (HPPA_SXT_{NULL, SYMNDX, RG_RELOC}): Make members of a new enumerated type rather than #defines.
1993-09-03more changes from Utah, see log for detailsKen Raeburn1-430/+559
1993-08-28More patches from Jeff Law, plus a little cleanup of my own.Ken Raeburn1-338/+969
These changes separate PA-SOM support from PA-ELF support. A sun4-x-hppaosf assembler can now be built. * elf32-hppa.c (elf_hppa_howto_table): Now static. (symext_rootP, symext_lastP, global_value, GOT_value, global_symbol, global_sym_defined, symextn_contents, symextn_contents_real_size, elf_hppa_stub_rootP, elf32_hppa_symextn_map, elf32_hppa_symextn_map_size): Rely on default initialization. (hppa_elf_gen_reloc_type): Macro "UNDEFINED" doesn't need a trailing semicolon. (hppa_look_for_stubs_in_section): Introduce temporaries to make code more readable in 80 columns. * libhppa.h (all functions): Now inline under GNU C. * elf32-hppa.c (AR_WARN): Give argument which caused the invalid argument relocation. (AR_UNIMP): Delete unused macro. (hppa_elf_set_section_contents): Always return a value. (elf32_hppa_backend_table_processing): Likewise. (elf32_hppa_backend_section_processing: Likewise. * som.c: New file containing SOM specific code extracted from hppa.c * som.h: New file containing SOM specific code extracted from libhppa.h * hppa.c: Deleted. * libhppa.h: Delete SOM specific code. Add generic PA code which can be shared by both SOM and ELF backends. * Makefile.in: Replace hppa.c with som.c. elf32-hppa.o depends on libhppa.h now. * configure.in (hppa_vec): Needs som.o module instead of hppa.o. * elf32-hppa.c: Include libhppa.h. Do not define BYTES_IN_WORD. * elf32-hppa.h (hppa_reloc_field_selector_type): Delete now lives in libhppa.h. (hppa_reloc_field_selector_type_alt): Likewise. * elf32-hppa.c (hppa_elf_relocate_unwind_table): Delete unused variables. (elf_hppa_reloc_type_lookup): Likewise. (elf_hppa_tc_make_sections): Likewise. (hppa_elf_arg_reloc_needed_p): Likewise. (hppa_elf_build_long_branch_stub): Likewise. (elf_reloc_map): Delete, no longer used. (elf_hppa_reloc_map): Likewise. (elf32_hppa_symextn_map_max_size): Likewise. (elf32_hppa_get_sym_extn): Abort if type is bogus. * elf32-hppa.c (elf32_hppa_backend_fake_sections): Add processing of the .hppa_unwind section.
1993-06-22Use new size-independent elf internal data structures.Ken Raeburn1-6/+7
1993-06-03updates from UtahKen Raeburn1-1340/+2541
1993-04-29fixed up to use elf32-target.hKen Raeburn1-153/+16
1993-04-28checkpoint hppa-elf code from Utah (Sanitize out until it's cleaned up & ↵Ken Raeburn1-0/+1648
working)