mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 13:09:48 +00:00
bfd:
* elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New. (elf32_tic6x_merge_attributes): Use _bfd_elf_merge_unknown_attribute_low and _bfd_elf_merge_unknown_attribute_list. (elf_backend_obj_attrs_handle_unknown): Define. ld/testsuite: * ld-tic6x/attr-unknown-1.d, ld-tic6x/attr-unknown-1000-1.s, ld-tic6x/attr-unknown-1000-2.s, ld-tic6x/attr-unknown-1024-1.s, ld-tic6x/attr-unknown-2.d, ld-tic6x/attr-unknown-3.d, ld-tic6x/attr-unknown-4.d, ld-tic6x/attr-unknown-5.d, ld-tic6x/attr-unknown-54-1.s, ld-tic6x/attr-unknown-55-a.s, ld-tic6x/attr-unknown-6.d, ld-tic6x/attr-unknown-7.d, ld-tic6x/attr-unknown-71-a.s, ld-tic6x/attr-unknown-71-b.s: New tests.
This commit is contained in:
parent
e1a6b26358
commit
0547accfd9
@ -1,3 +1,11 @@
|
||||
2010-11-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
|
||||
(elf32_tic6x_merge_attributes): Use
|
||||
_bfd_elf_merge_unknown_attribute_low and
|
||||
_bfd_elf_merge_unknown_attribute_list.
|
||||
(elf_backend_obj_attrs_handle_unknown): Define.
|
||||
|
||||
2010-11-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
|
||||
|
@ -1679,6 +1679,26 @@ elf32_tic6x_obj_attrs_order (int num)
|
||||
return num;
|
||||
}
|
||||
|
||||
static bfd_boolean
|
||||
elf32_tic6x_obj_attrs_handle_unknown (bfd *abfd, int tag)
|
||||
{
|
||||
if ((tag & 127) < 64)
|
||||
{
|
||||
_bfd_error_handler
|
||||
(_("%B: error: unknown mandatory EABI object attribute %d"),
|
||||
abfd, tag);
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
_bfd_error_handler
|
||||
(_("%B: warning: unknown EABI object attribute %d"),
|
||||
abfd, tag);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Merge the Tag_ISA attribute values ARCH1 and ARCH2
|
||||
and return the merged value. At present, all merges succeed, so no
|
||||
return value for errors is defined. */
|
||||
@ -1938,7 +1958,13 @@ elf32_tic6x_merge_attributes (bfd *ibfd, bfd *obfd)
|
||||
out_attr[i].s = NULL;
|
||||
break;
|
||||
|
||||
case Tag_ABI_compatibility:
|
||||
/* Merged in _bfd_elf_merge_object_attributes. */
|
||||
break;
|
||||
|
||||
default:
|
||||
result
|
||||
= result && _bfd_elf_merge_unknown_attribute_low (ibfd, obfd, i);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1950,6 +1976,8 @@ elf32_tic6x_merge_attributes (bfd *ibfd, bfd *obfd)
|
||||
if (!_bfd_elf_merge_object_attributes (ibfd, obfd))
|
||||
return FALSE;
|
||||
|
||||
result &= _bfd_elf_merge_unknown_attribute_list (ibfd, obfd);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -1984,6 +2012,7 @@ elf32_tic6x_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
|
||||
#define elf_backend_may_use_rel_p 1
|
||||
#define elf_backend_may_use_rela_p 1
|
||||
#define elf_backend_obj_attrs_arg_type elf32_tic6x_obj_attrs_arg_type
|
||||
#define elf_backend_obj_attrs_handle_unknown elf32_tic6x_obj_attrs_handle_unknown
|
||||
#define elf_backend_obj_attrs_order elf32_tic6x_obj_attrs_order
|
||||
#define elf_backend_obj_attrs_section ".c6xabi.attributes"
|
||||
#define elf_backend_obj_attrs_section_type SHT_C6000_ATTRIBUTES
|
||||
|
@ -1,3 +1,14 @@
|
||||
2010-11-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* ld-tic6x/attr-unknown-1.d, ld-tic6x/attr-unknown-1000-1.s,
|
||||
ld-tic6x/attr-unknown-1000-2.s, ld-tic6x/attr-unknown-1024-1.s,
|
||||
ld-tic6x/attr-unknown-2.d, ld-tic6x/attr-unknown-3.d,
|
||||
ld-tic6x/attr-unknown-4.d, ld-tic6x/attr-unknown-5.d,
|
||||
ld-tic6x/attr-unknown-54-1.s, ld-tic6x/attr-unknown-55-a.s,
|
||||
ld-tic6x/attr-unknown-6.d, ld-tic6x/attr-unknown-7.d,
|
||||
ld-tic6x/attr-unknown-71-a.s, ld-tic6x/attr-unknown-71-b.s: New
|
||||
tests.
|
||||
|
||||
2010-11-05 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
* ld-plugin/plugin.exp (testobjfiles): Dont use HOSTING_CRT0.
|
||||
|
6
ld/testsuite/ld-tic6x/attr-unknown-1.d
Normal file
6
ld/testsuite/ld-tic6x/attr-unknown-1.d
Normal file
@ -0,0 +1,6 @@
|
||||
#name: C6X unknown attribute merging 1
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-54-1.s
|
||||
#source: attr-unknown-54-1.s
|
||||
#error: .*error: unknown mandatory EABI object attribute 54
|
1
ld/testsuite/ld-tic6x/attr-unknown-1000-1.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-1000-1.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 1000, 1
|
1
ld/testsuite/ld-tic6x/attr-unknown-1000-2.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-1000-2.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 1000, 2
|
1
ld/testsuite/ld-tic6x/attr-unknown-1024-1.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-1024-1.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 1024, 1
|
6
ld/testsuite/ld-tic6x/attr-unknown-2.d
Normal file
6
ld/testsuite/ld-tic6x/attr-unknown-2.d
Normal file
@ -0,0 +1,6 @@
|
||||
#name: C6X unknown attribute merging 2
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-55-a.s
|
||||
#source: attr-unknown-55-a.s
|
||||
#error: .*error: unknown mandatory EABI object attribute 55
|
12
ld/testsuite/ld-tic6x/attr-unknown-3.d
Normal file
12
ld/testsuite/ld-tic6x/attr-unknown-3.d
Normal file
@ -0,0 +1,12 @@
|
||||
#name: C6X unknown attribute merging 3
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-71-a.s
|
||||
#source: attr-unknown-71-a.s
|
||||
#warning: .*warning: unknown EABI object attribute 71
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_unknown_71: "a"
|
11
ld/testsuite/ld-tic6x/attr-unknown-4.d
Normal file
11
ld/testsuite/ld-tic6x/attr-unknown-4.d
Normal file
@ -0,0 +1,11 @@
|
||||
#name: C6X unknown attribute merging 4
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-71-a.s
|
||||
#source: attr-unknown-71-b.s
|
||||
#warning: .*warning: unknown EABI object attribute 71
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
12
ld/testsuite/ld-tic6x/attr-unknown-5.d
Normal file
12
ld/testsuite/ld-tic6x/attr-unknown-5.d
Normal file
@ -0,0 +1,12 @@
|
||||
#name: C6X unknown attribute merging 5
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-1000-1.s
|
||||
#source: attr-unknown-1000-1.s
|
||||
#warning: .*warning: unknown EABI object attribute 1000
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_unknown_1000: 1 \(0x1\)
|
1
ld/testsuite/ld-tic6x/attr-unknown-54-1.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-54-1.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 54, 1
|
1
ld/testsuite/ld-tic6x/attr-unknown-55-a.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-55-a.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 55, "a"
|
11
ld/testsuite/ld-tic6x/attr-unknown-6.d
Normal file
11
ld/testsuite/ld-tic6x/attr-unknown-6.d
Normal file
@ -0,0 +1,11 @@
|
||||
#name: C6X unknown attribute merging 6
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-1000-1.s
|
||||
#source: attr-unknown-1000-2.s
|
||||
#warning: .*warning: unknown EABI object attribute 1000
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
6
ld/testsuite/ld-tic6x/attr-unknown-7.d
Normal file
6
ld/testsuite/ld-tic6x/attr-unknown-7.d
Normal file
@ -0,0 +1,6 @@
|
||||
#name: C6X unknown attribute merging 7
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-unknown-1024-1.s
|
||||
#source: attr-unknown-1024-1.s
|
||||
#error: .*error: unknown mandatory EABI object attribute 1024
|
1
ld/testsuite/ld-tic6x/attr-unknown-71-a.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-71-a.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 71, "a"
|
1
ld/testsuite/ld-tic6x/attr-unknown-71-b.s
Normal file
1
ld/testsuite/ld-tic6x/attr-unknown-71-b.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 71, "b"
|
Loading…
Reference in New Issue
Block a user