toolchain: bump ARC toolchain components to arc-2015.12-rc1
This change introduces newer ARC toolchain in Buildroot. Note this is the first release candidate and we'll probably see another RC before cutting the final release. That new arc-2015.12 release doesn't bring any significant changes but mostly is focused on fixes and minor improvements here and there. Most noticeable changes are: * GCC updated to v4.8.5 * GDB updated to 7.10 You may find more info on fixes and improvements in that release at: https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12-rc1 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: arc-buildroot@synopsys.com Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
fbb76bb382
commit
e10860f644
@ -28,7 +28,7 @@ endchoice
|
||||
|
||||
config BR2_BINUTILS_VERSION
|
||||
string
|
||||
default "arc-2015.06" if BR2_arc
|
||||
default "arc-2015.12-rc1" if BR2_arc
|
||||
default "2.23.2" if BR2_BINUTILS_VERSION_2_23_X
|
||||
default "2.24" if BR2_BINUTILS_VERSION_2_24_X
|
||||
default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X
|
||||
|
@ -1,145 +0,0 @@
|
||||
From daf1ff839fc68ef31e3263780de4604a95118702 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
Date: Thu, 23 Jul 2015 14:44:15 +0100
|
||||
Subject: [PATCH 1/2] ld/arc: Provide the .tdata symbol.
|
||||
|
||||
When creating local dynamic tls access we rely on a .tdata symbol being
|
||||
available to link against. Normally, this is fine, as content is placed
|
||||
into the .tdata section the linker makes a .tdata symbol available and
|
||||
all is fine.
|
||||
|
||||
However, these linker created section symbols only exist for input
|
||||
sections, not output sections, so, when we assemble with
|
||||
-fdata-sections, and the content is placed not into '.tdata', but into
|
||||
sections like, '.tdata.variable' we end up in a situation where there is
|
||||
no input section called '.tdata', and so the linker does not create a
|
||||
symbol called '.tdata' for us, at which point the link fails.
|
||||
|
||||
The solution it to have the linker script explicitly provide the symbol
|
||||
'.tdata', this should ensure that the symbol is always available.
|
||||
|
||||
ld/ChangeLog:
|
||||
|
||||
* scripttempl/arclinux.sc (.tdata): Provide the .tdata symbol.
|
||||
|
||||
ld/testsuite/ChangeLog:
|
||||
|
||||
* ld/testsuite/ld-arc/arc.exp: Run new test.
|
||||
* ld/testsuite/ld-arc/tls-data-sections.d: New file.
|
||||
* ld/testsuite/ld-arc/tls-data-sections.s: New file.
|
||||
---
|
||||
ld/ChangeLog.ARC | 4 ++++
|
||||
ld/scripttempl/arclinux.sc | 2 +-
|
||||
ld/testsuite/ChangeLog.ARC | 6 ++++++
|
||||
ld/testsuite/ld-arc/arc.exp | 1 +
|
||||
ld/testsuite/ld-arc/tls-data-sections.d | 12 ++++++++++++
|
||||
ld/testsuite/ld-arc/tls-data-sections.s | 30 ++++++++++++++++++++++++++++++
|
||||
6 files changed, 54 insertions(+), 1 deletion(-)
|
||||
create mode 100644 ld/testsuite/ld-arc/tls-data-sections.d
|
||||
create mode 100644 ld/testsuite/ld-arc/tls-data-sections.s
|
||||
|
||||
diff --git a/ld/ChangeLog.ARC b/ld/ChangeLog.ARC
|
||||
index fac6f48..0006bb3 100644
|
||||
--- a/ld/ChangeLog.ARC
|
||||
+++ b/ld/ChangeLog.ARC
|
||||
@@ -1,3 +1,7 @@
|
||||
+2015-07-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
+
|
||||
+ * scripttempl/arclinux.sc (.tdata): Provide the .tdata symbol.
|
||||
+
|
||||
2015-03-26: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* testsuite/ld-arc/sda_relocs.d: New file.
|
||||
diff --git a/ld/scripttempl/arclinux.sc b/ld/scripttempl/arclinux.sc
|
||||
index 9d43ca3..1385b30 100644
|
||||
--- a/ld/scripttempl/arclinux.sc
|
||||
+++ b/ld/scripttempl/arclinux.sc
|
||||
@@ -326,7 +326,7 @@ cat <<EOF
|
||||
.data1 ${RELOCATING-0} : { *(.data1) }
|
||||
/* TLS local dynamic uses .tdata as a reference point. */
|
||||
${RELOCATING+${CREATE_SHLIB+PROVIDE_HIDDEN (.tdata = .);}}
|
||||
- .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
|
||||
+ .tdata ${RELOCATING-0} : { PROVIDE_HIDDEN(.tdata = .); *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
|
||||
.tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
|
||||
.eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
|
||||
diff --git a/ld/testsuite/ChangeLog.ARC b/ld/testsuite/ChangeLog.ARC
|
||||
index b6d3eff..79f7ea9 100644
|
||||
--- a/ld/testsuite/ChangeLog.ARC
|
||||
+++ b/ld/testsuite/ChangeLog.ARC
|
||||
@@ -1,3 +1,9 @@
|
||||
+2015-07-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
+
|
||||
+ * ld/testsuite/ld-arc/arc.exp: Run new test.
|
||||
+ * ld/testsuite/ld-arc/tls-data-sections.d: New file.
|
||||
+ * ld/testsuite/ld-arc/tls-data-sections.s: New file.
|
||||
+
|
||||
2015-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* ld-arc/unaligned-pc32.d: New file.
|
||||
diff --git a/ld/testsuite/ld-arc/arc.exp b/ld/testsuite/ld-arc/arc.exp
|
||||
index d2bfafe..74ab458 100644
|
||||
--- a/ld/testsuite/ld-arc/arc.exp
|
||||
+++ b/ld/testsuite/ld-arc/arc.exp
|
||||
@@ -47,3 +47,4 @@ if {[check_shared_lib_support]} {
|
||||
|
||||
run_dump_test "sda_relocs"
|
||||
run_dump_test "unaligned-pc32"
|
||||
+run_dump_test "tls-data-sections"
|
||||
diff --git a/ld/testsuite/ld-arc/tls-data-sections.d b/ld/testsuite/ld-arc/tls-data-sections.d
|
||||
new file mode 100644
|
||||
index 0000000..9823bf0
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-arc/tls-data-sections.d
|
||||
@@ -0,0 +1,12 @@
|
||||
+#source: tls-data-sections.s
|
||||
+#ld: --entry=main
|
||||
+#objdump: -rd
|
||||
+
|
||||
+
|
||||
+.*: file format elf32-littlearc
|
||||
+
|
||||
+
|
||||
+Disassembly of section \.text:
|
||||
+
|
||||
+00010094 <main>:
|
||||
+ 10094: 00 21 80 3f 00 00 08 00 add r0,r25,8
|
||||
diff --git a/ld/testsuite/ld-arc/tls-data-sections.s b/ld/testsuite/ld-arc/tls-data-sections.s
|
||||
new file mode 100644
|
||||
index 0000000..f0450c0
|
||||
--- /dev/null
|
||||
+++ b/ld/testsuite/ld-arc/tls-data-sections.s
|
||||
@@ -0,0 +1,30 @@
|
||||
+ /* This file is not intended to be real code, however, the
|
||||
+ contents of the main function is real code as generated as
|
||||
+ part of a local dynamic tls model access. The purpose of
|
||||
+ this test is to check that such an access will link
|
||||
+ correctly.
|
||||
+
|
||||
+ Notice that the relocation in main references '.tdata', and
|
||||
+ though we put content into '.tdata.pgsz.1362' we don't
|
||||
+ create a '.tdata' section. This is intentional, this example
|
||||
+ was generated using -fdata-sections.
|
||||
+
|
||||
+ The '.tdata' section will be created in the linker script,
|
||||
+ and we do expect to be able to reference it. This should link.
|
||||
+ */
|
||||
+
|
||||
+ .section ".text", "ax"
|
||||
+ .global main, _start
|
||||
+_start:
|
||||
+ .type main, @function
|
||||
+main:
|
||||
+ add r0,pcl,@.tdata@tlsgd ;8
|
||||
+ .size main, .-main
|
||||
+
|
||||
+ .section .tdata.pgsz.1362,"awT",@progbits
|
||||
+ .align 8
|
||||
+ .type pgsz.1362, @object
|
||||
+ .size pgsz.1362, 4
|
||||
+
|
||||
+pgsz.1362:
|
||||
+ .word 1
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,70 +0,0 @@
|
||||
From a6014a956a4f2263c28240bb9191bee8f924b5db Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
Date: Tue, 28 Jul 2015 13:34:47 +0200
|
||||
Subject: [PATCH 2/2] Provide .tbss symbol
|
||||
|
||||
---
|
||||
ld/ChangeLog.ARC | 14 +++++++++-----
|
||||
ld/scripttempl/arclinux.sc | 2 +-
|
||||
2 files changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ld/ChangeLog.ARC b/ld/ChangeLog.ARC
|
||||
index 0006bb3..fb5c717 100644
|
||||
--- a/ld/ChangeLog.ARC
|
||||
+++ b/ld/ChangeLog.ARC
|
||||
@@ -1,8 +1,12 @@
|
||||
+2015-07-28 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+
|
||||
+ * scripttempl/arclinux.sc (.tbss): Provide the .tbss symbol.
|
||||
+
|
||||
2015-07-23 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* scripttempl/arclinux.sc (.tdata): Provide the .tdata symbol.
|
||||
|
||||
-2015-03-26: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+2015-03-26 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* testsuite/ld-arc/sda_relocs.d: New file.
|
||||
* testsuite/ld-arc/sda_relocs.ld: Likewise.
|
||||
@@ -13,21 +17,21 @@
|
||||
* scripttempl/arclinux.sc: PROVIDE_HIDDEN .tdata (in case the
|
||||
section won't be included).
|
||||
|
||||
-2014-12-17: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+2014-12-17 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* scripttempl/elfarcv2.sc: Update .startup section.
|
||||
|
||||
-2014-12-08: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+2014-12-08 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* emulparams/arcv2elf.sh :Add discarded sections.
|
||||
* emulparams/arcv2elfb.sh: Likewise
|
||||
* scripttempl/elfarcv2.sc: New sections.
|
||||
|
||||
-2014-12-01: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+2014-12-01 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* scripttempl/elfarcv2.sc: Align the start of the stack.
|
||||
|
||||
-2014-11-27: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
+2014-11-27 Claudiu Zissulescu <claziss@synopsys.com>
|
||||
|
||||
* Makefile.am: Add two new emulation scripts for ARCv2.
|
||||
* configure.tgt: Likewise.
|
||||
diff --git a/ld/scripttempl/arclinux.sc b/ld/scripttempl/arclinux.sc
|
||||
index 1385b30..bef5336 100644
|
||||
--- a/ld/scripttempl/arclinux.sc
|
||||
+++ b/ld/scripttempl/arclinux.sc
|
||||
@@ -327,7 +327,7 @@ cat <<EOF
|
||||
/* TLS local dynamic uses .tdata as a reference point. */
|
||||
${RELOCATING+${CREATE_SHLIB+PROVIDE_HIDDEN (.tdata = .);}}
|
||||
.tdata ${RELOCATING-0} : { PROVIDE_HIDDEN(.tdata = .); *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
|
||||
- .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
|
||||
+ .tbss ${RELOCATING-0} : { PROVIDE_HIDDEN(.tbss = .); *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
|
||||
.eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
|
||||
${WRITABLE_RODATA+${RODATA}}
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,132 +0,0 @@
|
||||
From a65b844aed9153789356e098984452df2f5d9058 Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
Date: Tue, 4 Aug 2015 12:53:11 +0200
|
||||
Subject: [PATCH] Check to see if the input BFD actually contains any sections.
|
||||
|
||||
---
|
||||
bfd/elf32-arc.c | 70 +++++++++++++++++++++++++++++++++++++------------------
|
||||
1 file changed, 47 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
|
||||
index 38f72b4..76bac6c 100644
|
||||
--- a/bfd/elf32-arc.c
|
||||
+++ b/bfd/elf32-arc.c
|
||||
@@ -881,44 +881,68 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
|
||||
{
|
||||
unsigned short mach_ibfd;
|
||||
static unsigned short mach_obfd = EM_NONE;
|
||||
- flagword old_flags;
|
||||
- flagword new_flags;
|
||||
+ flagword out_flags;
|
||||
+ flagword in_flags;
|
||||
+ asection *sec;
|
||||
+
|
||||
+ /* Check if we have the same endianess. */
|
||||
+ if (! _bfd_generic_verify_endian_match (ibfd, obfd))
|
||||
+ {
|
||||
+ _bfd_error_handler (
|
||||
+ _("ERROR: Endian Match failed . Attempting to link %B with binary %s \
|
||||
+of opposite endian-ness"),
|
||||
+ ibfd, bfd_get_filename (obfd));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
/* Collect ELF flags. */
|
||||
- new_flags = elf_elfheader (ibfd)->e_flags & EF_ARC_MACH_MSK;
|
||||
- old_flags = elf_elfheader (obfd)->e_flags & EF_ARC_MACH_MSK;
|
||||
+ in_flags = elf_elfheader (ibfd)->e_flags & EF_ARC_MACH_MSK;
|
||||
+ out_flags = elf_elfheader (obfd)->e_flags & EF_ARC_MACH_MSK;
|
||||
|
||||
#if DEBUG
|
||||
- (*_bfd_error_handler) ("old_flags = 0x%.8lx, new_flags = 0x%.8lx, init = %s, filename = %s",
|
||||
- old_flags, new_flags, elf_flags_init (obfd) ? "yes" : "no",
|
||||
+ (*_bfd_error_handler) ("out_flags = 0x%.8lx, in_flags = 0x%.8lx, init = %s, filename = %s",
|
||||
+ out_flags, in_flags, elf_flags_init (obfd) ? "yes" : "no",
|
||||
bfd_get_filename (ibfd));
|
||||
#endif
|
||||
|
||||
if (!elf_flags_init (obfd)) /* First call, no flags set. */
|
||||
{
|
||||
elf_flags_init (obfd) = TRUE;
|
||||
- old_flags = new_flags;
|
||||
+ out_flags = in_flags;
|
||||
}
|
||||
|
||||
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||
return TRUE;
|
||||
|
||||
- if (bfd_count_sections (ibfd) == 0)
|
||||
- return TRUE ; /* For the case of empty archive files */
|
||||
+ /* Check to see if the input BFD actually contains any sections. If
|
||||
+ not, its flags may not have been initialised either, but it
|
||||
+ cannot actually cause any incompatiblity. Do not short-circuit
|
||||
+ dynamic objects; their section list may be emptied by
|
||||
+ elf_link_add_object_symbols. */
|
||||
+ if (!(ibfd->flags & DYNAMIC))
|
||||
+ {
|
||||
+ bfd_boolean null_input_bfd = TRUE;
|
||||
+ bfd_boolean only_data_sections = TRUE;
|
||||
|
||||
- mach_ibfd = elf_elfheader (ibfd)->e_machine;
|
||||
+ for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
||||
+ {
|
||||
+ if ((bfd_get_section_flags (ibfd, sec)
|
||||
+ & (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
|
||||
+ == (SEC_LOAD | SEC_CODE | SEC_HAS_CONTENTS))
|
||||
+ only_data_sections = FALSE;
|
||||
|
||||
- /* Check if we have the same endianess. */
|
||||
- if (! _bfd_generic_verify_endian_match (ibfd, obfd))
|
||||
- {
|
||||
- _bfd_error_handler (_("\
|
||||
-ERROR: Endian Match failed . Attempting to link %B with binary %s \
|
||||
-of opposite endian-ness"),
|
||||
- ibfd, bfd_get_filename (obfd));
|
||||
- return FALSE;
|
||||
+ null_input_bfd = FALSE;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (null_input_bfd || only_data_sections)
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
+
|
||||
+ /* Complain about various flag/architecture mismatches. */
|
||||
+ mach_ibfd = elf_elfheader (ibfd)->e_machine;
|
||||
if (mach_obfd == EM_NONE)
|
||||
{
|
||||
mach_obfd = mach_ibfd;
|
||||
@@ -932,23 +956,23 @@ with a binary %s of different architecture"),
|
||||
ibfd, bfd_get_filename (obfd));
|
||||
return FALSE;
|
||||
}
|
||||
- else if (new_flags != old_flags)
|
||||
+ else if (in_flags != out_flags)
|
||||
{
|
||||
/* Warn if different flags. */
|
||||
(*_bfd_error_handler)
|
||||
(_("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"),
|
||||
- bfd_get_filename (ibfd), (long)new_flags, (long)old_flags);
|
||||
- if (new_flags && old_flags)
|
||||
+ bfd_get_filename (ibfd), (long)in_flags, (long)out_flags);
|
||||
+ if (in_flags && out_flags)
|
||||
return FALSE;
|
||||
/* MWDT doesnt set the eflags hence make sure we choose the
|
||||
eflags set by gcc. */
|
||||
- new_flags = new_flags > old_flags ? new_flags : old_flags;
|
||||
+ in_flags = in_flags > out_flags ? in_flags : out_flags;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Update the flags. */
|
||||
- elf_elfheader (obfd)->e_flags = new_flags;
|
||||
+ elf_elfheader (obfd)->e_flags = in_flags;
|
||||
|
||||
if (bfd_get_mach (obfd) < bfd_get_mach (ibfd))
|
||||
{
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 5df50c61083165455aae5504c5c3566fa5ccebb1 Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
Date: Fri, 16 Oct 2015 10:21:21 +0200
|
||||
Subject: [PATCH] Test the entire object if it contains only data sections.
|
||||
|
||||
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
|
||||
index 76bac6c..eb4f8e0 100644
|
||||
--- a/bfd/elf32-arc.c
|
||||
+++ b/bfd/elf32-arc.c
|
||||
@@ -915,11 +915,9 @@ of opposite endian-ness"),
|
||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||
return TRUE;
|
||||
|
||||
- /* Check to see if the input BFD actually contains any sections. If
|
||||
- not, its flags may not have been initialised either, but it
|
||||
- cannot actually cause any incompatiblity. Do not short-circuit
|
||||
- dynamic objects; their section list may be emptied by
|
||||
- elf_link_add_object_symbols. */
|
||||
+ /* Check to see if the input BFD actually contains any sections. Do
|
||||
+ not short-circuit dynamic objects; their section list may be
|
||||
+ emptied by elf_link_add_object_symbols. */
|
||||
if (!(ibfd->flags & DYNAMIC))
|
||||
{
|
||||
bfd_boolean null_input_bfd = TRUE;
|
||||
@@ -933,7 +931,6 @@ of opposite endian-ness"),
|
||||
only_data_sections = FALSE;
|
||||
|
||||
null_input_bfd = FALSE;
|
||||
- break;
|
||||
}
|
||||
|
||||
if (null_input_bfd || only_data_sections)
|
||||
--
|
||||
2.4.3
|
||||
|
@ -4,4 +4,4 @@ sha512 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0
|
||||
sha512 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 binutils-2.24.tar.bz2
|
||||
sha512 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d binutils-2.25.1.tar.bz2
|
||||
# No hash for the ARC variant, comes from the github-helper:
|
||||
none xxx binutils-arc-2015.06.tar.gz
|
||||
none xxx binutils-arc-2015.12-rc1.tar.gz
|
||||
|
@ -9,7 +9,7 @@
|
||||
BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
|
||||
ifeq ($(BINUTILS_VERSION),)
|
||||
ifeq ($(BR2_arc),y)
|
||||
BINUTILS_VERSION = arc-2015.06
|
||||
BINUTILS_VERSION = arc-2015.12-rc1
|
||||
else
|
||||
BINUTILS_VERSION = 2.24
|
||||
endif
|
||||
|
@ -114,7 +114,7 @@ config BR2_GCC_VERSION
|
||||
default "4.8.5" if BR2_GCC_VERSION_4_8_X
|
||||
default "4.9.3" if BR2_GCC_VERSION_4_9_X
|
||||
default "5.3.0" if BR2_GCC_VERSION_5_X
|
||||
default "arc-2015.06" if BR2_GCC_VERSION_4_8_ARC
|
||||
default "arc-2015.12-rc1" if BR2_GCC_VERSION_4_8_ARC
|
||||
|
||||
config BR2_EXTRA_GCC_CONFIG_OPTIONS
|
||||
string "Additional gcc options"
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 366cc86e4f8ff6f00f0b731dc6f78d22c7ac9e0a Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
Date: Tue, 7 Jul 2015 17:59:52 +0200
|
||||
Subject: [PATCH] Differentiate between a bss TLS initialized symbol.
|
||||
|
||||
Back-port from https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/366cc86e4f8ff6f00f0b731dc6f78d22c7ac9e0a
|
||||
|
||||
This patch fixes "undefined reference to .tdata" observed in many autobuilder
|
||||
results for ARC.
|
||||
|
||||
Once the next release of ARC GNU tools happens this patch must be removed from
|
||||
Buildroot.
|
||||
|
||||
---
|
||||
gcc/config/arc/arc.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
|
||||
index b6eb3b5..73c3a87 100644
|
||||
--- a/gcc/config/arc/arc.c
|
||||
+++ b/gcc/config/arc/arc.c
|
||||
@@ -5262,10 +5262,15 @@ arc_legitimize_tls_address (rtx addr, enum tls_model model)
|
||||
{
|
||||
case TLS_MODEL_LOCAL_DYNAMIC:
|
||||
rtx base;
|
||||
- tree base_decl; base_decl
|
||||
- = lookup_attribute ("tls9", DECL_ATTRIBUTES (SYMBOL_REF_DECL (addr)));
|
||||
+ tree base_decl, decl;
|
||||
+ decl = SYMBOL_REF_DECL (addr);
|
||||
+ base_decl = lookup_attribute ("tls9", DECL_ATTRIBUTES (decl));
|
||||
const char *base_name; base_name = DTPOFF_ZERO_SYM;
|
||||
rtvec v;
|
||||
+
|
||||
+ if (bss_initializer_p (decl))
|
||||
+ base_name = ".tbss";
|
||||
+
|
||||
if (base_decl && TREE_VALUE (base_decl)
|
||||
&& TREE_VALUE (TREE_VALUE (base_decl)))
|
||||
{
|
||||
--
|
||||
2.4.3
|
||||
|
@ -1,71 +0,0 @@
|
||||
From b4035128ba8f8bbbf9527f54f261a87b304ca4c5 Mon Sep 17 00:00:00 2001
|
||||
From: Claudiu Zissulescu <claziss@synopsys.com>
|
||||
Date: Mon, 9 Nov 2015 15:23:39 +0100
|
||||
Subject: [PATCH] Handle correctly compare arguments
|
||||
|
||||
---
|
||||
gcc/config/arc/arc.c | 24 ++++++++++++++++++------
|
||||
1 files changed, 18 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
|
||||
index bd53525..caf483b 100644
|
||||
--- a/gcc/config/arc/arc.c
|
||||
+++ b/gcc/config/arc/arc.c
|
||||
@@ -1998,7 +1998,7 @@ gen_compare_reg (rtx comparison, enum machine_mode omode)
|
||||
rtx y = XEXP (comparison, 1);
|
||||
rtx tmp, cc_reg;
|
||||
enum machine_mode mode, cmode;
|
||||
-
|
||||
+ bool swap = false;
|
||||
|
||||
cmode = GET_MODE (x);
|
||||
if (cmode == VOIDmode)
|
||||
@@ -2073,6 +2073,7 @@ gen_compare_reg (rtx comparison, enum machine_mode omode)
|
||||
rtx op0 = gen_rtx_REG (cmode, 0);
|
||||
rtx op1 = gen_rtx_REG (cmode, GET_MODE_SIZE (cmode) / UNITS_PER_WORD);
|
||||
|
||||
+ swap = false;
|
||||
switch (code)
|
||||
{
|
||||
case NE: case EQ: case GT: case UNLE: case GE: case UNLT:
|
||||
@@ -2080,22 +2081,33 @@ gen_compare_reg (rtx comparison, enum machine_mode omode)
|
||||
break;
|
||||
case LT: case UNGE: case LE: case UNGT:
|
||||
code = swap_condition (code);
|
||||
- tmp = x;
|
||||
- x = y;
|
||||
- y = tmp;
|
||||
+ swap = true;
|
||||
break;
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
if (currently_expanding_to_rtl)
|
||||
{
|
||||
- emit_move_insn (op0, x);
|
||||
- emit_move_insn (op1, y);
|
||||
+ if (swap)
|
||||
+ {
|
||||
+ emit_move_insn (op0, y);
|
||||
+ emit_move_insn (op1, x);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ emit_move_insn (op0, x);
|
||||
+ emit_move_insn (op1, y);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
gcc_assert (rtx_equal_p (op0, x));
|
||||
gcc_assert (rtx_equal_p (op1, y));
|
||||
+ if (swap)
|
||||
+ {
|
||||
+ op0 = y;
|
||||
+ op1 = x;
|
||||
+ }
|
||||
}
|
||||
emit_insn (gen_cmp_float (cc_reg, gen_rtx_COMPARE (mode, op0, op1)));
|
||||
}
|
||||
--
|
||||
2.5.0
|
@ -9,4 +9,4 @@ sha512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a31
|
||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.3.0/sha512.sum
|
||||
sha512 d619847383405fd389f5a2d7225f97fedb01f81478dbb8339047ccba7561a5c20045ab500a8744bffd19ea51892ce09fc37f862f2cfcb42de0f0f8cd8f8da37a gcc-5.3.0.tar.bz2
|
||||
# No hash for the ARC variant, comes from the github-helper:
|
||||
none xxx gcc-arc-2015.06.tar.gz
|
||||
none xxx gcc-arc-2015.12-rc1.tar.gz
|
||||
|
@ -52,7 +52,7 @@ endif
|
||||
config BR2_GDB_VERSION
|
||||
string
|
||||
depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB
|
||||
default "arc-2015.06-gdb" if BR2_arc
|
||||
default "arc-2015.12-rc1-gdb" if BR2_arc
|
||||
default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze
|
||||
default "7.7.1" if BR2_GDB_VERSION_7_7
|
||||
default "7.8.2" if BR2_GDB_VERSION_7_8
|
||||
|
@ -4,5 +4,5 @@ sha512 face5bf1b4ce144fc8604fc84620beed956177a11fd632b4e41906fc7f632910b2b43a50e
|
||||
sha512 eebdf88b24e52e792b8a4b89ea85790de72b462a7810b44975fdf4232c068f353b15506071f450102a9d4bcecdde8e93dc3748a10699b7f73f3e04fb2d9d8414 gdb-7.9.1.tar.xz
|
||||
sha512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 gdb-7.10.1.tar.xz
|
||||
# No hash for the ARC & microblaze variants, comes from the github-helper:
|
||||
none xxx gdb-arc-2015.06-gdb.tar.gz
|
||||
none xxx gdb-arc-2015.12-rc1-gdb.tar.gz
|
||||
none xxx gdb-6be65fb56ea6694a9260733a536a023a1e2d4d57.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user