mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 05:47:26 +08:00
bfd:
2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch of DSBT attributes. binutils: 2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * readelf.c (display_tic6x_attribute): Handle Tag_ABI_DSBT. gas: 2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * config/tc-tic6x.c (OPTION_MDSBT, OPTION_MNO_DSBT): New enum values. (md_longopts): Add mdsbt and mno-dsbt. (tic6x_dsbt): New static variable. (md_parse_option): Handle OPTION_MDSBT and OPTION_MNO_DSBT. (md_show_usage): Output help text for -mdsbt and -mno-dsbt. (TAG): Add comma at the end. (tic6x_set_attributes): Set Tag_ABI_DSBT. * doc/as.texinfo: Document -mdsbt and -mno-dsbt. * doc/c-tic6x.texi (TIC6X Options): Likewise. (TIC6X Directives): Mention Tag_ABI_DSBT. gas/testsuite: 2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * gas/tic6x/attr-dsbt-directive-1.d, gas/tic6x/attr-dsbt-directive-1.s, gas/tic6x/attr-dsbt-directive-2.d, gas/tic6x/attr-dsbt-directive-2.s, gas/tic6x/attr-dsbt-opts-mdsbt.d, gas/tic6x/attr-dsbt-opts-mno-dsbt.d: New tests. include/elf: 2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * tic6x-attrs.h (Tag_ABI_DSBT): New. ld/testsuite: 2010-10-29 Bernd Schmidt <bernds@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * ld-tic6x/attr-dsbt-0.s, ld-tic6x/attr-dsbt-00.d, ld-tic6x/attr-dsbt-01.d, ld-tic6x/attr-dsbt-1.s, ld-tic6x/attr-dsbt-10.d, ld-tic6x/attr-dsbt-11.d: New tests.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch
|
||||
of DSBT attributes.
|
||||
|
||||
2010-10-25 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
|
||||
|
@ -1723,6 +1723,12 @@ elf32_tic6x_merge_attributes (bfd *ibfd, bfd *obfd)
|
||||
= elf32_tic6x_merge_arch_attributes (in_attr[Tag_ISA].i,
|
||||
out_attr[Tag_ISA].i);
|
||||
|
||||
if (out_attr[Tag_ABI_DSBT].i != in_attr[Tag_ABI_DSBT].i)
|
||||
{
|
||||
_bfd_error_handler
|
||||
(_("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);
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* readelf.c (display_tic6x_attribute): Handle Tag_ABI_DSBT.
|
||||
|
||||
2010-10-28 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR binutils/12058
|
||||
|
@ -10810,6 +10810,24 @@ display_tic6x_attribute (unsigned char * p)
|
||||
}
|
||||
return p;
|
||||
|
||||
case Tag_ABI_DSBT:
|
||||
val = read_uleb128 (p, &len);
|
||||
p += len;
|
||||
printf (" Tag_ABI_DSBT: ");
|
||||
switch (val)
|
||||
{
|
||||
case 0:
|
||||
printf (_("DSBT addressing not used\n"));
|
||||
break;
|
||||
case 1:
|
||||
printf (_("DSBT addressing used\n"));
|
||||
break;
|
||||
default:
|
||||
printf ("??? (%d)\n", val);
|
||||
break;
|
||||
}
|
||||
return p;
|
||||
|
||||
case 32:
|
||||
/* Tag_compatibility - treated as generic by binutils for now
|
||||
although not currently specified for C6X. */
|
||||
|
@ -1,3 +1,18 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/tc-tic6x.c (OPTION_MDSBT, OPTION_MNO_DSBT): New enum
|
||||
values.
|
||||
(md_longopts): Add mdsbt and mno-dsbt.
|
||||
(tic6x_dsbt): New static variable.
|
||||
(md_parse_option): Handle OPTION_MDSBT and OPTION_MNO_DSBT.
|
||||
(md_show_usage): Output help text for -mdsbt and -mno-dsbt.
|
||||
(TAG): Add comma at the end.
|
||||
(tic6x_set_attributes): Set Tag_ABI_DSBT.
|
||||
* doc/as.texinfo: Document -mdsbt and -mno-dsbt.
|
||||
* doc/c-tic6x.texi (TIC6X Options): Likewise.
|
||||
(TIC6X Directives): Mention Tag_ABI_DSBT.
|
||||
|
||||
2010-10-28 Matthias Klose <doko@ubuntu.com>
|
||||
|
||||
* doc/as.texinfo: Add directory section for info document.
|
||||
|
@ -50,6 +50,8 @@ enum
|
||||
OPTION_MNO_ATOMIC,
|
||||
OPTION_MBIG_ENDIAN,
|
||||
OPTION_MLITTLE_ENDIAN,
|
||||
OPTION_MDSBT,
|
||||
OPTION_MNO_DSBT,
|
||||
OPTION_MGENERATE_REL
|
||||
};
|
||||
|
||||
@ -60,6 +62,8 @@ struct option md_longopts[] =
|
||||
{ "mno-atomic", no_argument, NULL, OPTION_MNO_ATOMIC },
|
||||
{ "mbig-endian", no_argument, NULL, OPTION_MBIG_ENDIAN },
|
||||
{ "mlittle-endian", no_argument, NULL, OPTION_MLITTLE_ENDIAN },
|
||||
{ "mdsbt", no_argument, NULL, OPTION_MDSBT },
|
||||
{ "mno-dsbt", no_argument, NULL, OPTION_MNO_DSBT },
|
||||
{ "mgenerate-rel", no_argument, NULL, OPTION_MGENERATE_REL },
|
||||
{ NULL, no_argument, NULL, 0 }
|
||||
};
|
||||
@ -113,6 +117,9 @@ static bfd_boolean tic6x_compact_insns;
|
||||
/* Whether to generate RELA relocations. */
|
||||
static bfd_boolean tic6x_generate_rela = TRUE;
|
||||
|
||||
/* Whether the code uses DSBT addressing. */
|
||||
static bfd_boolean tic6x_dsbt;
|
||||
|
||||
/* Table of supported architecture variants. */
|
||||
typedef struct
|
||||
{
|
||||
@ -191,6 +198,14 @@ md_parse_option (int c, char *arg)
|
||||
target_big_endian = 0;
|
||||
break;
|
||||
|
||||
case OPTION_MDSBT:
|
||||
tic6x_dsbt = 1;
|
||||
break;
|
||||
|
||||
case OPTION_MNO_DSBT:
|
||||
tic6x_dsbt = 0;
|
||||
break;
|
||||
|
||||
case OPTION_MGENERATE_REL:
|
||||
tic6x_generate_rela = FALSE;
|
||||
break;
|
||||
@ -213,6 +228,8 @@ md_show_usage (FILE *stream ATTRIBUTE_UNUSED)
|
||||
fprintf (stream, _(" -mno-atomic disable atomic operation instructions\n"));
|
||||
fprintf (stream, _(" -mbig-endian generate big-endian code\n"));
|
||||
fprintf (stream, _(" -mlittle-endian generate little-endian code\n"));
|
||||
fprintf (stream, _(" -mdsbt code uses DSBT addressing\n"));
|
||||
fprintf (stream, _(" -mno-dsbt code does not use DSBT addressing\n"));
|
||||
/* -mgenerate-rel is only for testsuite use and is deliberately
|
||||
undocumented. */
|
||||
|
||||
@ -341,7 +358,7 @@ typedef struct
|
||||
|
||||
static const tic6x_attribute_table tic6x_attributes[] =
|
||||
{
|
||||
#define TAG(tag, value) { #tag, tag }
|
||||
#define TAG(tag, value) { #tag, tag },
|
||||
#include "elf/tic6x-attrs.h"
|
||||
#undef TAG
|
||||
};
|
||||
@ -3897,6 +3914,7 @@ tic6x_set_attributes (void)
|
||||
tic6x_arch_attribute = C6XABI_Tag_ISA_C674X;
|
||||
|
||||
tic6x_set_attribute_int (Tag_ISA, tic6x_arch_attribute);
|
||||
tic6x_set_attribute_int (Tag_ABI_DSBT, tic6x_dsbt);
|
||||
}
|
||||
|
||||
/* Do machine-dependent manipulations of the frag chains after all
|
||||
|
@ -476,7 +476,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
|
||||
|
||||
@emph{Target TIC6X options:}
|
||||
[@b{-march=@var{arch}}] [@b{-matomic}|@b{-mno-atomic}]
|
||||
[@b{-mbig-endian}|@b{-mlittle-endian}]
|
||||
[@b{-mbig-endian}|@b{-mlittle-endian}] [@b{-mdsbt}|@b{-mno-dsbt}]
|
||||
@end ifset
|
||||
|
||||
@ifset Z80
|
||||
@ -1285,6 +1285,15 @@ present. This option overrides such a default from the architecture,
|
||||
independent of the order in which the @option{-march} or
|
||||
@option{-matomic} or @option{-mno-atomic} options are passed.
|
||||
|
||||
@item -mdsbt
|
||||
@itemx -mno-dsbt
|
||||
The @option{-mdsbt} option causes the assembler to generate the
|
||||
@code{Tag_ABI_DSBT} attribute with a value of 1, indicating that the
|
||||
code is using DSBT addressing. The @option{-mno-dsbt} option, the
|
||||
default, causes the tag to have a value of 0, indicating that the code
|
||||
does not use DSBT addressing. The linker will emit a warning if
|
||||
objects of different type (DSBT and non-DSBT) are linked together.
|
||||
|
||||
@item -mbig-endian
|
||||
@itemx -mlittle-endian
|
||||
Generate code for the specified endianness. The default is
|
||||
|
@ -48,6 +48,17 @@ present. This option overrides such a default from the architecture,
|
||||
independent of the order in which the @option{-march} or
|
||||
@option{-matomic} or @option{-mno-atomic} options are passed.
|
||||
|
||||
@cindex @code{-mdsbt} command line option, TIC6X
|
||||
@cindex @code{-mno-dsbt} command line option, TIC6X
|
||||
@item -mdsbt
|
||||
@itemx -mno-dsbt
|
||||
The @option{-mdsbt} option causes the assembler to generate the
|
||||
@code{Tag_ABI_DSBT} attribute with a value of 1, indicating that the
|
||||
code is using DSBT addressing. The @option{-mno-dsbt} option, the
|
||||
default, causes the tag to have a value of 0, indicating that the code
|
||||
does not use DSBT addressing. The linker will emit a warning if
|
||||
objects of different type (DSBT and non-DSBT) are linked together.
|
||||
|
||||
@cindex TIC6X big-endian output
|
||||
@cindex TIC6X little-endian output
|
||||
@cindex big-endian output, TIC6X
|
||||
@ -113,10 +124,10 @@ These have the same effects as @option{-matomic} and
|
||||
@item .c6xabi_attribute @var{tag}, @var{value}
|
||||
Set the C6000 EABI build attribute @var{tag} to @var{value}.
|
||||
|
||||
The @var{tag} is either an attribute number or
|
||||
@code{Tag_ISA}. The @var{value} is either a
|
||||
@code{number}, @code{"string"}, or @code{number, "string"} depending
|
||||
on the tag.
|
||||
The @var{tag} is either an attribute number or one of
|
||||
@code{Tag_ISA} or @code{Tag_ABI_DSBT}. The
|
||||
@var{value} is either a @code{number}, @code{"string"}, or
|
||||
@code{number, "string"} depending on the tag.
|
||||
|
||||
@cindex @code{.nocmp} directive, TIC6X
|
||||
@item .nocmp
|
||||
|
@ -1,3 +1,13 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gas/tic6x/attr-dsbt-directive-1.d,
|
||||
gas/tic6x/attr-dsbt-directive-1.s,
|
||||
gas/tic6x/attr-dsbt-directive-2.d,
|
||||
gas/tic6x/attr-dsbt-directive-2.s,
|
||||
gas/tic6x/attr-dsbt-opts-mdsbt.d,
|
||||
gas/tic6x/attr-dsbt-opts-mno-dsbt.d: New tests.
|
||||
|
||||
2010-10-28 Thomas Schwinge <thomas@schwinge.name>
|
||||
|
||||
* gas/iq2000/load-hazards.exp: Sort all filename globs.
|
||||
|
9
gas/testsuite/gas/tic6x/attr-dsbt-directive-1.d
Normal file
9
gas/testsuite/gas/tic6x/attr-dsbt-directive-1.d
Normal file
@ -0,0 +1,9 @@
|
||||
#readelf: -A
|
||||
#name: C6X DSBT attribute, directives 1
|
||||
#as:
|
||||
#source: attr-dsbt-directive-1.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_DSBT: DSBT addressing used
|
1
gas/testsuite/gas/tic6x/attr-dsbt-directive-1.s
Normal file
1
gas/testsuite/gas/tic6x/attr-dsbt-directive-1.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute Tag_ABI_DSBT, 1
|
9
gas/testsuite/gas/tic6x/attr-dsbt-directive-2.d
Normal file
9
gas/testsuite/gas/tic6x/attr-dsbt-directive-2.d
Normal file
@ -0,0 +1,9 @@
|
||||
#readelf: -A
|
||||
#name: C6X DSBT attribute, directives 1
|
||||
#as:
|
||||
#source: attr-dsbt-directive-1.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_DSBT: DSBT addressing used
|
1
gas/testsuite/gas/tic6x/attr-dsbt-directive-2.s
Normal file
1
gas/testsuite/gas/tic6x/attr-dsbt-directive-2.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute 12, 1
|
9
gas/testsuite/gas/tic6x/attr-dsbt-opts-mdsbt.d
Normal file
9
gas/testsuite/gas/tic6x/attr-dsbt-opts-mdsbt.d
Normal file
@ -0,0 +1,9 @@
|
||||
#readelf: -A
|
||||
#name: C6X DSBT attribute, -mdsbt
|
||||
#as: -mdsbt
|
||||
#source: dummy.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_DSBT: DSBT addressing used
|
8
gas/testsuite/gas/tic6x/attr-dsbt-opts-mno-dsbt.d
Normal file
8
gas/testsuite/gas/tic6x/attr-dsbt-opts-mno-dsbt.d
Normal file
@ -0,0 +1,8 @@
|
||||
#readelf: -A
|
||||
#name: C6X DSBT attribute, -mno-dsbt
|
||||
#as: -mdsbt -mno-dsbt
|
||||
#source: dummy.s
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
@ -1,3 +1,8 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* tic6x-attrs.h (Tag_ABI_DSBT): New.
|
||||
|
||||
2010-10-21 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* tic6x-attrs.h (Tag_C6XABI_Tag_CPU_arch): Change to Tag_ISA,
|
||||
|
@ -23,3 +23,4 @@
|
||||
name and value. */
|
||||
|
||||
TAG(Tag_ISA, 4)
|
||||
TAG(Tag_ABI_DSBT, 12)
|
||||
|
@ -1,3 +1,10 @@
|
||||
2010-10-29 Bernd Schmidt <bernds@codesourcery.com>
|
||||
Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* ld-tic6x/attr-dsbt-0.s, ld-tic6x/attr-dsbt-00.d,
|
||||
ld-tic6x/attr-dsbt-01.d, ld-tic6x/attr-dsbt-1.s,
|
||||
ld-tic6x/attr-dsbt-10.d, ld-tic6x/attr-dsbt-11.d: New tests.
|
||||
|
||||
2010-10-28 Thomas Schwinge <thomas@schwinge.name>
|
||||
|
||||
* ld-scripts/script.exp: Sort all filename globs.
|
||||
|
1
ld/testsuite/ld-tic6x/attr-dsbt-0.s
Normal file
1
ld/testsuite/ld-tic6x/attr-dsbt-0.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute Tag_ABI_DSBT, 0
|
10
ld/testsuite/ld-tic6x/attr-dsbt-00.d
Normal file
10
ld/testsuite/ld-tic6x/attr-dsbt-00.d
Normal file
@ -0,0 +1,10 @@
|
||||
#name: C6X DSBT attribute merging, 0 0
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-dsbt-0.s
|
||||
#source: attr-dsbt-0.s
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
6
ld/testsuite/ld-tic6x/attr-dsbt-01.d
Normal file
6
ld/testsuite/ld-tic6x/attr-dsbt-01.d
Normal file
@ -0,0 +1,6 @@
|
||||
#name: C6X DSBT attribute merging, 0 1
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-dsbt-0.s
|
||||
#source: attr-dsbt-1.s
|
||||
#warning: .*differ in whether code is compiled for DSBT
|
1
ld/testsuite/ld-tic6x/attr-dsbt-1.s
Normal file
1
ld/testsuite/ld-tic6x/attr-dsbt-1.s
Normal file
@ -0,0 +1 @@
|
||||
.c6xabi_attribute Tag_ABI_DSBT, 1
|
6
ld/testsuite/ld-tic6x/attr-dsbt-10.d
Normal file
6
ld/testsuite/ld-tic6x/attr-dsbt-10.d
Normal file
@ -0,0 +1,6 @@
|
||||
#name: C6X DSBT attribute merging, 1 0
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-dsbt-1.s
|
||||
#source: attr-dsbt-0.s
|
||||
#warning: .*differ in whether code is compiled for DSBT
|
11
ld/testsuite/ld-tic6x/attr-dsbt-11.d
Normal file
11
ld/testsuite/ld-tic6x/attr-dsbt-11.d
Normal file
@ -0,0 +1,11 @@
|
||||
#name: C6X DSBT attribute merging, 1 1
|
||||
#as: -mlittle-endian
|
||||
#ld: -r -melf32_tic6x_le
|
||||
#source: attr-dsbt-1.s
|
||||
#source: attr-dsbt-1.s
|
||||
#readelf: -A
|
||||
|
||||
Attribute Section: c6xabi
|
||||
File Attributes
|
||||
Tag_ISA: C674x
|
||||
Tag_ABI_DSBT: DSBT addressing used
|
Reference in New Issue
Block a user