diff options
author | claziss <claziss@synopsys.com> | 2018-08-06 16:41:32 +0300 |
---|---|---|
committer | Claudiu Zissulescu <claziss@gmail.com> | 2018-08-06 16:41:32 +0300 |
commit | db1e1b45b417dc3e7d37f401828afa18328d8508 (patch) | |
tree | 106793af4c43a402ce3303a1763ae78a10d986b4 /bfd | |
parent | b6523c37fb52fc38da6e152328341caffd793749 (diff) | |
download | gdb-db1e1b45b417dc3e7d37f401828afa18328d8508.zip gdb-db1e1b45b417dc3e7d37f401828afa18328d8508.tar.gz gdb-db1e1b45b417dc3e7d37f401828afa18328d8508.tar.bz2 |
[ARC] Add Tag_ARC_ATR_version.
Add a new tag (Tag_ARC_ATR_version) used to indicate if current
attributes are interpreted in GNU way. This attribute is used by
Synopsys custom compiler to correctly identify and interpret the
object attributes section as generated by GNU tools.
gas/
2017-08-02 Claudiu Zissulescu <claziss@synopsys.com>
* config/tc-arc.c (arc_set_public_attributes): Add
Tag_ARC_ATR_version.
(arc_convert_symbolic_attribute): Likewise.
* testsuite/gas/arc/attr-arc600.d: Update test.
* testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc600_norm.d: Likewise.
* testsuite/gas/arc/attr-arc601.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
* testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
* testsuite/gas/arc/attr-arc601_norm.d: Likewise.
* testsuite/gas/arc/attr-arc700.d: Likewise.
* testsuite/gas/arc/attr-arcem.d: Likewise.
* testsuite/gas/arc/attr-archs.d: Likewise.
* testsuite/gas/arc/attr-autodetect-1.d: Likewise.
* testsuite/gas/arc/attr-cpu-a601.d: Likewise.
* testsuite/gas/arc/attr-cpu-a700.d: Likewise.
* testsuite/gas/arc/attr-cpu-em.d: Likewise.
* testsuite/gas/arc/attr-cpu-hs.d: Likewise.
* testsuite/gas/arc/attr-em.d: Likewise.
* testsuite/gas/arc/attr-em4.d: Likewise.
* testsuite/gas/arc/attr-em4_dmips.d: Likewise.
* testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
* testsuite/gas/arc/attr-em4_fpus.d: Likewise.
* testsuite/gas/arc/attr-hs.d: Likewise.
* testsuite/gas/arc/attr-hs34.d: Likewise.
* testsuite/gas/arc/attr-hs38.d: Likewise.
* testsuite/gas/arc/attr-hs38_linux.d: Likewise.
* testsuite/gas/arc/attr-mul64.d: Likewise.
* testsuite/gas/arc/attr-name.d: Likewise.
* testsuite/gas/arc/attr-nps400.d: Likewise.
* testsuite/gas/arc/attr-override-mcpu.d: Likewise.
* testsuite/gas/arc/attr-quarkse_em.d: Likewise.
bfd/
2017-08-02 Claudiu Zissulescu <claziss@synopsys.com>
* elf32-arc.c (arc_elf_merge_attributes): Handle
Tag_ARC_ATR_version.
binutils/
2017-08-02 Claudiu Zissulescu <claziss@synopsys.com>
* readelf.c (display_arc_attribute): Print Tag_ARC_ATR_version.
include/
2017-08-02 Claudiu Zissulescu <claziss@synopsys.com>
* elf/arc.h (Tag_ARC_ATR_version): New tag.
ld/
2017-08-02 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/ld-arc/attr-merge-0.d: Update test.
* testsuite/ld-arc/attr-merge-1.d: Likewise.
* testsuite/ld-arc/attr-merge-2.d: Likewise.
* testsuite/ld-arc/attr-merge-3.d: Likewise.
* testsuite/ld-arc/attr-merge-5.d: Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-arc.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 95fe0ee..6b5481c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-08-06 Claudiu Zissulescu <claziss@synopsys.com> + + * elf32-arc.c (arc_elf_merge_attributes): Handle + Tag_ARC_ATR_version. + 2018-08-05 Alan Modra <amodra@gmail.com> * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12), diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c index a48ef0c..aaa2c3b 100644 --- a/bfd/elf32-arc.c +++ b/bfd/elf32-arc.c @@ -578,6 +578,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info) bfd_boolean result = TRUE; const char *sec_name = get_elf_backend_data (ibfd)->obj_attrs_section; char *tagname = NULL; + int offset = 0; /* Skip the linker stubs file. This preserves previous behavior of accepting unknown attributes in the first input file - but @@ -805,6 +806,11 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info) /* It is handled in Tag_ARC_CPU_base. */ break; + case Tag_ARC_ATR_version: + if (out_attr[i].i == 0) + out_attr[i].i = in_attr[i].i; + break; + default: result = result && _bfd_elf_merge_unknown_attribute_low (ibfd, obfd, i); |