Commit Graph

384 Commits

Author SHA1 Message Date
Richard Henderson c61b871721 * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
and hide_symbol members.
        (elf_link_hash_copy_indirect): Remove.
        (elf_link_hash_hide_symbol): Remove.
        (struct elf_backend_data): Add elf_backend_copy_indirect_symbol
        and elf_backend_hide_symbol.
        (_bfd_elf_link_hash_copy_indirect): Declare.
        (_bfd_elf_link_hash_hide_symbol): Declare.
        * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
        (_bfd_elf_link_hash_hide_symbol): Likewise.
        (_bfd_elf_link_hash_table_init): Don't init killed members.
        * elflink.h (elf_link_add_object_symbols): Use the bed function
        pointers not elf_link_hash_{copy_indirect,hide_symbol}.
        (elf_link_assign_sym_version): Likewise.
        * elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
        (elf_backend_hide_symbol): Likewise.
        (elfNN_bed): Update for new members.
2000-02-18 09:23:06 +00:00
Kevin Buettner ced7a2cc9a Fix copyright line. 2000-02-17 21:16:16 +00:00
Kevin Buettner 6ad49cca4c AIX 4.3 core dump changes. 2000-02-17 09:01:28 +00:00
Joern Rennecke d4845d5762 bfd:
Reinstate bits of sh4 support that got accidentally deleted.
Add sh-dsp support.

