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:
Iru Cai 2016-04-02 10:50:59 +08:00 committed by Stefan Reinauer
parent 2da008afa6
commit ae8e3a0bbb
24 changed files with 3823 additions and 6219 deletions

View File

@ -18,8 +18,8 @@
cd $(dirname $0) cd $(dirname $0)
CROSSGCC_DATE="April 3rd, 2016" CROSSGCC_DATE="April 16th, 2016"
CROSSGCC_VERSION="1.38" CROSSGCC_VERSION="1.39"
CROSSGCC_COMMIT=$( git describe ) CROSSGCC_COMMIT=$( git describe )
# default settings # default settings
@ -33,18 +33,18 @@ SKIPPYTHON=1
# GCC toolchain version numbers # GCC toolchain version numbers
GMP_VERSION=6.1.0 GMP_VERSION=6.1.0
MPFR_VERSION=3.1.3 MPFR_VERSION=3.1.4
MPC_VERSION=1.0.3 MPC_VERSION=1.0.3
LIBELF_VERSION=0.8.13 LIBELF_VERSION=0.8.13
GCC_VERSION=5.2.0 GCC_VERSION=5.3.0
GCC_AUTOCONF_VERSION=2.69 GCC_AUTOCONF_VERSION=2.69
BINUTILS_VERSION=2.25 BINUTILS_VERSION=2.26
GDB_VERSION=7.9.1 GDB_VERSION=7.9.1
IASL_VERSION=20160318 IASL_VERSION=20160318
PYTHON_VERSION=3.4.3 PYTHON_VERSION=3.4.3
EXPAT_VERSION=2.1.0 EXPAT_VERSION=2.1.0
# CLANG version number # CLANG version number
CLANG_VERSION=3.7.1 CLANG_VERSION=3.8.0
MAKE_VERSION=4.1 MAKE_VERSION=4.1
# GCC toolchain archive locations # GCC toolchain archive locations
@ -674,7 +674,7 @@ case "$TARGETARCH" in
i386-elf) ;; i386-elf) ;;
i386-mingw32) ;; i386-mingw32) ;;
mipsel-elf) ;; mipsel-elf) ;;
riscv-elf) ;; riscv-elf) TARGETARCH=riscv64-elf;;
powerpc64*-linux*) ;; powerpc64*-linux*) ;;
i386*) TARGETARCH=i386-elf;; i386*) TARGETARCH=i386-elf;;
arm*) TARGETARCH=arm-eabi;; arm*) TARGETARCH=arm-eabi;;

View File

@ -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

View File

@ -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"

View File

@ -1,7 +1,7 @@
diff -ur binutils-2.25/bfd/Makefile.in binutils-2.25.patched/bfd/Makefile.in diff -ur binutils-2.26/bfd/Makefile.in binutils-2.26.patched/bfd/Makefile.in
--- binutils-2.25/bfd/Makefile.in 2015-09-15 06:25:42.000000000 -0700 --- binutils-2.26/bfd/Makefile.in 2015-11-13 16:27:40.000000000 +0800
+++ binutils-2.25.patched/bfd/Makefile.in 2015-09-15 05:51:01.000000000 -0700 +++ binutils-2.26.patched/bfd/Makefile.in 2016-04-02 11:05:43.398422394 +0800
@@ -339,7 +339,7 @@ @@ -341,7 +341,7 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config ACLOCAL_AMFLAGS = -I . -I .. -I ../config
INCDIR = $(srcdir)/../include INCDIR = $(srcdir)/../include
CSEARCH = -I. -I$(srcdir) -I$(INCDIR) CSEARCH = -I. -I$(srcdir) -I$(INCDIR)

View File

