diff options
author | Joseph Myers <joseph@codesourcery.com> | 2010-11-02 14:36:39 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2010-11-02 14:36:39 +0000 |
commit | 877791769e23126090bab077d41f4d6221a23045 (patch) | |
tree | d2bb3fc25263f3ff4f0567b690aa6a453b263da2 /ld | |
parent | 34734a010beee3b56b382dc93249b6cd27c9a373 (diff) | |
download | gdb-877791769e23126090bab077d41f4d6221a23045.zip gdb-877791769e23126090bab077d41f4d6221a23045.tar.gz gdb-877791769e23126090bab077d41f4d6221a23045.tar.bz2 |
bfd:
* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for
Tag_ABI_compatibility, treat odd tags as strings and even ones as
integers.
(elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment,
elf32_tic6x_array_alignment_to_tag): New.
(elf32_tic6x_merge_attributes): Handle more attributes. Set type
for merged attributes.
(elf_backend_obj_attrs_order): Define.
binutils:
* readelf.c (display_tic6x_attribute): Handle more attributes.
gas:
* config/tc-tic6x.c (OPTION_MPID, OPTION_MPIC, OPTION_MNO_PIC):
New enum values.
(md_longopts): Add options mpid, mpic and mno-pic.
(tic6x_pid_type, tic6x_pid, tic6x_pic, tic6x_pid_type_table,
tic6x_pid_types, tic6x_use_pid): New.
(md_parse_option): Handle new options.
(md_show_usage): Output help text for new options.
(tic6x_set_attributes): Set PID and PIC attributes.
* doc/as.texinfo: Document -mpid=, -mpic and -mno-pic.
* doc/c-tic6x.texi (TIC6X Options): Likewise.
gas/testsuite:
* gas/tic6x/attr-array-directive-1.d,
gas/tic6x/attr-array-directive-1.s,
gas/tic6x/attr-array-directive-2.d,
gas/tic6x/attr-array-directive-2.s,
gas/tic6x/attr-array-directive-3.d,
gas/tic6x/attr-array-directive-3.s,
gas/tic6x/attr-array-directive-4.d,
gas/tic6x/attr-array-directive-4.s,
gas/tic6x/attr-conformance-directive-1.d,
gas/tic6x/attr-conformance-directive-1.s,
gas/tic6x/attr-conformance-directive-2.d,
gas/tic6x/attr-conformance-directive-2.s,
gas/tic6x/attr-pic-directive-1.d,
gas/tic6x/attr-pic-directive-1.s,
gas/tic6x/attr-pic-directive-2.d,
gas/tic6x/attr-pic-directive-2.s,
gas/tic6x/attr-pic-opts-mno-pic.d, gas/tic6x/attr-pic-opts-mpic.d,
gas/tic6x/attr-pid-directive-1.d,
gas/tic6x/attr-pid-directive-1.s,
gas/tic6x/attr-pid-directive-2.d,
gas/tic6x/attr-pid-directive-2.s,
gas/tic6x/attr-pid-opts-mpid-far.d,
gas/tic6x/attr-pid-opts-mpid-near.d,
gas/tic6x/attr-pid-opts-mpid-no.d,
gas/tic6x/attr-stack-directive-1.d,
gas/tic6x/attr-stack-directive-1.s,
gas/tic6x/attr-stack-directive-2.d,
gas/tic6x/attr-stack-directive-2.s,
gas/tic6x/attr-wchar-directive-1.d,
gas/tic6x/attr-wchar-directive-1.s,
gas/tic6x/attr-wchar-directive-2.d,
gas/tic6x/attr-wchar-directive-2.s: New tests.
include/elf:
* tic6x-attrs.h (Tag_ABI_wchar_t, Tag_ABI_stack_align_needed,
Tag_ABI_stack_align_preserved, Tag_ABI_PID, Tag_ABI_PIC,
Tag_ABI_array_object_alignment,
Tag_ABI_array_object_align_expected, Tag_ABI_conformance): Define.
ld/testsuite:
* ld-tic6x/attr-array-16-16.d, ld-tic6x/attr-array-16-4.d,
ld-tic6x/attr-array-16-416.d, ld-tic6x/attr-array-16-48.d,
ld-tic6x/attr-array-16-8.d, ld-tic6x/attr-array-16-816.d,
ld-tic6x/attr-array-16.s, ld-tic6x/attr-array-4-16.d,
ld-tic6x/attr-array-4-4.d, ld-tic6x/attr-array-4-416.d,
ld-tic6x/attr-array-4-48.d, ld-tic6x/attr-array-4-8.d,
ld-tic6x/attr-array-4-816.d, ld-tic6x/attr-array-4.s,
ld-tic6x/attr-array-416-16.d, ld-tic6x/attr-array-416-4.d,
ld-tic6x/attr-array-416-416.d, ld-tic6x/attr-array-416-48.d,
ld-tic6x/attr-array-416-8.d, ld-tic6x/attr-array-416-816.d,
ld-tic6x/attr-array-416.s, ld-tic6x/attr-array-48-16.d,
ld-tic6x/attr-array-48-4.d, ld-tic6x/attr-array-48-416.d,
ld-tic6x/attr-array-48-48.d, ld-tic6x/attr-array-48-8.d,
ld-tic6x/attr-array-48-816.d, ld-tic6x/attr-array-48.s,
ld-tic6x/attr-array-8-16.d, ld-tic6x/attr-array-8-4.d,
ld-tic6x/attr-array-8-416.d, ld-tic6x/attr-array-8-48.d,
ld-tic6x/attr-array-8-8.d, ld-tic6x/attr-array-8-816.d,
ld-tic6x/attr-array-8.s, ld-tic6x/attr-array-816-16.d,
ld-tic6x/attr-array-816-4.d, ld-tic6x/attr-array-816-416.d,
ld-tic6x/attr-array-816-48.d, ld-tic6x/attr-array-816-8.d,
ld-tic6x/attr-array-816-816.d, ld-tic6x/attr-array-816.s,
ld-tic6x/attr-conformance-10-10.d,
ld-tic6x/attr-conformance-10-11.d,
ld-tic6x/attr-conformance-10-none.d,
ld-tic6x/attr-conformance-10.s, ld-tic6x/attr-conformance-11-10.d,
ld-tic6x/attr-conformance-11-11.d,
ld-tic6x/attr-conformance-11-none.d,
ld-tic6x/attr-conformance-11.s,
ld-tic6x/attr-conformance-none-10.d,
ld-tic6x/attr-conformance-none-11.d,
ld-tic6x/attr-conformance-none-none.d,
ld-tic6x/attr-conformance-none.s, ld-tic6x/attr-pic-0.s,
ld-tic6x/attr-pic-00.d, ld-tic6x/attr-pic-01.d,
ld-tic6x/attr-pic-1.s, ld-tic6x/attr-pic-10.d,
ld-tic6x/attr-pic-11.d, ld-tic6x/attr-pid-0.s,
ld-tic6x/attr-pid-00.d, ld-tic6x/attr-pid-01.d,
ld-tic6x/attr-pid-02.d, ld-tic6x/attr-pid-1.s,
ld-tic6x/attr-pid-10.d, ld-tic6x/attr-pid-11.d,
ld-tic6x/attr-pid-12.d, ld-tic6x/attr-pid-2.s,
ld-tic6x/attr-pid-20.d, ld-tic6x/attr-pid-21.d,
ld-tic6x/attr-pid-22.d, ld-tic6x/attr-stack-16-16.d,
ld-tic6x/attr-stack-16-8.d, ld-tic6x/attr-stack-16-816.d,
ld-tic6x/attr-stack-16.s, ld-tic6x/attr-stack-8-16.d,
ld-tic6x/attr-stack-8-8.d, ld-tic6x/attr-stack-8-816.d,
ld-tic6x/attr-stack-8.s, ld-tic6x/attr-stack-816-16.d,
ld-tic6x/attr-stack-816-8.d, ld-tic6x/attr-stack-816-816.d,
ld-tic6x/attr-stack-816.s, ld-tic6x/attr-wchar-0.s,
ld-tic6x/attr-wchar-00.d, ld-tic6x/attr-wchar-01.d,
ld-tic6x/attr-wchar-02.d, ld-tic6x/attr-wchar-1.s,
ld-tic6x/attr-wchar-10.d, ld-tic6x/attr-wchar-11.d,
ld-tic6x/attr-wchar-12.d, ld-tic6x/attr-wchar-2.s,
ld-tic6x/attr-wchar-20.d, ld-tic6x/attr-wchar-21.d,
ld-tic6x/attr-wchar-22.d: New tests.
Diffstat (limited to 'ld')
97 files changed, 803 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 8ec2ab8..8d49e4a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,59 @@ +2010-11-02 Joseph Myers <joseph@codesourcery.com> + + * ld-tic6x/attr-array-16-16.d, ld-tic6x/attr-array-16-4.d, + ld-tic6x/attr-array-16-416.d, ld-tic6x/attr-array-16-48.d, + ld-tic6x/attr-array-16-8.d, ld-tic6x/attr-array-16-816.d, + ld-tic6x/attr-array-16.s, ld-tic6x/attr-array-4-16.d, + ld-tic6x/attr-array-4-4.d, ld-tic6x/attr-array-4-416.d, + ld-tic6x/attr-array-4-48.d, ld-tic6x/attr-array-4-8.d, + ld-tic6x/attr-array-4-816.d, ld-tic6x/attr-array-4.s, + ld-tic6x/attr-array-416-16.d, ld-tic6x/attr-array-416-4.d, + ld-tic6x/attr-array-416-416.d, ld-tic6x/attr-array-416-48.d, + ld-tic6x/attr-array-416-8.d, ld-tic6x/attr-array-416-816.d, + ld-tic6x/attr-array-416.s, ld-tic6x/attr-array-48-16.d, + ld-tic6x/attr-array-48-4.d, ld-tic6x/attr-array-48-416.d, + ld-tic6x/attr-array-48-48.d, ld-tic6x/attr-array-48-8.d, + ld-tic6x/attr-array-48-816.d, ld-tic6x/attr-array-48.s, + ld-tic6x/attr-array-8-16.d, ld-tic6x/attr-array-8-4.d, + ld-tic6x/attr-array-8-416.d, ld-tic6x/attr-array-8-48.d, + ld-tic6x/attr-array-8-8.d, ld-tic6x/attr-array-8-816.d, + ld-tic6x/attr-array-8.s, ld-tic6x/attr-array-816-16.d, + ld-tic6x/attr-array-816-4.d, ld-tic6x/attr-array-816-416.d, + ld-tic6x/attr-array-816-48.d, ld-tic6x/attr-array-816-8.d, + ld-tic6x/attr-array-816-816.d, ld-tic6x/attr-array-816.s, + ld-tic6x/attr-conformance-10-10.d, + ld-tic6x/attr-conformance-10-11.d, + ld-tic6x/attr-conformance-10-none.d, + ld-tic6x/attr-conformance-10.s, ld-tic6x/attr-conformance-11-10.d, + ld-tic6x/attr-conformance-11-11.d, + ld-tic6x/attr-conformance-11-none.d, + ld-tic6x/attr-conformance-11.s, + ld-tic6x/attr-conformance-none-10.d, + ld-tic6x/attr-conformance-none-11.d, + ld-tic6x/attr-conformance-none-none.d, + ld-tic6x/attr-conformance-none.s, ld-tic6x/attr-pic-0.s, + ld-tic6x/attr-pic-00.d, ld-tic6x/attr-pic-01.d, + ld-tic6x/attr-pic-1.s, ld-tic6x/attr-pic-10.d, + ld-tic6x/attr-pic-11.d, ld-tic6x/attr-pid-0.s, + ld-tic6x/attr-pid-00.d, ld-tic6x/attr-pid-01.d, + ld-tic6x/attr-pid-02.d, ld-tic6x/attr-pid-1.s, + ld-tic6x/attr-pid-10.d, ld-tic6x/attr-pid-11.d, + ld-tic6x/attr-pid-12.d, ld-tic6x/attr-pid-2.s, + ld-tic6x/attr-pid-20.d, ld-tic6x/attr-pid-21.d, + ld-tic6x/attr-pid-22.d, ld-tic6x/attr-stack-16-16.d, + ld-tic6x/attr-stack-16-8.d, ld-tic6x/attr-stack-16-816.d, + ld-tic6x/attr-stack-16.s, ld-tic6x/attr-stack-8-16.d, + ld-tic6x/attr-stack-8-8.d, ld-tic6x/attr-stack-8-816.d, + ld-tic6x/attr-stack-8.s, ld-tic6x/attr-stack-816-16.d, + ld-tic6x/attr-stack-816-8.d, ld-tic6x/attr-stack-816-816.d, + ld-tic6x/attr-stack-816.s, ld-tic6x/attr-wchar-0.s, + ld-tic6x/attr-wchar-00.d, ld-tic6x/attr-wchar-01.d, + ld-tic6x/attr-wchar-02.d, ld-tic6x/attr-wchar-1.s, + ld-tic6x/attr-wchar-10.d, ld-tic6x/attr-wchar-11.d, + ld-tic6x/attr-wchar-12.d, ld-tic6x/attr-wchar-2.s, + ld-tic6x/attr-wchar-20.d, ld-tic6x/attr-wchar-21.d, + ld-tic6x/attr-wchar-22.d: New tests. + 2010-11-02 H.J. Lu <hongjiu.lu@intel.com> * ld-elf/compress1a.d: Also check MIPS_DWARF. diff --git a/ld/testsuite/ld-tic6x/attr-array-16-16.d b/ld/testsuite/ld-tic6x/attr-array-16-16.d new file mode 100644 index 0000000..d39e045 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-16.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 16 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-16.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-16-4.d b/ld/testsuite/ld-tic6x/attr-array-16-4.d new file mode 100644 index 0000000..1d38f2a --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-4.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 16 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-4.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-16-416.d b/ld/testsuite/ld-tic6x/attr-array-16-416.d new file mode 100644 index 0000000..ec74ed5 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-416.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 16 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-16-48.d b/ld/testsuite/ld-tic6x/attr-array-16-48.d new file mode 100644 index 0000000..5ef2908 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-48.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 16 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-48.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-16-8.d b/ld/testsuite/ld-tic6x/attr-array-16-8.d new file mode 100644 index 0000000..e8228f0 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-8.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 16 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-8.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-16-816.d b/ld/testsuite/ld-tic6x/attr-array-16-816.d new file mode 100644 index 0000000..14bc9846 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16-816.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 16 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-16.s +#source: attr-array-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-16.s b/ld/testsuite/ld-tic6x/attr-array-16.s new file mode 100644 index 0000000..70401ff --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-16.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 2 +.c6xabi_attribute Tag_ABI_array_object_alignment, 2 diff --git a/ld/testsuite/ld-tic6x/attr-array-4-16.d b/ld/testsuite/ld-tic6x/attr-array-4-16.d new file mode 100644 index 0000000..3c2c138 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-16.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 4 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-16.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-4-4.d b/ld/testsuite/ld-tic6x/attr-array-4-4.d new file mode 100644 index 0000000..920ff10 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-4.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 4 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-4.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 4-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-4-416.d b/ld/testsuite/ld-tic6x/attr-array-4-416.d new file mode 100644 index 0000000..1b5e516 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-416.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 4 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 4-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-4-48.d b/ld/testsuite/ld-tic6x/attr-array-4-48.d new file mode 100644 index 0000000..e998162 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-48.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 4 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-48.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 4-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-4-8.d b/ld/testsuite/ld-tic6x/attr-array-4-8.d new file mode 100644 index 0000000..d8b41c7 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-8.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 4 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-8.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-4-816.d b/ld/testsuite/ld-tic6x/attr-array-4-816.d new file mode 100644 index 0000000..a4dcc01 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4-816.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 4 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-4.s +#source: attr-array-816.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-4.s b/ld/testsuite/ld-tic6x/attr-array-4.s new file mode 100644 index 0000000..abaa25f --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-4.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 +.c6xabi_attribute Tag_ABI_array_object_alignment, 1 diff --git a/ld/testsuite/ld-tic6x/attr-array-416-16.d b/ld/testsuite/ld-tic6x/attr-array-416-16.d new file mode 100644 index 0000000..8168658 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-16.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 416 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-16.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-416-4.d b/ld/testsuite/ld-tic6x/attr-array-416-4.d new file mode 100644 index 0000000..53d4bc7 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-4.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 416 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-4.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 4-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-416-416.d b/ld/testsuite/ld-tic6x/attr-array-416-416.d new file mode 100644 index 0000000..9ca864d --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-416.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 416 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-416-48.d b/ld/testsuite/ld-tic6x/attr-array-416-48.d new file mode 100644 index 0000000..760a023 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-48.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 416 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-48.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-416-8.d b/ld/testsuite/ld-tic6x/attr-array-416-8.d new file mode 100644 index 0000000..58a4325 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-8.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 416 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-416-816.d b/ld/testsuite/ld-tic6x/attr-array-416-816.d new file mode 100644 index 0000000..12b4abc --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416-816.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 416 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-416.s +#source: attr-array-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-416.s b/ld/testsuite/ld-tic6x/attr-array-416.s new file mode 100644 index 0000000..a9cba9d --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-416.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 +.c6xabi_attribute Tag_ABI_array_object_alignment, 2 diff --git a/ld/testsuite/ld-tic6x/attr-array-48-16.d b/ld/testsuite/ld-tic6x/attr-array-48-16.d new file mode 100644 index 0000000..68fa058 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-16.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 48 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-16.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-48-4.d b/ld/testsuite/ld-tic6x/attr-array-48-4.d new file mode 100644 index 0000000..76faefa --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-4.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 48 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-4.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 4-byte + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-48-416.d b/ld/testsuite/ld-tic6x/attr-array-48-416.d new file mode 100644 index 0000000..c02d8f9 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-416.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 48 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-48-48.d b/ld/testsuite/ld-tic6x/attr-array-48-48.d new file mode 100644 index 0000000..9801173 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-48.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 48 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-48.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_align_expected: 4-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-48-8.d b/ld/testsuite/ld-tic6x/attr-array-48-8.d new file mode 100644 index 0000000..cd70604 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-8.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 48 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-48-816.d b/ld/testsuite/ld-tic6x/attr-array-48-816.d new file mode 100644 index 0000000..795d839 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48-816.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 48 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-48.s +#source: attr-array-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-48.s b/ld/testsuite/ld-tic6x/attr-array-48.s new file mode 100644 index 0000000..a1cb22a --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-48.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 1 +.c6xabi_attribute Tag_ABI_array_object_alignment, 0 diff --git a/ld/testsuite/ld-tic6x/attr-array-8-16.d b/ld/testsuite/ld-tic6x/attr-array-8-16.d new file mode 100644 index 0000000..0d6bafb --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-16.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 8 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-16.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-8-4.d b/ld/testsuite/ld-tic6x/attr-array-8-4.d new file mode 100644 index 0000000..c7a6033 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-4.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 8 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-4.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-8-416.d b/ld/testsuite/ld-tic6x/attr-array-8-416.d new file mode 100644 index 0000000..f5f5261 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-416.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 8 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-8-48.d b/ld/testsuite/ld-tic6x/attr-array-8-48.d new file mode 100644 index 0000000..506ec4c --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-48.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 8 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-48.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-8-8.d b/ld/testsuite/ld-tic6x/attr-array-8-8.d new file mode 100644 index 0000000..86329f3 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-8.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 8 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-8-816.d b/ld/testsuite/ld-tic6x/attr-array-8-816.d new file mode 100644 index 0000000..ecb9374 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8-816.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 8 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-8.s +#source: attr-array-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-8.s b/ld/testsuite/ld-tic6x/attr-array-8.s new file mode 100644 index 0000000..2d69687 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-8.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 0 +.c6xabi_attribute Tag_ABI_array_object_alignment, 0 diff --git a/ld/testsuite/ld-tic6x/attr-array-816-16.d b/ld/testsuite/ld-tic6x/attr-array-816-16.d new file mode 100644 index 0000000..2ef2f8e --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-16.d @@ -0,0 +1,12 @@ +#name: C6X array attribute merging, 816 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-16.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte + Tag_ABI_array_object_align_expected: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-816-4.d b/ld/testsuite/ld-tic6x/attr-array-816-4.d new file mode 100644 index 0000000..bd06a2d --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-4.d @@ -0,0 +1,6 @@ +#name: C6X array attribute merging, 816 4 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-4.s +#error: .*requires more array alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-array-816-416.d b/ld/testsuite/ld-tic6x/attr-array-816-416.d new file mode 100644 index 0000000..9563f7e --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-416.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 816 416 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-416.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-816-48.d b/ld/testsuite/ld-tic6x/attr-array-816-48.d new file mode 100644 index 0000000..e965643 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-48.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 816 48 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-48.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-816-8.d b/ld/testsuite/ld-tic6x/attr-array-816-8.d new file mode 100644 index 0000000..7a29cc5 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-8.d @@ -0,0 +1,10 @@ +#name: C6X array attribute merging, 816 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-array-816-816.d b/ld/testsuite/ld-tic6x/attr-array-816-816.d new file mode 100644 index 0000000..0888eae --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816-816.d @@ -0,0 +1,11 @@ +#name: C6X array attribute merging, 816 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-array-816.s +#source: attr-array-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_array_object_alignment: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-array-816.s b/ld/testsuite/ld-tic6x/attr-array-816.s new file mode 100644 index 0000000..49ac948 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-array-816.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_array_object_align_expected, 0 +.c6xabi_attribute Tag_ABI_array_object_alignment, 2 diff --git a/ld/testsuite/ld-tic6x/attr-conformance-10-10.d b/ld/testsuite/ld-tic6x/attr-conformance-10-10.d new file mode 100644 index 0000000..a16e503 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-10-10.d @@ -0,0 +1,11 @@ +#name: C6X conformance attribute merging, 10 10 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-10.s +#source: attr-conformance-10.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ABI_conformance: "1.0" + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-10-11.d b/ld/testsuite/ld-tic6x/attr-conformance-10-11.d new file mode 100644 index 0000000..94993d9 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-10-11.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, 10 11 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-10.s +#source: attr-conformance-11.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-10-none.d b/ld/testsuite/ld-tic6x/attr-conformance-10-none.d new file mode 100644 index 0000000..2de2b50 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-10-none.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, 10 none +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-10.s +#source: attr-conformance-none.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-10.s b/ld/testsuite/ld-tic6x/attr-conformance-10.s new file mode 100644 index 0000000..2964084 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-10.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_conformance, "1.0" diff --git a/ld/testsuite/ld-tic6x/attr-conformance-11-10.d b/ld/testsuite/ld-tic6x/attr-conformance-11-10.d new file mode 100644 index 0000000..34ebd26 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-11-10.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, 11 10 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-11.s +#source: attr-conformance-10.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-11-11.d b/ld/testsuite/ld-tic6x/attr-conformance-11-11.d new file mode 100644 index 0000000..43ff4a2 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-11-11.d @@ -0,0 +1,11 @@ +#name: C6X conformance attribute merging, 11 11 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-11.s +#source: attr-conformance-11.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ABI_conformance: "1.1" + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-11-none.d b/ld/testsuite/ld-tic6x/attr-conformance-11-none.d new file mode 100644 index 0000000..ad5c58e --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-11-none.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, 11 none +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-11.s +#source: attr-conformance-none.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-11.s b/ld/testsuite/ld-tic6x/attr-conformance-11.s new file mode 100644 index 0000000..d33640c --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-11.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_conformance, "1.1" diff --git a/ld/testsuite/ld-tic6x/attr-conformance-none-10.d b/ld/testsuite/ld-tic6x/attr-conformance-none-10.d new file mode 100644 index 0000000..94bf8db --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-none-10.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, none 10 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-none.s +#source: attr-conformance-10.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-none-11.d b/ld/testsuite/ld-tic6x/attr-conformance-none-11.d new file mode 100644 index 0000000..e9ff4c8 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-none-11.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, none 11 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-none.s +#source: attr-conformance-11.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-none-none.d b/ld/testsuite/ld-tic6x/attr-conformance-none-none.d new file mode 100644 index 0000000..6856355 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-none-none.d @@ -0,0 +1,10 @@ +#name: C6X conformance attribute merging, none none +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-conformance-none.s +#source: attr-conformance-none.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-conformance-none.s b/ld/testsuite/ld-tic6x/attr-conformance-none.s new file mode 100644 index 0000000..ffd9c71 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-conformance-none.s @@ -0,0 +1 @@ +# No conformance attribute. diff --git a/ld/testsuite/ld-tic6x/attr-pic-0.s b/ld/testsuite/ld-tic6x/attr-pic-0.s new file mode 100644 index 0000000..64b8ec9 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-0.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_PIC, 0 diff --git a/ld/testsuite/ld-tic6x/attr-pic-00.d b/ld/testsuite/ld-tic6x/attr-pic-00.d new file mode 100644 index 0000000..b8b3f52 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-00.d @@ -0,0 +1,10 @@ +#name: C6X PIC attribute merging, 0 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pic-0.s +#source: attr-pic-0.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-pic-01.d b/ld/testsuite/ld-tic6x/attr-pic-01.d new file mode 100644 index 0000000..a04713f --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-01.d @@ -0,0 +1,6 @@ +#name: C6X PIC attribute merging, 0 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pic-0.s +#source: attr-pic-1.s +#warning: .*differ in position-dependence of code addressing diff --git a/ld/testsuite/ld-tic6x/attr-pic-1.s b/ld/testsuite/ld-tic6x/attr-pic-1.s new file mode 100644 index 0000000..2bab373 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-1.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_PIC, 1 diff --git a/ld/testsuite/ld-tic6x/attr-pic-10.d b/ld/testsuite/ld-tic6x/attr-pic-10.d new file mode 100644 index 0000000..bc781c4 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-10.d @@ -0,0 +1,6 @@ +#name: C6X PIC attribute merging, 1 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pic-1.s +#source: attr-pic-0.s +#warning: .*differ in position-dependence of code addressing diff --git a/ld/testsuite/ld-tic6x/attr-pic-11.d b/ld/testsuite/ld-tic6x/attr-pic-11.d new file mode 100644 index 0000000..6fd720d --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pic-11.d @@ -0,0 +1,11 @@ +#name: C6X PIC attribute merging, 1 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pic-1.s +#source: attr-pic-1.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_PIC: Code addressing position-independent diff --git a/ld/testsuite/ld-tic6x/attr-pid-0.s b/ld/testsuite/ld-tic6x/attr-pid-0.s new file mode 100644 index 0000000..d2ea7ad --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-0.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_PID, 0 diff --git a/ld/testsuite/ld-tic6x/attr-pid-00.d b/ld/testsuite/ld-tic6x/attr-pid-00.d new file mode 100644 index 0000000..573cfda --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-00.d @@ -0,0 +1,10 @@ +#name: C6X PID attribute merging, 0 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-0.s +#source: attr-pid-0.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-pid-01.d b/ld/testsuite/ld-tic6x/attr-pid-01.d new file mode 100644 index 0000000..5c32e15 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-01.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 0 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-0.s +#source: attr-pid-1.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-02.d b/ld/testsuite/ld-tic6x/attr-pid-02.d new file mode 100644 index 0000000..d155b56 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-02.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 0 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-0.s +#source: attr-pid-2.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-1.s b/ld/testsuite/ld-tic6x/attr-pid-1.s new file mode 100644 index 0000000..b973177 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-1.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_PID, 1 diff --git a/ld/testsuite/ld-tic6x/attr-pid-10.d b/ld/testsuite/ld-tic6x/attr-pid-10.d new file mode 100644 index 0000000..edb8a65 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-10.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 1 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-1.s +#source: attr-pid-0.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-11.d b/ld/testsuite/ld-tic6x/attr-pid-11.d new file mode 100644 index 0000000..7498282 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-11.d @@ -0,0 +1,11 @@ +#name: C6X PID attribute merging, 1 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-1.s +#source: attr-pid-1.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_PID: Data addressing position-independent, GOT near DP diff --git a/ld/testsuite/ld-tic6x/attr-pid-12.d b/ld/testsuite/ld-tic6x/attr-pid-12.d new file mode 100644 index 0000000..138ae88 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-12.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 1 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-1.s +#source: attr-pid-2.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-2.s b/ld/testsuite/ld-tic6x/attr-pid-2.s new file mode 100644 index 0000000..f556188 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-2.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_PID, 2 diff --git a/ld/testsuite/ld-tic6x/attr-pid-20.d b/ld/testsuite/ld-tic6x/attr-pid-20.d new file mode 100644 index 0000000..ce319bd --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-20.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 2 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-2.s +#source: attr-pid-0.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-21.d b/ld/testsuite/ld-tic6x/attr-pid-21.d new file mode 100644 index 0000000..7097db6 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-21.d @@ -0,0 +1,6 @@ +#name: C6X PID attribute merging, 2 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-2.s +#source: attr-pid-1.s +#warning: .*differ in position-dependence of data addressing diff --git a/ld/testsuite/ld-tic6x/attr-pid-22.d b/ld/testsuite/ld-tic6x/attr-pid-22.d new file mode 100644 index 0000000..7a3fe47 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-pid-22.d @@ -0,0 +1,11 @@ +#name: C6X PID attribute merging, 2 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-pid-2.s +#source: attr-pid-2.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_PID: Data addressing position-independent, GOT far from DP diff --git a/ld/testsuite/ld-tic6x/attr-stack-16-16.d b/ld/testsuite/ld-tic6x/attr-stack-16-16.d new file mode 100644 index 0000000..8eb94bd --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-16-16.d @@ -0,0 +1,12 @@ +#name: C6X stack attribute merging, 16 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-16.s +#source: attr-stack-16.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_stack_align_needed: 16-byte + Tag_ABI_stack_align_preserved: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-stack-16-8.d b/ld/testsuite/ld-tic6x/attr-stack-16-8.d new file mode 100644 index 0000000..291a368 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-16-8.d @@ -0,0 +1,6 @@ +#name: C6X stack attribute merging, 16 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-16.s +#source: attr-stack-8.s +#error: .*requires more stack alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-stack-16-816.d b/ld/testsuite/ld-tic6x/attr-stack-16-816.d new file mode 100644 index 0000000..cbd384f --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-16-816.d @@ -0,0 +1,12 @@ +#name: C6X stack attribute merging, 16 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-16.s +#source: attr-stack-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_stack_align_needed: 16-byte + Tag_ABI_stack_align_preserved: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-stack-16.s b/ld/testsuite/ld-tic6x/attr-stack-16.s new file mode 100644 index 0000000..b1e492a --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-16.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_stack_align_needed, 1 +.c6xabi_attribute Tag_ABI_stack_align_preserved, 1 diff --git a/ld/testsuite/ld-tic6x/attr-stack-8-16.d b/ld/testsuite/ld-tic6x/attr-stack-8-16.d new file mode 100644 index 0000000..9e52e92 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-8-16.d @@ -0,0 +1,6 @@ +#name: C6X stack attribute merging, 8 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-8.s +#source: attr-stack-16.s +#error: .*requires more stack alignment than .* preserves diff --git a/ld/testsuite/ld-tic6x/attr-stack-8-8.d b/ld/testsuite/ld-tic6x/attr-stack-8-8.d new file mode 100644 index 0000000..1a8cb62 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-8-8.d @@ -0,0 +1,10 @@ +#name: C6X stack attribute merging, 8 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-8.s +#source: attr-stack-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-stack-8-816.d b/ld/testsuite/ld-tic6x/attr-stack-8-816.d new file mode 100644 index 0000000..89a0740 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-8-816.d @@ -0,0 +1,10 @@ +#name: C6X stack attribute merging, 8 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-8.s +#source: attr-stack-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-stack-8.s b/ld/testsuite/ld-tic6x/attr-stack-8.s new file mode 100644 index 0000000..ce63951 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-8.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_stack_align_needed, 0 +.c6xabi_attribute Tag_ABI_stack_align_preserved, 0 diff --git a/ld/testsuite/ld-tic6x/attr-stack-816-16.d b/ld/testsuite/ld-tic6x/attr-stack-816-16.d new file mode 100644 index 0000000..da8ca3b --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-816-16.d @@ -0,0 +1,12 @@ +#name: C6X stack attribute merging, 816 16 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-816.s +#source: attr-stack-16.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_stack_align_needed: 16-byte + Tag_ABI_stack_align_preserved: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-stack-816-8.d b/ld/testsuite/ld-tic6x/attr-stack-816-8.d new file mode 100644 index 0000000..fe8630e --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-816-8.d @@ -0,0 +1,10 @@ +#name: C6X stack attribute merging, 816 8 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-816.s +#source: attr-stack-8.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-stack-816-816.d b/ld/testsuite/ld-tic6x/attr-stack-816-816.d new file mode 100644 index 0000000..0ab01ac --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-816-816.d @@ -0,0 +1,11 @@ +#name: C6X stack attribute merging, 816 816 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-stack-816.s +#source: attr-stack-816.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_stack_align_preserved: 16-byte diff --git a/ld/testsuite/ld-tic6x/attr-stack-816.s b/ld/testsuite/ld-tic6x/attr-stack-816.s new file mode 100644 index 0000000..46295d2 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-stack-816.s @@ -0,0 +1,2 @@ +.c6xabi_attribute Tag_ABI_stack_align_needed, 0 +.c6xabi_attribute Tag_ABI_stack_align_preserved, 1 diff --git a/ld/testsuite/ld-tic6x/attr-wchar-0.s b/ld/testsuite/ld-tic6x/attr-wchar-0.s new file mode 100644 index 0000000..5427103 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-0.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_wchar_t, 0 diff --git a/ld/testsuite/ld-tic6x/attr-wchar-00.d b/ld/testsuite/ld-tic6x/attr-wchar-00.d new file mode 100644 index 0000000..3f5feae --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-00.d @@ -0,0 +1,10 @@ +#name: C6X wchar_t attribute merging, 0 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-0.s +#source: attr-wchar-0.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x diff --git a/ld/testsuite/ld-tic6x/attr-wchar-01.d b/ld/testsuite/ld-tic6x/attr-wchar-01.d new file mode 100644 index 0000000..e32ded6 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-01.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 0 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-0.s +#source: attr-wchar-1.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 2 bytes diff --git a/ld/testsuite/ld-tic6x/attr-wchar-02.d b/ld/testsuite/ld-tic6x/attr-wchar-02.d new file mode 100644 index 0000000..57ed66b --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-02.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 0 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-0.s +#source: attr-wchar-2.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 4 bytes diff --git a/ld/testsuite/ld-tic6x/attr-wchar-1.s b/ld/testsuite/ld-tic6x/attr-wchar-1.s new file mode 100644 index 0000000..69d1186 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-1.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_wchar_t, 1 diff --git a/ld/testsuite/ld-tic6x/attr-wchar-10.d b/ld/testsuite/ld-tic6x/attr-wchar-10.d new file mode 100644 index 0000000..c476859 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-10.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 1 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-1.s +#source: attr-wchar-0.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 2 bytes diff --git a/ld/testsuite/ld-tic6x/attr-wchar-11.d b/ld/testsuite/ld-tic6x/attr-wchar-11.d new file mode 100644 index 0000000..5105d19 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-11.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 1 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-1.s +#source: attr-wchar-1.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 2 bytes diff --git a/ld/testsuite/ld-tic6x/attr-wchar-12.d b/ld/testsuite/ld-tic6x/attr-wchar-12.d new file mode 100644 index 0000000..a0d3bd8 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-12.d @@ -0,0 +1,6 @@ +#name: C6X wchar_t attribute merging, 1 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-1.s +#source: attr-wchar-2.s +#warning: .*differ in wchar_t size diff --git a/ld/testsuite/ld-tic6x/attr-wchar-2.s b/ld/testsuite/ld-tic6x/attr-wchar-2.s new file mode 100644 index 0000000..cf87e4c --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-2.s @@ -0,0 +1 @@ +.c6xabi_attribute Tag_ABI_wchar_t, 2 diff --git a/ld/testsuite/ld-tic6x/attr-wchar-20.d b/ld/testsuite/ld-tic6x/attr-wchar-20.d new file mode 100644 index 0000000..9a2b356 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-20.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 2 0 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-2.s +#source: attr-wchar-0.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 4 bytes diff --git a/ld/testsuite/ld-tic6x/attr-wchar-21.d b/ld/testsuite/ld-tic6x/attr-wchar-21.d new file mode 100644 index 0000000..60d06f1 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-21.d @@ -0,0 +1,6 @@ +#name: C6X wchar_t attribute merging, 2 1 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-2.s +#source: attr-wchar-1.s +#warning: .*differ in wchar_t size diff --git a/ld/testsuite/ld-tic6x/attr-wchar-22.d b/ld/testsuite/ld-tic6x/attr-wchar-22.d new file mode 100644 index 0000000..7500a31 --- /dev/null +++ b/ld/testsuite/ld-tic6x/attr-wchar-22.d @@ -0,0 +1,11 @@ +#name: C6X wchar_t attribute merging, 2 2 +#as: -mlittle-endian +#ld: -r -melf32_tic6x_le +#source: attr-wchar-2.s +#source: attr-wchar-2.s +#readelf: -A + +Attribute Section: c6xabi +File Attributes + Tag_ISA: C674x + Tag_ABI_wchar_t: 4 bytes |