bfd:
* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check Tag_ABI_compatibility not Tag_compatibility. (elf32_tic6x_merge_attributes): Update compatibility attribute name in comment. Return FALSE if merging common attributes fails. binutils: * readelf.c (display_tic6x_attribute): Use Tag_ABI_compatibility not hardcoded 32. Display name of this attribute. gas: * doc/c-tic6x.texi (TIC6X Directives): Mention Tag_ABI_compatibility. gas/testsuite: * gas/tic6x/attr-compatibility-directive-1.d, gas/tic6x/attr-compatibility-directive-1.s, gas/tic6x/attr-compatibility-directive-2.d, gas/tic6x/attr-compatibility-directive-2.s: New tests. include/elf: * tic6x-attrs.h (Tag_ABI_compatibility): Define. ld/testsuite: * ld-tic6x/attr-compatibility-gnu-gnu.d, ld-tic6x/attr-compatibility-gnu-other.d, ld-tic6x/attr-compatibility-gnu.s, ld-tic6x/attr-compatibility-other-gnu.d, ld-tic6x/attr-compatibility-other-other.d, ld-tic6x/attr-compatibility-other.s: New tests.
This commit is contained in:
parent
29d4a7cacd
commit
3cbd1c0665
|
@ -1,3 +1,10 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check
|
||||
Tag_ABI_compatibility not Tag_compatibility.
|
||||
(elf32_tic6x_merge_attributes): Update compatibility attribute
|
||||
name in comment. Return FALSE if merging common attributes fails.
|
||||
|
||||
2010-10-29 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR bintils/6962
|
||||
|
|
|
@ -1661,7 +1661,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
|
|||
static int
|
||||
elf32_tic6x_obj_attrs_arg_type (int tag)
|
||||
{
|
||||
if (tag == Tag_compatibility)
|
||||
if (tag == Tag_ABI_compatibility)
|
||||
return ATTR_TYPE_FLAG_INT_VAL | ATTR_TYPE_FLAG_STR_VAL;
|
||||
else
|
||||
/* Correct for known attributes, arbitrary for others. */
|
||||
|
@ -1729,8 +1729,9 @@ elf32_tic6x_merge_attributes (bfd *ibfd, bfd *obfd)
|
|||
(_("warning: %B and %B differ in whether code is compiled for DSBT"),
|
||||
obfd, ibfd);
|
||||
}
|
||||
/* Merge Tag_compatibility attributes and any common GNU ones. */
|
||||
_bfd_elf_merge_object_attributes (ibfd, obfd);
|
||||
/* Merge Tag_ABI_compatibility attributes and any common GNU ones. */
|
||||
if (!_bfd_elf_merge_object_attributes (ibfd, obfd))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* readelf.c (display_tic6x_attribute): Use Tag_ABI_compatibility
|
||||
not hardcoded 32. Display name of this attribute.
|
||||
|
||||
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* addr2line.c (process_file): Set BFD_DECOMPRESS.
|
||||
|
|
|
@ -10822,11 +10822,10 @@ display_tic6x_attribute (unsigned char * p)
|
|||
}
|
||||
return p;
|
||||
|
||||
case 32:
|
||||
/* Tag_compatibility - treated as generic by binutils for now
|
||||
although not currently specified for C6X. */
|
||||
case Tag_ABI_compatibility:
|
||||
val = read_uleb128 (p, &len);
|
||||
p += len;
|
||||
printf (" Tag_ABI_compatibility: ");
|
||||
printf (_("flag = %d, vendor = %s\n"), val, p);
|
||||
p += strlen ((char *) p) + 1;
|
||||
return p;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* doc/c-tic6x.texi (TIC6X Directives): Mention
|
||||
Tag_ABI_compatibility.
|
||||
|
||||
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* write.c (compress_debug): Optimize section flags check.
|
||||
|
|
|
@ -125,7 +125,7 @@ These have the same effects as @option{-matomic} and
|
|||
Set the C6000 EABI build attribute @var{tag} to @var{value}.
|
||||
|
||||
The @var{tag} is either an attribute number or one of
|
||||
@code{Tag_ISA} or @code{Tag_ABI_DSBT}. The
|
||||
@code{Tag_ISA}, @code{Tag_ABI_DSBT} and @code{Tag_ABI_compatibility}. The
|
||||
@var{value} is either a @code{number}, @code{"string"}, or
|
||||
@code{number, "string"} depending on the tag.
|
||||
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gas/tic6x/attr-compatibility-directive-1.d,
|
||||
gas/tic6x/attr-compatibility-directive-1.s,
|
||||
gas/tic6x/attr-compatibility-directive-2.d,
|
||||
gas/tic6x/attr-compatibility-directive-2.s: New tests.
|
||||
|
||||
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf/dwarf2-1.s: Replace .zdebug_abbrev section with
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
#readelf: -A
|
||||
#name: C6X compatibility attribute, directives 1
|
||||
#as:
|
||||
#source: attr-compatibility-directive-1.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_compatibility: flag = 1, vendor = gnu
|
|
@ -0,0 +1 @@
|
|||
.c6xabi_attribute Tag_ABI_compatibility, 1, "gnu"
|
|
@ -0,0 +1,9 @@
|
|||
#readelf: -A
|
||||
#name: C6X compatibility attribute, directives 2
|
||||
#as:
|
||||
#source: attr-compatibility-directive-2.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_compatibility: flag = 1, vendor = gnu
|
|
@ -0,0 +1 @@
|
|||
.c6xabi_attribute 32, 1, "gnu"
|
|
@ -1,3 +1,7 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* tic6x-attrs.h (Tag_ABI_compatibility): Define.
|
||||
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
|
|
|
@ -24,3 +24,4 @@
|
|||
|
||||
TAG(Tag_ISA, 4)
|
||||
TAG(Tag_ABI_DSBT, 12)
|
||||
TAG(Tag_ABI_compatibility, 32)
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2010-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* ld-tic6x/attr-compatibility-gnu-gnu.d,
|
||||
ld-tic6x/attr-compatibility-gnu-other.d,
|
||||
ld-tic6x/attr-compatibility-gnu.s,
|
||||
ld-tic6x/attr-compatibility-other-gnu.d,
|
||||
ld-tic6x/attr-compatibility-other-other.d,
|
||||
ld-tic6x/attr-compatibility-other.s: New tests.
|
||||
|
||||
2010-10-29 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* ld-elf/compress1c.d: Only run for Linux targets.
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#name: C6X compatibility attribute merging, gnu gnu
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-compatibility-gnu.s
|
||||
#source: attr-compatibility-gnu.s
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_compatibility: flag = 1, vendor = gnu
|
|
@ -0,0 +1,6 @@
|
|||
#name: C6X compatibility attribute merging, gnu other
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-compatibility-gnu.s
|
||||
#source: attr-compatibility-other.s
|
||||
#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain
|
|
@ -0,0 +1 @@
|
|||
.c6xabi_attribute Tag_ABI_compatibility, 1, "gnu"
|
|
@ -0,0 +1,6 @@
|
|||
#name: C6X compatibility attribute merging, other gnu
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-compatibility-other.s
|
||||
#source: attr-compatibility-gnu.s
|
||||
#error: .*Object tag '1, gnu' is incompatible with tag '1, other'
|
|
@ -0,0 +1,6 @@
|
|||
#name: C6X compatibility attribute merging, other other
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-compatibility-other.s
|
||||
#source: attr-compatibility-other.s
|
||||
#error: .*Object has vendor-specific contents that must be processed by the 'other' toolchain
|
|
@ -0,0 +1 @@
|
|||
.c6xabi_attribute Tag_ABI_compatibility, 1, "other"
|
Loading…
Reference in New Issue