bfd:
commit8118749b24fffc00a4101e1572f1edb72a8cb72e
authorJoseph Myers <joseph@codesourcery.com>
Wed, 16 Jun 2010 00:36:00 +0000 (16 00:36 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 16 Jun 2010 00:36:00 +0000 (16 00:36 +0000)
tree35e4c28bb5df7f50ad440284f45eaaaae1404701
parent62e7987fb5395e8dd8ebb63b2a5114885a3000f4
bfd:
* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2.
* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type,
elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes,
elf32_tic6x_merge_private_bfd_data): New.
(bfd_elf32_bfd_merge_private_bfd_data,
elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section,
elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor):
Define.
* elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare.

binutils:
* readelf.c (display_tic6x_attribute, process_tic6x_specific):
New.
(process_arch_specific): Call process_tic6x_specific for
EM_TI_C6000.

gas:
* config/tc-tic6x.c: Include elf/tic6x.h.
(tic6x_arch_attribute, tic6x_seen_insns): New.
(tic6x_arch_table, tic6x_arches): Add attribute values.
(tic6x_use_arch): Handle attribute settings.
(tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute,
tic6x_attribute_table, tic6x_attributes,
tic6x_convert_symbolic_attribute): New.
(md_pseudo_table): Add c6xabi_attribute.
(md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute.
(tic6x_set_attribute_int, tic6x_set_attributes): New.
(tic6x_end): Call tic6x_set_attributes.
* config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
(tic6x_convert_symbolic_attribute): Declare.

gas/testsuite:
* gas/elf/elf.exp: Set target_machine for tic6x-*-*.
* gas/elf/section2.e-tic6x, gas/tic6x/attr-arch-directive-1.d,
gas/tic6x/attr-arch-directive-1.s,
gas/tic6x/attr-arch-directive-2.d,
gas/tic6x/attr-arch-directive-2.s,
gas/tic6x/attr-arch-directive-3.d,
gas/tic6x/attr-arch-directive-3.s,
gas/tic6x/attr-arch-directive-4.d,
gas/tic6x/attr-arch-directive-4.s,
gas/tic6x/attr-arch-directive-5.d,
gas/tic6x/attr-arch-directive-5.s,
gas/tic6x/attr-arch-opts-c62x.d, gas/tic6x/attr-arch-opts-c64x+.d,
gas/tic6x/attr-arch-opts-c64x.d, gas/tic6x/attr-arch-opts-c674x.d,
gas/tic6x/attr-arch-opts-c67x+.d, gas/tic6x/attr-arch-opts-c67x.d,
gas/tic6x/attr-arch-opts-none-1.d,
gas/tic6x/attr-arch-opts-none-2.d,
gas/tic6x/attr-arch-opts-override-1.d,
gas/tic6x/attr-arch-opts-override-2.d, gas/tic6x/empty.s: New.

include/elf:
* tic6x-attrs.h: New.
* tic6x.h: Include elf/tic6x-attrs.h for attribute table.
(C6XABI_Tag_CPU_arch_none, C6XABI_Tag_CPU_arch_C62X,
C6XABI_Tag_CPU_arch_C67X, C6XABI_Tag_CPU_arch_C67XP,
C6XABI_Tag_CPU_arch_C64X, C6XABI_Tag_CPU_arch_C64XP,
C6XABI_Tag_CPU_arch_C674X): Define.

ld:
* emulparams/elf32_tic6x_le.sh (ATTRS_SECTIONS): Define.

ld/testsuite:
* ld-elf/orphan3.d: Allow section names starting '_'.
* ld-tic6x/attr-arch-c62x-c62x.d, ld-tic6x/attr-arch-c62x-c64x+.d,
ld-tic6x/attr-arch-c62x-c64x.d, ld-tic6x/attr-arch-c62x-c674x.d,
ld-tic6x/attr-arch-c62x-c67x+.d, ld-tic6x/attr-arch-c62x-c67x.d,
ld-tic6x/attr-arch-c62x.s, ld-tic6x/attr-arch-c64x+-c62x.d,
ld-tic6x/attr-arch-c64x+-c64x+.d, ld-tic6x/attr-arch-c64x+-c64x.d,
ld-tic6x/attr-arch-c64x+-c674x.d,
ld-tic6x/attr-arch-c64x+-c67x+.d, ld-tic6x/attr-arch-c64x+-c67x.d,
ld-tic6x/attr-arch-c64x+.s, ld-tic6x/attr-arch-c64x-c62x.d,
ld-tic6x/attr-arch-c64x-c64x+.d, ld-tic6x/attr-arch-c64x-c64x.d,
ld-tic6x/attr-arch-c64x-c674x.d, ld-tic6x/attr-arch-c64x-c67x+.d,
ld-tic6x/attr-arch-c64x-c67x.d, ld-tic6x/attr-arch-c64x.s,
ld-tic6x/attr-arch-c674x-c62x.d, ld-tic6x/attr-arch-c674x-c64x+.d,
ld-tic6x/attr-arch-c674x-c64x.d, ld-tic6x/attr-arch-c674x-c674x.d,
ld-tic6x/attr-arch-c674x-c67x+.d, ld-tic6x/attr-arch-c674x-c67x.d,
ld-tic6x/attr-arch-c674x.s, ld-tic6x/attr-arch-c67x+-c62x.d,
ld-tic6x/attr-arch-c67x+-c64x+.d, ld-tic6x/attr-arch-c67x+-c64x.d,
ld-tic6x/attr-arch-c67x+-c674x.d,
ld-tic6x/attr-arch-c67x+-c67x+.d, ld-tic6x/attr-arch-c67x+-c67x.d,
ld-tic6x/attr-arch-c67x+.s, ld-tic6x/attr-arch-c67x-c62x.d,
ld-tic6x/attr-arch-c67x-c64x+.d, ld-tic6x/attr-arch-c67x-c64x.d,
ld-tic6x/attr-arch-c67x-c674x.d, ld-tic6x/attr-arch-c67x-c67x+.d,
ld-tic6x/attr-arch-c67x-c67x.d, ld-tic6x/attr-arch-c67x.s: New.
82 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-tic6x.c
bfd/elf32-tic6x.h
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-tic6x.c
gas/config/tc-tic6x.h
gas/testsuite/ChangeLog
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/elf/section2.e-tic6x [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-1.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-1.s [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-2.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-2.s [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-3.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-3.s [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-4.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-4.s [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-5.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-directive-5.s [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c62x.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c64x+.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c64x.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c674x.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c67x+.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-c67x.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-none-1.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-none-2.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-override-1.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/attr-arch-opts-override-2.d [new file with mode: 0644]
gas/testsuite/gas/tic6x/empty.s [new file with mode: 0644]
include/elf/ChangeLog
include/elf/tic6x-attrs.h [copied from bfd/elf32-tic6x.h with 84% similarity]
include/elf/tic6x.h
ld/ChangeLog
ld/emulparams/elf32_tic6x_le.sh
ld/testsuite/ChangeLog
ld/testsuite/ld-elf/orphan3.d
ld/testsuite/ld-tic6x/attr-arch-c62x-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c62x.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x+.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c64x.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c674x.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x+.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c62x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c64x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c64x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c674x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c67x+.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x-c67x.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/attr-arch-c67x.s [new file with mode: 0644]