crossgcc: Update toolchain
New tools: * mpfr 3.1.4 * binutils 2.26 * gcc 5.3.0 * llvm/clang 3.8.0 Patch changes: * binutils-2.25_fix-aarch64.patch: fixed in 2.26 * binutils-2.25_host-clang.patch: the positions of header file includes have been adjusted * binutils-2.25_no-bfd-doc.patch: update to 2.26 * binutils-2.25_riscv.patch: update from riscv-gnu-toolchain * gcc-5.2.0_elf_biarch.patch: update to 5.3.0 * gcc-5.2.0_gnat.patch: update to 5.3.0 * gcc-5.2.0_libgcc.patch: update to 5.3.0 * gcc-5.2.0_nds32.patch: update to 5.3.0 * gcc-5.2.0_riscv.patch: update from riscv-gnu-toolchain * cfe-3.7.1.src_frontend.patch: update to 3.8.0 In the latest code of riscv-gnu-toolchain project, the patch for {binutils,gcc}/config.sub has been removed, and the target is renamed as riscv32 and riscv64. The `riscv' to `riscv64' change in xcompile is in another commit. Test results: All GCC and LLVM/clang toolchain build successfully. x86,arm: qemu boots power8: firmware fails to boot aarch64,mips: not tested riscv: firmware fails to build with new binutils clang: firmware fails to boot Signed-off-by: Iru Cai <mytbk920423@gmail.com> Change-Id: I42ce89c29263d768d161c28199994f17d0389633 Reviewed-on: https://review.coreboot.org/14227 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
Taken from https://sourceware.org/ml/binutils/2014-10/msg00099.html
|
||||
Authored by Andreas Schwab <schwab@linux-m68k.org>
|
||||
diff --git a/gold/configure.tgt b/gold/configure.tgt
|
||||
index 9a75070..59a681e 100644
|
||||
--- binutils-2.25/gold/configure.tgt
|
||||
+++ binutils-2.25/gold/configure.tgt
|
||||
@@ -146,6 +146,7 @@ arm*-*-*)
|
||||
;;
|
||||
aarch64*-*)
|
||||
targ_obj=aarch64
|
||||
+ targ_extra_obj=aarch64-reloc-property
|
||||
targ_machine=EM_AARCH64
|
||||
targ_size=64
|
||||
targ_extra_size=32
|
@@ -1,18 +0,0 @@
|
||||
This is a known issue on GNU mail list. Please refer
|
||||
the link below.
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=17473
|
||||
|
||||
--- binutils-2.25/gold/binary.cc 2014-10-14 00:32:04.000000000 -0700
|
||||
+++ binutils-2.25.patched/gold/binary.cc 2015-09-15 07:02:40.000000000 -0700
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
#include <cerrno>
|
||||
#include <cstring>
|
||||
+#include "stringpool.h"
|
||||
#include "safe-ctype.h"
|
||||
|
||||
#include "elfcpp.h"
|
||||
-#include "stringpool.h"
|
||||
#include "fileread.h"
|
||||
#include "output.h"
|
||||
#include "binary.h"
|
@@ -1,7 +1,7 @@
|
||||
diff -ur binutils-2.25/bfd/Makefile.in binutils-2.25.patched/bfd/Makefile.in
|
||||
--- binutils-2.25/bfd/Makefile.in 2015-09-15 06:25:42.000000000 -0700
|
||||
+++ binutils-2.25.patched/bfd/Makefile.in 2015-09-15 05:51:01.000000000 -0700
|
||||
@@ -339,7 +339,7 @@
|
||||
diff -ur binutils-2.26/bfd/Makefile.in binutils-2.26.patched/bfd/Makefile.in
|
||||
--- binutils-2.26/bfd/Makefile.in 2015-11-13 16:27:40.000000000 +0800
|
||||
+++ binutils-2.26.patched/bfd/Makefile.in 2016-04-02 11:05:43.398422394 +0800
|
||||
@@ -341,7 +341,7 @@
|
||||
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
|
||||
INCDIR = $(srcdir)/../include
|
||||
CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
|
File diff suppressed because it is too large
Load Diff
@@ -5,8 +5,8 @@ https://llvm.org/bugs/show_bug.cgi?id=21538
|
||||
Index: include/clang/Driver/Driver.h
|
||||
===================================================================
|
||||
--- cfe-3.7.1.src/include/clang/Driver/Driver.h (revision 211898)
|
||||
+++ cfe-3.7.1.src/include/clang/Driver/Driver.h (working copy)
|
||||
@@ -325,6 +325,14 @@
|
||||
+++ cfe-3.8.0.src/include/clang/Driver/Driver.h (working copy)
|
||||
@@ -357,6 +357,14 @@
|
||||
// FIXME: This should be in CompilationInfo.
|
||||
std::string GetFilePath(const char *Name, const ToolChain &TC) const;
|
||||
|
||||
@@ -24,8 +24,8 @@ Index: include/clang/Driver/Driver.h
|
||||
Index: include/clang/Driver/Options.td
|
||||
===================================================================
|
||||
--- cfe-3.7.1.src/include/clang/Driver/Options.td (revision 211898)
|
||||
+++ cfe-3.7.1.src/include/clang/Driver/Options.td (working copy)
|
||||
@@ -1269,6 +1269,8 @@
|
||||
+++ cfe-3.8.0.src/include/clang/Driver/Options.td (working copy)
|
||||
@@ -1669,6 +1669,8 @@
|
||||
HelpText<"Enable Objective-C Ivar layout bitmap print trace">;
|
||||
def print_libgcc_file_name : Flag<["-", "--"], "print-libgcc-file-name">,
|
||||
HelpText<"Print the library path for \"libgcc.a\"">;
|
||||
@@ -37,8 +37,8 @@ Index: include/clang/Driver/Options.td
|
||||
Index: lib/Driver/Driver.cpp
|
||||
===================================================================
|
||||
--- cfe-3.7.1.src/lib/Driver/Driver.cpp (revision 211898)
|
||||
+++ cfe-3.7.1.src/lib/Driver/Driver.cpp (working copy)
|
||||
@@ -756,6 +756,11 @@
|
||||
+++ cfe-3.8.0.src/lib/Driver/Driver.cpp (working copy)
|
||||
@@ -910,6 +910,11 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -48,10 +48,10 @@ Index: lib/Driver/Driver.cpp
|
||||
+ }
|
||||
+
|
||||
if (C.getArgs().hasArg(options::OPT_print_multi_lib)) {
|
||||
const MultilibSet &Multilibs = TC.getMultilibs();
|
||||
|
||||
@@ -1820,6 +1825,26 @@
|
||||
return Name;
|
||||
for (const Multilib &Multilib : TC.getMultilibs())
|
||||
llvm::outs() << Multilib << "\n";
|
||||
@@ -2153,6 +2158,26 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
+std::string Driver::GetCompilerRTPath(const ToolChain &TC) const {
|
||||
@@ -76,4 +76,4 @@ Index: lib/Driver/Driver.cpp
|
||||
+
|
||||
std::string Driver::GetProgramPath(const char *Name,
|
||||
const ToolChain &TC) const {
|
||||
// FIXME: Needs a better variable than DefaultTargetTriple
|
||||
SmallVector<std::string, 2> TargetSpecificExecutables;
|
@@ -1,6 +1,6 @@
|
||||
diff -urN gcc-4.9.2/gcc/config/i386/t-elf64 gcc-4.9.2/gcc/config/i386/t-elf64
|
||||
--- gcc-4.9.2/gcc/config/i386/t-elf64 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ gcc-5.2.0/gcc/config/i386/t-elf64 2015-06-17 11:20:08.032513005 -0700
|
||||
+++ gcc-5.3.0/gcc/config/i386/t-elf64 2015-06-17 11:20:08.032513005 -0700
|
||||
@@ -0,0 +1,38 @@
|
||||
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
|
||||
+#
|
||||
@@ -42,7 +42,7 @@ diff -urN gcc-4.9.2/gcc/config/i386/t-elf64 gcc-4.9.2/gcc/config/i386/t-elf64
|
||||
+MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-elf-x32)
|
||||
diff -urN gcc-4.9.2/gcc/config.gcc gcc-4.9.2/gcc/config.gcc
|
||||
--- gcc-4.9.2/gcc/config.gcc 2015-06-17 11:20:57.841008182 -0700
|
||||
+++ gcc-5.2.0/gcc/config.gcc 2015-06-17 11:17:24.818890200 -0700
|
||||
+++ gcc-5.3.0/gcc/config.gcc 2015-06-17 11:17:24.818890200 -0700
|
||||
@@ -1353,6 +1353,30 @@
|
||||
;;
|
||||
x86_64-*-elf*)
|
||||
@@ -74,8 +74,8 @@ diff -urN gcc-4.9.2/gcc/config.gcc gcc-4.9.2/gcc/config.gcc
|
||||
;;
|
||||
i[34567]86-*-rdos*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h"
|
||||
--- gcc-5.2.0/gcc/config/i386/x86-64.h.orig 2015-08-20 17:17:34.555919593 +0200
|
||||
+++ gcc-5.2.0/gcc/config/i386/x86-64.h 2015-08-20 17:17:42.615908670 +0200
|
||||
--- gcc-5.3.0/gcc/config/i386/x86-64.h.orig 2015-08-20 17:17:34.555919593 +0200
|
||||
+++ gcc-5.3.0/gcc/config/i386/x86-64.h 2015-08-20 17:17:42.615908670 +0200
|
||||
@@ -49,7 +49,7 @@
|
||||
#define WCHAR_TYPE_SIZE 32
|
||||
|
@@ -1,5 +1,5 @@
|
||||
--- gcc-5.2.0/gcc/ada/gcc-interface/Make-lang.in.bak 2015-08-24 16:23:25.004493665 +0200
|
||||
+++ gcc-5.2.0/gcc/ada/gcc-interface/Make-lang.in 2015-08-24 17:53:52.496636113 +0200
|
||||
--- gcc-5.3.0/gcc/ada/gcc-interface/Make-lang.in.bak 2015-08-24 16:23:25.004493665 +0200
|
||||
+++ gcc-5.3.0/gcc/ada/gcc-interface/Make-lang.in 2015-08-24 17:53:52.496636113 +0200
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
diff -urN gcc-5.2.0.orig/libgcc/config/t-hardfp gcc-5.2.0/libgcc/config/t-hardfp
|
||||
--- gcc-5.2.0.orig/libgcc/config/t-hardfp 2015-01-05 04:33:28.000000000 -0800
|
||||
+++ gcc-5.2.0/libgcc/config/t-hardfp 2016-04-06 12:04:51.000000000 -0700
|
||||
+++ gcc-5.3.0/libgcc/config/t-hardfp 2016-04-06 12:04:51.000000000 -0700
|
||||
@@ -59,21 +59,52 @@
|
||||
|
||||
hardfp_func_list := $(filter-out $(hardfp_exclusions),$(hardfp_func_list))
|
@@ -1,6 +1,6 @@
|
||||
diff -urN gcc-5.2.0.orig/gcc/config/nds32/nds32.md gcc-5.2.0/gcc/config/nds32/nds32.md
|
||||
--- gcc-5.2.0.orig/gcc/config/nds32/nds32.md 2015-01-15 22:45:09.000000000 -0800
|
||||
+++ gcc-5.2.0/gcc/config/nds32/nds32.md 2016-04-14 22:09:09.000000000 -0700
|
||||
diff -urN gcc-5.3.0.orig/gcc/config/nds32/nds32.md gcc-5.3.0/gcc/config/nds32/nds32.md
|
||||
--- gcc-5.3.0.orig/gcc/config/nds32/nds32.md 2015-01-15 22:45:09.000000000 -0800
|
||||
+++ gcc-5.3.0/gcc/config/nds32/nds32.md 2016-04-14 22:09:09.000000000 -0700
|
||||
@@ -2289,11 +2289,11 @@
|
||||
emit_jump_insn (gen_cbranchsi4 (test, operands[0], operands[2],
|
||||
operands[4]));
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user