Commit Graph

364 Commits

Author SHA1 Message Date
Nick Clifton f02e226057 Apply H.J.'s patch to revert change to elfxx-target.h
Apply my patch to allow SREC as output format.
2001-08-24 16:36:01 +00:00
Joern Rennecke 56d5caaa85 * internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix. 2001-08-24 00:20:01 +00:00
Jakub Jelinek e039969bb5 * elf-bfd.h (enum elf_reloc_type_class): New.
(struct elf_backend_data): Add elf_backend_reloc_type_class.
	(_bfd_elf_reloc_type_class): New.
	* elfxx-target.h (elf_backend_reloc_type_class): Define.
	(elfNN_bed): Add elf_backend_reloc_type_class.
	* elf.c (_bfd_elf_reloc_type_class): New.
	* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
	is against read-only section.
	(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf_i386_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(elf32_sparc_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
	reloc is against read-only section.
	(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
	looking up section names for DT_TEXTREL.
	(sparc64_elf_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
	(elfNN_ia64_hash_table_create): Clear ia64_info.
	(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
	section.
	(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
	instead of looking up section names for DT_TEXTREL.
	(elfNN_ia64_reloc_type_class): New.
	(elf_backend_reloc_type_class): Define.
	* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
	(struct elf_link_sort_rela): New.
	(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
	(elf_bfd_final_link): Call elf_link_sort_relocs.
	Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
	necessary.

	* bfdlink.h (struct bfd_link_info): Add combreloc and
	spare_dynamic_tags fields.

	* emultempl/elf32.em (place_orphan): Place orphan .rel* sections
	into .rel.dyn resp. .rela.dyn if combreloc.
	(get_script): If .x linker script is equal to .xn, only put it
	once into the binary.
	Add .xc and .xsc scripts.
	(parse_args): Handle -z combreloc and -z nocombreloc.
	* scripttempl/elf.sc (.rela.sbss): Fix a typo.
	For .xc and .xsc scripts put all .rel* or .rela* input sections
	but .rel*.plt and PLT-like sections into .rel.dyn resp. .rela.dyn.
	* genscripts.sh (GENERATE_COMBRELOC_SCRIPT): Set if SCRIPT_NAME
	is elf.
	Strip trailing whitespace from script.
	Generate .xc and .xsc scripts if requested.
	* ldmain.c (main): Initialize link_info.combreloc and
	link_info.spare_dynamic_tags.
	* lexsup.c (OPTION_SPARE_DYNAMIC_TAGS): Define.
	(ld_options): Add --spare-dynamic-tags option.
	(parse_args): Likewise.
	* ld.texinfo: Document -z combreloc and -z nocombreloc.
	* ldint.texinfo: Document .xc and .xsc linker scripts.
	* NEWS: Add notes about -z combreloc and SHF_MERGE.
2001-08-23 15:14:17 +00:00
DJ Delorie 702f8b1602 merge from gcc 2001-08-23 14:51:49 +00:00
DJ Delorie 26dda98bc2 merge from gcc 2001-08-22 02:11:38 +00:00
DJ Delorie 75394d4a26 merge from gcc 2001-08-21 15:18:37 +00:00
Andrew Cagney b30eef0f67 * floatformat.h (floatformat_arm_ext): Document as deprecated.
(floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
(floatformat_ia64_spill_little, floatformat_ia64_quad_little)
(floatformat_ia64_spill_big, floatformat_ia64_quad_big)
(floatformat_m88110_harris_ext): Declare.
2001-08-21 00:20:05 +00:00
DJ Delorie f088df8366 merge from gcc 2001-08-18 23:47:14 +00:00
DJ Delorie 6445d1871c merge from gcc 2001-08-17 06:32:52 +00:00
Thiemo Seufer ab7c6379a8 Add support for MIPS R1[02]000 performance counter opcodes. 2001-08-16 19:24:33 +00:00
Andrew Cagney 067b070964 (lbasename): Change function declaration to return a const char pointer. 2001-08-10 23:46:15 +00:00
Richard Sandiford 5bb2a182c8 * opcode/mips.h (INSN_GP32): Remove.
(OPCODE_IS_MEMBER): Remove gp32 parameter.
	(M_MOVE): New macro identifier.
2001-08-10 16:20:43 +00:00
Alan Modra b5c27d80c0 Revert 2001-08-08 changes. 2001-08-10 01:34:47 +00:00
Alan Modra 584b6591df * ppc.h (struct powerpc_operand): New field `reloc'.
* ppc-opc.c: Include "bfd.h".
	(powerpc_operands): Add new field for reloc type.
2001-08-08 13:19:36 +00:00
DJ Delorie 20b2e9ce39 merge from gcc 2001-08-02 23:27:47 +00:00
Charles Wilson 3dcef5eedc * bfdlink.h (struct bfd_link_info): add new boolean
field pei386_auto_import.
2001-08-02 23:07:10 +00:00
Aldy Hernandez 6825f8e75f 2001-08-01 Aldy Hernandez <aldyh@redhat.com>
* include/opcode/mips.h (INSN_ISA_MASK): Nuke bits 12-15.
2001-08-01 11:33:45 +00:00
DJ Delorie 4e1965bb51 merge from gcc 2001-07-19 00:04:11 +00:00
Jeff Johnston dfd34b9e6d 2001-07-12 Jeff Johnston <jjohnstn@redhat.com>
* opcode/cgen.h (CGEN_INSN): Add regex support.
        (build_insn_regex): Declare.
2001-07-12 21:20:59 +00:00
Frank Ch. Eigler ef393a8fad * some support for funny-endian 16/32-bit insn sets
[cgen/ChangeLog]
2001-07-11  Frank Ch. Eigler  <fche@redhat.com>

        * desc-cpu.scm (-gen-mach-table-defns): Emit fourth field: the
        mach->cpu insn-chunk-bitsize.
        (-gen-cpu-open): In @arch@_cgen_rebuild_tables, process above new
        field toward CGEN_CPU_TABLE->insn_chunk_bitsize.
        * mach.scm (<cpu>): New field insn-chunk-bitsize.
        (-cpu-parse, -cpu-read): Parse/initialize it.
        * doc/rtl.texi (define-cpu): Document it.

[opcodes/ChangeLog]
2001-07-11  Frank Ch. Eigler  <fche@redhat.com>

        * cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
        bfd_get_bits.
        * cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
        non-zero CGEN_CPU_DESC->insn_chunk_bitsize.

[include/opcode/ChangeLog]
2001-07-11  Frank Ch. Eigler  <fche@redhat.com>

        * cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
        (cgen_cpu_desc): Ditto.
2001-07-12 02:32:25 +00:00
DJ Delorie 25b14d6c00 merge from gcc 2001-07-11 00:15:17 +00:00
Ben Elliston 6e06cb0d32 2001-07-07 Ben Elliston <bje@redhat.com>
* m88k.h: Clean up and reformat. Remove unused code.
2001-07-06 22:14:07 +00:00
Nick Clifton 518117ea0f Remerge with gcc 2001-06-30 08:58:10 +00:00
Nick Clifton 1e8b3ce280 Add DWARF 2.1 attributes 2001-06-29 14:17:31 +00:00
Per Bothner db77b1b43e * dwarf2.h: Partial merge with gcc version.
(enum dwarf_descrim_list):  Fix typo -> dwarf_discrim_list.
	(DW_LANG_Java):  Use value from dwarf 2.1 draft (also used in gcc).
2001-06-15 19:53:18 +00:00
Hans-Peter Nilsson ed5d7131a9 * bfdlink.h (struct bfd_link_info): New member export_dynamic. 2001-06-15 12:57:02 +00:00
Geoffrey Keating 5a5f43a0b9 Index: opcodes/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* cgen-asm.c (cgen_parse_keyword): When looking for the
	boundaries of a keyword, allow any special characters
	that are actually in one of the allowed keyword.
	* cgen-opc.c (cgen_keyword_add): Add any special characters
	to the nonalpha_chars field.

Index: cgen/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* desc.scm (<keyword> 'gen-defn): Add extra zero into
	CGEN_KEYWORD_ENTRY initializers.

Index: include/opcode/ChangeLog
2001-06-13  Geoffrey Keating  <geoffk@redhat.com>

	* cgen.h (cgen_keyword): Add nonalpha_chars field.
2001-06-14 20:38:42 +00:00
Alan Modra 51352f8ed0 Fix some entries. 2001-05-28 10:37:50 +00:00
Tom Rix 0f674cdc0f Support for xcoff64 2001-05-24 20:32:58 +00:00
Nick Clifton ffa9dc2c1c Add MIPS r12k support 2001-05-23 17:26:39 +00:00
John Healy 865cf1b95c 2001-05-23 John Healy <jhealy@redhat.com>
* cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
2001-05-23 15:34:43 +00:00
DJ Delorie 56921232f6 merge from gcc 2001-05-16 21:03:31 +00:00
Nick Clifton 75f9ca7b0c Remove definition of EM_MIPS_RS4_BE. The constant was never in active use
and is used otherwise by the ABI.
2001-05-15 12:24:29 +00:00
Nick Clifton 92f998d4e0 Fix MIPS disassembler so that it produces reassemblable code. 2001-05-15 12:11:12 +00:00
Alan Modra 24a474a4aa Correct cvtps2dq, movdq2q, movq2dq, and movq problems. 2001-05-12 09:52:39 +00:00
DJ Delorie 37922e1277 merge from gcc 2001-05-11 20:22:28 +00:00
Jakub Jelinek 0b671586c0 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
sections as well.
	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
	to .gnu.linkonce.t.FOO text section.

	* readelf.c (process_unwind): Print all unwind sections, not just
	one.

	* config/tc-ia64.c (special_linkonce_name): New.
	(make_unw_section): Map .gnu.linkonce.t.FOO text section into
	.gnu.linkonce.ia64unw{,i}.FOO.
	(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
	(dot_endp): Add comment about it.

	* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
	(ELF_STRING_ia64_unwind_info_once): Define.

	* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
	.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
	output sections.
	* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
DJ Delorie 791cada5a2 merge from gcc 2001-05-08 14:34:36 +00:00
DJ Delorie 8f2e6ee891 merge from gcc 2001-05-07 16:19:25 +00:00
Alan Modra c9b76619ac * external.h: Fix typo.
* mips.h: Add/Extend many comments with reference to the MIPS ELF64
	spec v. 2.4, available at e.g.
	ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
	(EF_MIPS_UCODE): Define.
	(EF_MIPS_OPTIONS_FIRST): Define.
	(EF_MIPS_ARCH_ASE): Define.
	(EF_MIPS_ARCH_ASE_MDMX): Define.
	(EF_MIPS_ARCH_ASE_M16): Define.
	(SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
	(SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
	(SHF_MIPS_NODUPES): Define.
	(ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
	(ELF64_MIPS_R_TYPE3): Likewise.
	(ELF64_MIPS_R_TYPE2): Likewise.
	(ELF64_MIPS_R_TYPE): Likewise.
	(OHW_R10KLDL): Define.
2001-05-07 09:18:52 +00:00
Alan Modra 268fad77db Assorted fixes to pinsrw, pextrw, pmovmskb, movmskp, maskmovq. 2001-05-04 11:10:53 +00:00
Nick Clifton 9572ecf979 Add openRISC support in opcodes 2001-04-27 13:33:26 +00:00
DJ Delorie 96d16d1c11 * sparc.h: Fix typo. 2001-04-24 18:32:27 +00:00
Nick Clifton 19a90cfeaf Add OpenRISC support 2001-04-24 15:08:16 +00:00
Andreas Jaeger 4ba81bbab2 2001-04-23 Bo Thorsen <bo@suse.de>
* x86-64.h: Add vtable support.

2001-04-23  Bo Thorsen  <bo@suse.de>

	* elf64-x86-64.c: Add c++ vtable hack.
	Small whitespace and comment changes.
2001-04-23 08:00:14 +00:00
Daniel Berlin 881afbda5a 2001-04-15 Daniel Berlin <dan@cgsoftware.com>
* ternary.c: New file - Ternary search tree implementation.

2001-04-15  Daniel Berlin  <dan@cgsoftware.com>

	* ternary.h: New file - Ternary search tree header.
2001-04-16 14:10:14 +00:00
Jakub Jelinek cf620a6912 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Hans-Peter Nilsson b25c2ad730 * cris.h (enum cris_insn_version_usage): Correct comment for
cris_ver_v3p.
2001-04-05 19:35:17 +00:00
DJ Delorie 51fc3813e9 merge from gcc 2001-04-04 01:15:59 +00:00
DJ Delorie aa38a0227c merge from gcc 2001-03-31 19:05:20 +00:00