bfd:

	* archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
	(bfd_mach_sh3_dsp): Likewise.
	(bfd_mach_sh4): Reinstate.
	(bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
	* bfd-in2.h: Regenerate.
	* coff-sh.c (struct sh_opcode): flags is no longer short.
	(USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
	(sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
	(sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
	(sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
	(sh_opcodes): No longer const.
	(sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
	(sh_insn_uses_reg): Check for USESAS and USESR8.
	(sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
	(_bfd_sh_align_load_span): Return early for SH4.
	Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
	Take into account that field b of a parallel processing insn
	could be mistaken for a separate insn.
	* cpu-sh.c (arch_info_struct): New array elements for
	sh2, sh-dsp and sh3-dsp.
	Reinstate element for sh4.
	(SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
	(SH4_NEXT): Reinstate.
	(SH3_NEXT, SH3E_NEXT): Adjust.
	* elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
	* elf32-sh.c (sh_elf_set_private_flags): New function.
	(sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
	(sh_elf_merge_private_data): New function.
	(elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
	(bfd_elf32_bfd_copy_private_bfd_data): Define.
	(bfd_elf32_bfd_merge_private_bfd_data): Change to
	sh_elf_merge_private_data.

gas:

	* config/tc-sh.c ("elf/sh.h"): Include.
	(sh_dsp, valid_arch, reg_x, reg_y, reg_efg): New static variables.
	(md.begin): Initialize target_arch.
	Only include opcodes in has table that match selected architecture.
	(parse_reg): Recognize register names for sh-dsp.
	(parse_at): Recognize post-modify addressing.
	(get_operands): The leading space is now optional.
	(get_specific): Remove FDREG_N support.  Add support for sh-dsp
	arguments.  Update valid_arch.
	(build_Mytes): Add support for SDT_REG_N.
	(find_cooked_opcode): New function, broken out of md_assemble.
	(assemble_ppi, sh_elf_final_processing): New functions.
	(md_assemble): Use find_cooked_opcode and assemble_ppi.
	(md_longopts, md_parse_option): New option: -dsp.
	* config/tc-sh.h (elf_tc_final_processing): Define.
	(sh_elf_final_processing): Declare.

include/elf:

	* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
	(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
	(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.

opcodes:

	* sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
	(print_insn_ppi): Likewise.
	(print_insn_shx): Use info->mach to select appropriate insn set.
	Add support for sh-dsp.  Remove FD_REG_N support.
	* sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
	(sh_arg_type): Likewise.  Remove FD_REG_N.
	(sh_dsp_reg_nums): New enum.
	(arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
	(arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
	(arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
	(arch_sh3_dsp_up): Likewise.
	(sh_opcode_info): New field: arch.
	(sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
	D_REG_N.  Fill in arch field.  Add sh-dsp insns.
2000-02-17 00:33:36 +00:00
Richard Henderson 2920b85c63 * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
hide_symbol members.
        (elf_link_hash_copy_indirect): New.
        (elf_link_hash_hide_symbol): New.
        * elflink.h (elf_link_add_object_symbols): Break out copy from
        indirect new new symbol to elf.c.
        (elf_link_assign_sym_version): Break out privatization of
        non-exported symbol to elf.c.
        * elf.c (_bfd_elf_link_hash_copy_indirect): New.
        (_bfd_elf_link_hash_hide_symbol): New.
        (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
2000-02-13 23:11:32 +00:00
Ian Lance Taylor 7f8d5fc90b * section.c (_bfd_strip_section_from_output): Add info parameter.
If it passed as non-NULL, use it to check whether any input BFD
	has an input section which uses this output section.  Change all
	callers.
	* bfd-in2.h: Rebuild.

	* bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
	bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
	1999-11-29.
	* bfd-in2.h: Rebuild.
2000-02-13 22:45:29 +00:00
Ian Lance Taylor e3c976c4eb rebuild 2000-02-13 22:40:13 +00:00
Timothy Wall 6c784c9aab Add hooks to support TI COFF handling. 2000-02-10 21:21:55 +00:00
Joern Rennecke 84dcfba7a2 Fix problem where -relax could reorder multiple consecutive sets of the
same register:
	* coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
	USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
	* (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
	* (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
	sh_insns_uses_or_sets_freg): New functions.
	* (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
	* (sh_insns_conflict): Use new functions and new macros to
	detect conflicts when two instructions both set same integer registers,
	both set same fp register, and both set special register.
2000-02-10 20:17:33 +00:00
Timothy Wall 363d7b14a5 Set arch/mach info prior to swapping in sections, so that the swapping
routines have access to the arch/mach info.
2000-02-09 13:41:44 +00:00
Nick Clifton 119a7cedc8 apply patch from MArk Elbrecht tpo update comment and copyright 2000-02-08 21:10:28 +00:00
Jason Molenda fd6848f679 2000-02-06 Jason Molenda (jsm@bugshack.cygnus.com)
* ChangeLog: Whitespace change to test logging.
	* bfd/ChangeLog, dejagnu/ChangeLog, include/ChangeLog, tcl/ChangeLog: Same.
2000-02-07 02:22:31 +00:00
Nick Clifton fad6fcbb00 Apply patch from Thomas de Lellis to allow nm to distinguish between weak
function symbols and weak data symbols.
2000-01-28 01:06:37 +00:00
Nick Clifton 2f0ca46a49 Apply Thoams de Lellis's patch to fic disassembly of Thumb instructions when
bounded by non-function labels.
2000-01-27 20:05:32 +00:00
Alan Modra 305c72062b Most of these changes are really only cosmetic. The readelf.c patch
fixes a thinko in get_dynamic_flags.  I found at least one message
string that included a `%' being passed to printf in the format
argument.
2000-01-26 23:11:48 +00:00
Nick Clifton b5f303f092 Remove use of a GCC extension when allocating local arrays. 2000-01-24 19:38:04 +00:00
Nick Clifton 2e4bb80ea1 Fix seeks and reads past the end of a BIM 2000-01-21 20:52:35 +00:00
Nick Clifton 3442f30943 fix spelling of Motorola 2000-01-20 19:08:43 +00:00
Nick Clifton 28240dcd30 fix mis-applied patch 2000-01-14 18:13:40 +00:00
Nick Clifton 6b3b007bde Applied Tim Wall's patch to replace RELSZ and friends with bfd_coff_relsz and
friends.
2000-01-13 23:55:21 +00:00
Nick Clifton 756fa1b9b7 Fix bug in interwork stubs from thumb to arm 2000-01-13 22:55:12 +00:00
Nick Clifton 9a968f4332 Apply Tim walls octest vs bytes patch 2000-01-13 22:10:36 +00:00
Nick Clifton f45fbf876d Apply for for CR 102957. 2000-01-13 20:46:54 +00:00
Nick Clifton 0decc84046 Add arm-conix target 2000-01-10 19:48:27 +00:00
Nick Clifton 16e9c715df Apply patch from Egor Duda to process win32_pstatus notes in core dumps. 2000-01-10 18:50:16 +00:00
Nick Clifton 9b234ee932 oops - omitted from previous delta 2000-01-04 23:28:10 +00:00
Nick Clifton 7a13edea08 ELF visibility patch from Martin Loewis. 2000-01-03 18:32:21 +00:00
Richard Henderson ea44b73426 * elflink.h (bfd_elf,size_dynamic_sections): Don't export all
if no dynamic sections created.
1999-12-29 19:50:13 +00:00
Nick Clifton b1f10154aa fix PE file format detection 1999-12-28 00:25:18 +00:00
Nick Clifton cb665cd3e2 Move PE format object file detection code into common place. 1999-12-17 19:03:09 +00:00
Nick Clifton af74ae9911 catch bad arm relocs 1999-12-17 00:42:32 +00:00
Nick Clifton 48dfb43001 Fix detection of common symbols 1999-12-14 23:35:43 +00:00
Andrew Cagney 93be3c4bd2 Add support for sparc-*-netbsdelf* and sparc-*-netbsdaout*. 1999-12-14 05:13:29 +00:00
Nick Clifton ceddadb217 fix detection of common symbols. 1999-12-14 02:20:57 +00:00
Nick Clifton a3a8c91d41 Fix elf linker's handling of commons in archive maps 1999-12-10 20:17:28 +00:00
Nick Clifton 77fb9c28ac Revert previous patch. 1999-12-10 18:51:35 +00:00
Nick Clifton ad247e3c7d Change AR for ELF so that common symbols are not included in archive map.
Change LD for ELF so that archive elements whoes archive map contains a
 reference to a common symbol will get linkled in.
Add new field to bfd_target structure and initialise it for all bfd targets.
1999-12-10 01:41:22 +00:00
Jim Blandy 6fe6a46127 *** empty log message *** 1999-12-07 23:56:53 +00:00
Jim Blandy ff08c6bbc8 Add support for SSE registers in ELF core files.
* elf.c (elfcore_make_note_pseudosection): New function.
(elfcore_grok_prfpreg): Use it.
(elfcore_grok_prxfpreg): New function.
(elfcore_grok_note): Recognize Linux NT_PRXFPREG notes.
1999-12-07 23:51:02 +00:00
Ian Lance Taylor 2a6d49ea17 * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16
value by 4 before storing it back in the field.  From
	Koundinya. K <kk@ddeorg.soft.net>.
1999-12-03 06:51:54 +00:00
Jeff Law 31f8dc8fce * archures.c (bfd_mach_am33): Define.
* bfd-in2.h: Rebuilt.
        * cpu-m10300.c (bfd_am33_arch): Add to the mn103 architecture list
        * elf-m10300.c (mn10300_elf_relax_section): Handle am33 instructions.
        (compute_function_info): Handle additional registers saved by
        movm on the am33.
        (elf_mn10300_mach): Handle E_MN10300_MACH_AM33.
        (_bfd_mn10300_elf_final_write_processing): Handle bfd_mach_am33.
1999-12-01 10:14:02 +00:00
Jim Blandy 98d8431c7d * elf.c (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
functions.
* bfd-in2.h (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New
declarations.
1999-11-29 20:33:38 +00:00
Michael Meissner fe174262ec Add new relocations for alpha explicit relocation support 1999-11-28 03:26:42 +00:00
Nick Clifton 20cfcaae7b Add support for target specific processing of ELF segments 1999-11-26 09:52:23 +00:00
Nick Clifton ba3d4249ed Add SEC_CODE and SEC_READONLY flags to glue sections. 1999-11-25 11:52:39 +00:00
Nick Clifton 811b4bf61d Add SEC_CODE and SEC_READONLY flags to glue sections. 1999-11-25 11:45:05 +00:00
Nick Clifton 01ef19d281 fix typoi 1999-11-20 11:53:57 +00:00
Catherine Moore 1ca42bada0 * elf32-m68k.c (elf_cpu32_plt0_entry): Fix encoding.
(elf_cpu32_plt_entry): Likewise.
1999-11-19 15:41:55 +00:00
Nick Clifton 078c8694a9 Fix processing of RVA relocs 1999-11-18 18:36:35 +00:00
Richard Henderson 86dc0f79f5 * elf-bfd.h (struct elf_backend_data): Reorder collect and
type_change_ok; add sign_extend_vma.
        * elf32-mips.c (elf_backend_sign_extend_vma): Define.
        * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma.
        (elf_swap_shdr_in, elf_swap_phdr_in): Likewise.
        * elfxx-target.h (elf_backend_sign_extend_vma): Default.
        (elfNN_bed): Follow struture changes.
1999-11-18 01:06:45 +00:00