[ARC] Object attributes.
authorClaudiu Zissulescu <claziss@synopsys.com>
Wed, 10 May 2017 12:42:22 +0000 (14:42 +0200)
committerclaziss <claziss@synopsys.com>
Wed, 10 May 2017 12:42:22 +0000 (14:42 +0200)
commit53a346d8236aec06f1d3c767716d3340fb0aa013
tree4de962aabfa44a9640583f64e8af3e032be12947
parent21d1fbeed4b7c4d006e399437445519e6505088f
[ARC] Object attributes.

gas/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* testsuite/gas/arc/attr-arc600.d: New file.
* testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc600_norm.d: Likewise.
* testsuite/gas/arc/attr-arc601.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
* testsuite/gas/arc/attr-arc601_norm.d: Likewise.
* testsuite/gas/arc/attr-arc700.d: Likewise.
* testsuite/gas/arc/attr-arcem.d: Likewise.
* testsuite/gas/arc/attr-archs.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.s: Likewise.
* testsuite/gas/arc/attr-cpu-a601.d: Likewise.
* testsuite/gas/arc/attr-cpu-a601.s: Likewise.
* testsuite/gas/arc/attr-cpu-a700.d: Likewise.
* testsuite/gas/arc/attr-cpu-a700.s: Likewise.
* testsuite/gas/arc/attr-cpu-em.d: Likewise.
* testsuite/gas/arc/attr-cpu-em.s: Likewise.
* testsuite/gas/arc/attr-cpu-hs.d: Likewise.
* testsuite/gas/arc/attr-cpu-hs.s: Likewise.
* testsuite/gas/arc/attr-em.d: Likewise.
* testsuite/gas/arc/attr-em4.d: Likewise.
* testsuite/gas/arc/attr-em4_dmips.d: Likewise.
* testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
* testsuite/gas/arc/attr-em4_fpus.d: Likewise.
* testsuite/gas/arc/attr-hs.d: Likewise.
* testsuite/gas/arc/attr-hs34.d: Likewise.
* testsuite/gas/arc/attr-hs38.d: Likewise.
* testsuite/gas/arc/attr-hs38_linux.d: Likewise.
* testsuite/gas/arc/attr-mul64.d: Likewise.
* testsuite/gas/arc/attr-name.d: Likewise.
* testsuite/gas/arc/attr-name.s: Likewise.
* testsuite/gas/arc/attr-nps400.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.s
* testsuite/gas/arc/attr-quarkse_em.d: Likewise.
* testsuite/gas/arc/blank.s: Likewise.
* testsuite/gas/elf/section2.e-arc: Likewise.
* testsuite/gas/arc/cpu-pseudop-1.d: Update test.
* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
* testsuite/gas/arc/nps400-0.d: Likewise.
* testsuite/gas/elf/elf.exp: Set target_machine for ARC.
* config/tc-arc.c (opcode/arc-attrs.h): Include.
(ARC_GET_FLAG, ARC_SET_FLAG, streq): Define.
(arc_attribute): Declare new function.
(md_pseudo_table): Add arc_attribute.
(cpu_types): Rename default cpu features.
(selected_cpu): Set the default OSABI flag.
(mpy_option): New variable.
(pic_option): Likewise.
(sda_option): Likewise.
(tls_option): Likewise.
(feature_type, feature_list): Remove.
(arc_initial_eflag): Likewise.
(attributes_set_explicitly): New variable.
(arc_check_feature): Check also for the conflicting features.
(arc_select_cpu): Refactor assignment of selected_cpu.eflags.
(arc_option): Remove setting of private flags and architecture.
(check_cpu_feature): Refactor feature names.
(autodetect_attributes): New function.
(assemble_tokens): Use above function.
(md_parse_option): Refactor feature names.
(arc_attribute): New function.
(arc_set_attribute_int): Likewise.
(arc_set_attribute_string): Likewise.
(arc_stralloc): Likewise.
(arc_set_public_attributes): Likewise.
(arc_md_end): Likewise.
(arc_copy_symbol_attributes): Likewise.
(rc_convert_symbolic_attribute): Likewise.
* config/tc-arc.h (md_end): Define.
(CONVERT_SYMBOLIC_ATTRIBUTE): Likewise.
(TC_COPY_SYMBOL_ATTRIBUTES): Likewise.
* doc/c-arc.texi: Document ARC object attributes.

binutils/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
(get_arc_section_type_name): New function.
(get_section_type_name): Use the above function.
(display_arc_attribute): New function.
(process_arc_specific): Likewise.
(process_arch_specific): Handle ARC specific information.
* testsuite/binutils-all/strip-3.d: Consider ARC.attributes
section.

include/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* elf/arc.h (SHT_ARC_ATTRIBUTES): Define.
(Tag_ARC_*): Define.
(E_ARC_OSABI_V4): Define.
(E_ARC_OSABI_CURRENT): Reassign it.
(TAG_CPU_*): Define.
* opcode/arc-attrs.h: New file.
* opcode/arc.h (insn_subclass_t): Assign enum values.
(insn_subclass_t): Update enum with QUARKSE1, QUARKSE2, and LL64.
(ARC_EA, ARC_CD, ARC_LLOCK, ARC_ATOMIC, ARC_MPY, ARC_MULT)
(ARC_NPS400, ARC_DPFP, ARC_SPFP, ARC_FPU, ARC_FPUDA, ARC_SWAP)
(ARC_NORM, ARC_BSCAN, ARC_UIX, ARC_TSTAMP, ARC_VBFDW)
(ARC_BARREL, ARC_DSPA, ARC_SHIFT, ARC_INTR, ARC_DIV, ARC_XMAC)
(ARC_CRC): Delete.

