Browse Source

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.
gdb_7_3-branch
Joseph Myers 16 years ago
parent
commit
0547accfd9
  1. 8
      bfd/ChangeLog
  2. 29
      bfd/elf32-tic6x.c
  3. 11
      ld/testsuite/ChangeLog
  4. 6
      ld/testsuite/ld-tic6x/attr-unknown-1.d
  5. 1
      ld/testsuite/ld-tic6x/attr-unknown-1000-1.s
  6. 1
      ld/testsuite/ld-tic6x/attr-unknown-1000-2.s
  7. 1
      ld/testsuite/ld-tic6x/attr-unknown-1024-1.s
  8. 6
      ld/testsuite/ld-tic6x/attr-unknown-2.d
  9. 12
      ld/testsuite/ld-tic6x/attr-unknown-3.d
  10. 11
      ld/testsuite/ld-tic6x/attr-unknown-4.d
  11. 12
      ld/testsuite/ld-tic6x/attr-unknown-5.d
  12. 1
      ld/testsuite/ld-tic6x/attr-unknown-54-1.s
  13. 1
      ld/testsuite/ld-tic6x/attr-unknown-55-a.s
  14. 11
      ld/testsuite/ld-tic6x/attr-unknown-6.d
  15. 6
      ld/testsuite/ld-tic6x/attr-unknown-7.d
  16. 1
      ld/testsuite/ld-tic6x/attr-unknown-71-a.s
  17. 1
      ld/testsuite/ld-tic6x/attr-unknown-71-b.s

8
bfd/ChangeLog

@ -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,

29
bfd/elf32-tic6x.c

@ -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

11
ld/testsuite/ChangeLog

@ -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

@ -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

@ -0,0 +1 @@
.c6xabi_attribute 1000, 1

1
ld/testsuite/ld-tic6x/attr-unknown-1000-2.s

@ -0,0 +1 @@
.c6xabi_attribute 1000, 2

1
ld/testsuite/ld-tic6x/attr-unknown-1024-1.s

@ -0,0 +1 @@
.c6xabi_attribute 1024, 1

6
ld/testsuite/ld-tic6x/attr-unknown-2.d

@ -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

@ -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

@ -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

@ -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

@ -0,0 +1 @@
.c6xabi_attribute 54, 1

1
ld/testsuite/ld-tic6x/attr-unknown-55-a.s

@ -0,0 +1 @@
.c6xabi_attribute 55, "a"

11
ld/testsuite/ld-tic6x/attr-unknown-6.d

@ -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

@ -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

@ -0,0 +1 @@
.c6xabi_attribute 71, "a"

1
ld/testsuite/ld-tic6x/attr-unknown-71-b.s

@ -0,0 +1 @@
.c6xabi_attribute 71, "b"
Loading…
Cancel
Save