@ -5,8 +5,8 @@ https://llvm.org/bugs/show_bug.cgi?id=21538
Index: include/clang/Driver/Driver.h 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 (revision 211898)
+++ cfe-3.7.1.src/include/clang/Driver/Driver.h (working copy) +++ cfe-3.8.0.src/include/clang/Driver/Driver.h (working copy)
@@ -325,6 +325,14 @@ @@ -357,6 +357,14 @@
// FIXME: This should be in CompilationInfo. // FIXME: This should be in CompilationInfo.
std::string GetFilePath(const char *Name, const ToolChain &TC) const; 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 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 (revision 211898)
+++ cfe-3.7.1.src/include/clang/Driver/Options.td (working copy) +++ cfe-3.8.0.src/include/clang/Driver/Options.td (working copy)
@@ -1269,6 +1269,8 @@ @@ -1669,6 +1669,8 @@
HelpText<"Enable Objective-C Ivar layout bitmap print trace">; HelpText<"Enable Objective-C Ivar layout bitmap print trace">;
def print_libgcc_file_name : Flag<["-", "--"], "print-libgcc-file-name">, def print_libgcc_file_name : Flag<["-", "--"], "print-libgcc-file-name">,
HelpText<"Print the library path for \"libgcc.a\"">; HelpText<"Print the library path for \"libgcc.a\"">;
@ -37,8 +37,8 @@ Index: include/clang/Driver/Options.td
Index: lib/Driver/Driver.cpp 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 (revision 211898)
+++ cfe-3.7.1.src/lib/Driver/Driver.cpp (working copy) +++ cfe-3.8.0.src/lib/Driver/Driver.cpp (working copy)
@@ -756,6 +756,11 @@ @@ -910,6 +910,11 @@
return false; return false;
} }
@ -48,10 +48,10 @@ Index: lib/Driver/Driver.cpp
+ } + }
+ +
if (C.getArgs().hasArg(options::OPT_print_multi_lib)) { if (C.getArgs().hasArg(options::OPT_print_multi_lib)) {
const MultilibSet &Multilibs = TC.getMultilibs(); for (const Multilib &Multilib : TC.getMultilibs())
llvm::outs() << Multilib << "\n";
@@ -1820,6 +1825,26 @@ @@ -2153,6 +2158,26 @@
return Name; return false;
} }
+std::string Driver::GetCompilerRTPath(const ToolChain &TC) const { +std::string Driver::GetCompilerRTPath(const ToolChain &TC) const {
@ -76,4 +76,4 @@ Index: lib/Driver/Driver.cpp
+ +
std::string Driver::GetProgramPath(const char *Name, std::string Driver::GetProgramPath(const char *Name,
const ToolChain &TC) const { const ToolChain &TC) const {
// FIXME: Needs a better variable than DefaultTargetTriple SmallVector<std::string, 2> TargetSpecificExecutables;

View File

@ -1,6 +1,6 @@
diff -urN gcc-4.9.2/gcc/config/i386/t-elf64 gcc-4.9.2/gcc/config/i386/t-elf64 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-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 @@ @@ -0,0 +1,38 @@
+# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# 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) +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 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-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 @@ @@ -1353,6 +1353,30 @@
;; ;;
x86_64-*-elf*) 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*) 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" 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.3.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 2015-08-20 17:17:42.615908670 +0200
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
#define WCHAR_TYPE_SIZE 32 #define WCHAR_TYPE_SIZE 32

View File

@ -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.3.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 2015-08-24 17:53:52.496636113 +0200
@@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@

View File

@ -1,6 +1,6 @@
diff -urN gcc-5.2.0.orig/libgcc/config/t-hardfp gcc-5.2.0/libgcc/config/t-hardfp 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.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 @@ @@ -59,21 +59,52 @@
hardfp_func_list := $(filter-out $(hardfp_exclusions),$(hardfp_func_list)) hardfp_func_list := $(filter-out $(hardfp_exclusions),$(hardfp_func_list))

View File

@ -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 diff -urN gcc-5.3.0.orig/gcc/config/nds32/nds32.md gcc-5.3.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.3.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 +++ gcc-5.3.0/gcc/config/nds32/nds32.md 2016-04-14 22:09:09.000000000 -0700
@@ -2289,11 +2289,11 @@ @@ -2289,11 +2289,11 @@
emit_jump_insn (gen_cbranchsi4 (test, operands[0], operands[2], emit_jump_insn (gen_cbranchsi4 (test, operands[0], operands[2],
operands[4])); operands[4]));

View File

@ -1 +0,0 @@
b46cc90ebaba7ffcf6c6d996d60738881b14e50d tarballs/binutils-2.25.tar.bz2

View File

@ -0,0 +1 @@
a637508cffeb2323b14bc8dd65378819768ad4ff tarballs/binutils-2.26.tar.bz2

View File

@ -1 +0,0 @@
15475a2c1e750a13755812785a4796cf4d9fa4c2 tarballs/cfe-3.7.1.src.tar.xz

View File

@ -0,0 +1 @@
2230ef962f2df3c13ec93f5b04b0e3cdff94b2ce tarballs/cfe-3.8.0.src.tar.xz

View File

@ -1 +0,0 @@
af7b0208d00be365849a923b16b8e6d0fca2a2fc tarballs/clang-tools-extra-3.7.1.src.tar.xz

View File

@ -0,0 +1 @@
a99d8b6fc5e593c4671424b327779318a1856acf tarballs/clang-tools-extra-3.8.0.src.tar.xz

View File

@ -1 +0,0 @@
8ad98fcc0bc801ba448c9bc43942fd3f545a6923 tarballs/compiler-rt-3.7.1.src.tar.xz

View File

@ -0,0 +1 @@
480ea09e369dac6de1f3759b27fa19417b26b69e tarballs/compiler-rt-3.8.0.src.tar.xz

View File

@ -1 +0,0 @@
fe3f5390949d47054b613edc36c557eb1d51c18e tarballs/gcc-5.2.0.tar.bz2

View File

@ -0,0 +1 @@
0612270b103941da08376df4d0ef4e5662a2e9eb tarballs/gcc-5.3.0.tar.bz2

View File

@ -1 +0,0 @@
5dbdcafac105273dcbff94c68837a66c6dd78cef tarballs/llvm-3.7.1.src.tar.xz

View File

@ -0,0 +1 @@
723ac918979255706434a05f5af34b71c49c9971 tarballs/llvm-3.8.0.src.tar.xz

View File

@ -1 +0,0 @@
3e46c5ce43701f2f36f9d01f407efe081700da80 tarballs/mpfr-3.1.3.tar.bz2