bfd/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* elf32-arc.c (FEATURE_LIST_NAME): Define.
(CONFLICT_LIST): Likewise.
(opcode/arc-attrs.h): Include.
(arc_elf_print_private_bfd_data): Print OSABI v4 flag.
(arc_extract_features): New file.
(arc_stralloc): Likewise.
(arc_elf_merge_attributes): Likewise.
(arc_elf_merge_private_bfd_data): Use object attributes.
(bfd_arc_get_mach_from_attributes): New function.
(arc_elf_object_p): Use object attributes.
(arc_elf_final_write_processing): Likewise.
(elf32_arc_obj_attrs_arg_type): New function.
(elf32_arc_obj_attrs_handle_unknown): Likewise.
(elf32_arc_section_from_shdr): Likewise.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section): Likewise.
(elf_backend_obj_attrs_arg_type): Likewise.
(elf_backend_obj_attrs_section_type): Likewise.
(elf_backend_obj_attrs_handle_unknown): Likewise.
(elf_backend_section_from_shdr): Likewise.

ld/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* testsuite/ld-arc/attr-merge-0.d: New file.
* testsuite/ld-arc/attr-merge-0.s: Likewise.
* testsuite/ld-arc/attr-merge-0e.s: Likewise.
* testsuite/ld-arc/attr-merge-1.d: Likewise.
* testsuite/ld-arc/attr-merge-1.s: Likewise.
* testsuite/ld-arc/attr-merge-1e.s: Likewise.
* testsuite/ld-arc/attr-merge-2.d: Likewise.
* testsuite/ld-arc/attr-merge-2.s: Likewise.
* testsuite/ld-arc/attr-merge-3.d: Likewise.
* testsuite/ld-arc/attr-merge-3.s: Likewise.
* testsuite/ld-arc/attr-merge-3e.s: Likewise.
* testsuite/ld-arc/attr-merge-4.s: Likewise.
* testsuite/ld-arc/attr-merge-5.d: Likewise.
* testsuite/ld-arc/attr-merge-5a.s: Likewise.
* testsuite/ld-arc/attr-merge-5b.s: Likewise.
* testsuite/ld-arc/attr-merge-conflict-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-err-isa.d: Likewise.
* testsuite/ld-arc/attr-merge-incompatible-cpu.d: Likewise.
* testsuite/ld-arc/got-01.d: Update test.
* testsuite/ld-arc/attr-merge-err-quarkse.d: New file.
* testsuite/ld-arc/attr-quarkse.s: Likewise.
* testsuite/ld-arc/attr-quarkse2.s: Likewise.

opcodes/
2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>

* arc-dis.c (parse_option): Update quarkse_em option..
* arc-ext-tbl.h (dsp_fp_flt2i, dsp_fp_i2flt): Change subclass to
QUARKSE1.
(dsp_fp_div, dsp_fp_cmp): Change subclass to QUARKSE2.
82 files changed:
bfd/ChangeLog
bfd/elf32-arc.c
binutils/ChangeLog
binutils/readelf.c
binutils/testsuite/binutils-all/strip-3.d
gas/ChangeLog
gas/config/tc-arc.c
gas/config/tc-arc.h
gas/doc/c-arc.texi
gas/testsuite/gas/arc/attr-arc600.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc600_mul32x16.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc600_norm.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc601.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc601_mul32x16.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc601_mul64.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc601_norm.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arc700.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-arcem.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-archs.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-autodetect-1.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-autodetect-1.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-a601.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-a601.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-a700.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-a700.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-em.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-em.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-hs.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-cpu-hs.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-em.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-em4.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-em4_dmips.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-em4_fpuda.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-em4_fpus.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-hs.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-hs34.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-hs38.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-hs38_linux.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-mul64.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-name.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-name.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-nps400.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-override-mcpu.d [new file with mode: 0644]
gas/testsuite/gas/arc/attr-override-mcpu.s [new file with mode: 0644]
gas/testsuite/gas/arc/attr-quarkse_em.d [new file with mode: 0644]
gas/testsuite/gas/arc/blank.s [new file with mode: 0644]
gas/testsuite/gas/arc/cpu-pseudop-1.d
gas/testsuite/gas/arc/cpu-pseudop-2.d
gas/testsuite/gas/arc/nps400-0.d
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/section2.e-arc [new file with mode: 0644]
include/ChangeLog
include/elf/arc.h
include/opcode/arc-attrs.h [new file with mode: 0644]
include/opcode/arc.h
ld/ChangeLog
ld/testsuite/ld-arc/attr-merge-0.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-0.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-0e.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-1.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-1.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-1e.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-2.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-2.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-3.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-3.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-3e.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-4.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-5.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-5a.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-5b.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-conflict-isa.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-err-isa.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-err-quarkse.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-merge-incompatible-cpu.d [new file with mode: 0644]
ld/testsuite/ld-arc/attr-quarkse.s [new file with mode: 0644]
ld/testsuite/ld-arc/attr-quarkse2.s [new file with mode: 0644]
ld/testsuite/ld-arc/got-01.d
opcodes/ChangeLog
opcodes/arc-dis.c
opcodes/arc-ext-tbl.h
opcodes/arc-tbl.h