summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--0100-gcc-fix-build-with-gcc-6.patch (renamed from gcc-5.3-fix-build-with-gcc-6.patch)16
-rwxr-xr-x0200-gcc-no-exceptions.patch (renamed from gcc-5.3-no-exceptions.patch)4
-rwxr-xr-x0300-gcc-multilib2.patch (renamed from gcc-5.3-multilib2.patch)4
-rw-r--r--1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rwxr-xr-xPKGBUILD23
6 files changed, 87 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9100a5061b41..2ea01a6b5541 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -25,14 +25,16 @@ pkgbase = arm-none-eabi-gcc53-linaro
options = docs
source = http://releases.linaro.org/components/toolchain/gcc-linaro/5.3-2016.02/gcc-linaro-5.3-2016.02.tar.xz
source = http://releases.linaro.org/15.01/components/toolchain/newlib-linaro/newlib-linaro-2.2.0-2015.01.tar.xz
- source = gcc-5.3-fix-build-with-gcc-6.patch
- source = gcc-5.3-multilib2.patch
- source = gcc-5.3-no-exceptions.patch
+ source = 0100-gcc-fix-build-with-gcc-6.patch
+ source = 0200-gcc-no-exceptions.patch
+ source = 0300-gcc-multilib2.patch
+ source = 1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
sha256sums = 549c1416c0e2025c8e4c07c7c970863437ac707429b268b36a9a426c45298090
sha256sums = d29fe53d70f545c2fb080b9686e05d0f8af5088fec9b7dc78bc788a98765ef99
- sha256sums = b328e9cdca4e2869490d932191b78ef1a61c60382cea3a23d1ef86e7c1fb86a7
- sha256sums = 104b9aa652804a56338470983e6975af1d1e5440eb8bddae3a01a966d2b332cf
- sha256sums = 3a1d6a17aba8a578ade3552a6d1beb66a129fb4f3268539596d39cbbef88ac6c
+ sha256sums = 318919dd575819622ddaec1cf593506411fa4435bc9af662155572c30a7baa88
+ sha256sums = 76eab14830216c774291d2ac35d4b4690f3273aa8c630a2c1546f02538847d8a
+ sha256sums = c9b6bc1dd53f9b4b80f5fdacdef94c9fce0e516c16fb78063107b66ba2e9fdd1
+ sha256sums = fa08269d6a748631b07b55a5fe00fa518b2f6e04356a3d6634c60f3c3ece3b07
pkgname = arm-none-eabi-gcc53-linaro
diff --git a/gcc-5.3-fix-build-with-gcc-6.patch b/0100-gcc-fix-build-with-gcc-6.patch
index f7cb0b5d13b8..12e6ae915d0a 100644
--- a/gcc-5.3-fix-build-with-gcc-6.patch
+++ b/0100-gcc-fix-build-with-gcc-6.patch
@@ -1,5 +1,5 @@
---- gcc/cp/Make-lang.in
-++++ gcc/cp/Make-lang.in
+--- a/gcc/cp/Make-lang.in
+++++ b/gcc/cp/Make-lang.in
@@ -111,7 +111,7 @@ else
# deleting the $(srcdir)/cp/cfns.h file.
$(srcdir)/cp/cfns.h:
@@ -11,8 +11,8 @@
#
diff --git gcc/cp/cfns.gperf gcc/cp/cfns.gperf
index 05ca753..d9b16b8 100644
---- gcc/cp/cfns.gperf
-+++ gcc/cp/cfns.gperf
+--- a/gcc/cp/cfns.gperf
++++ b/gcc/cp/cfns.gperf
@@ -1,3 +1,5 @@
+%language=C++
+%define class-name libc_name
@@ -36,8 +36,8 @@ index 05ca753..d9b16b8 100644
# The standard C library functions, for feeding to gperf; the result is used
diff --git gcc/cp/cfns.h gcc/cp/cfns.h
index c845ddf..65801d1 100644
---- gcc/cp/cfns.h
-+++ gcc/cp/cfns.h
+--- a/gcc/cp/cfns.h
++++ b/gcc/cp/cfns.h
@@ -1,5 +1,5 @@
-/* ANSI-C code produced by gperf version 3.0.3 */
-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
@@ -109,8 +109,8 @@ index c845ddf..65801d1 100644
{
diff --git gcc/cp/except.c gcc/cp/except.c
index 221971a..32340f5 100644
---- gcc/cp/except.c
-+++ gcc/cp/except.c
+--- a/gcc/cp/except.c
++++ b/gcc/cp/except.c
@@ -1030,7 +1030,8 @@ nothrow_libfn_p (const_tree fn)
unless the system headers are playing rename tricks, and if
they are, we don't want to be confused by them. */
diff --git a/gcc-5.3-no-exceptions.patch b/0200-gcc-no-exceptions.patch
index 8cf36f718133..0113bd825671 100755
--- a/gcc-5.3-no-exceptions.patch
+++ b/0200-gcc-no-exceptions.patch
@@ -1,5 +1,5 @@
---- libgcc/Makefile.in.orig 2013-06-01 23:57:51.711127513 +0200
-+++ libgcc/Makefile.in 2013-06-01 23:59:13.940660435 +0200
+--- a/libgcc/Makefile.in 2013-06-01 23:57:51.711127513 +0200
++++ b/libgcc/Makefile.in 2013-06-01 23:59:13.940660435 +0200
@@ -492,7 +492,7 @@
ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),)
# Provide default flags for compiling divmod functions, if they haven't been
diff --git a/gcc-5.3-multilib2.patch b/0300-gcc-multilib2.patch
index 2ee91fcf3e24..d41cd4585970 100755
--- a/gcc-5.3-multilib2.patch
+++ b/0300-gcc-multilib2.patch
@@ -1,5 +1,5 @@
---- gcc/config/arm/t-arm-elf.orig 2013-01-10 21:38:27.000000000 +0100
-+++ gcc/config/arm/t-arm-elf 2013-06-02 00:02:10.473472897 +0200
+--- a/gcc/config/arm/t-arm-elf 2013-01-10 21:38:27.000000000 +0100
++++ b/gcc/config/arm/t-arm-elf 2013-06-02 00:02:10.473472897 +0200
@@ -18,73 +18,29 @@
MULTILIB_OPTIONS = marm/mthumb
diff --git a/1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 000000000000..2e0df968bd74
--- /dev/null
+++ b/1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,54 @@
+From 1eede9e4a10d3532db826a6eeced695df3ad5b89 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH 39/46] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+ $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+ had done to lto-plugin.
+* Fix bad RPATH iussue:
+ gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 7a274b3..db69bea 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -35,8 +35,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 1916134..c8995d2 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -262,8 +262,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ BUILT_SOURCES = compiler-name.h
+--
+2.6.3
+
diff --git a/PKGBUILD b/PKGBUILD
index 858be9f60896..c321896af165 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,7 @@
# Maintainer: Johnny Halfmoon <jhalfmoon@milksnot.com>
# Latest sources are at http://releases.linaro.org/components/toolchain/gcc-linaro/
+# NOTE: I get my patches from the following location. There might be a better source. If so, let me know.
+# https://github.com/01org/luv-yocto/tree/master/meta/recipes-devtools/gcc/gcc-5.3
pkgname=arm-none-eabi-gcc53-linaro
_relver=5.3
@@ -25,9 +27,10 @@ conflicts=('arm-none-eabi-gcc' 'cross-arm-none-eabi-gcc')
options=(staticlibs !libtool !emptydirs !strip zipman docs)
source=(http://releases.linaro.org/components/toolchain/gcc-linaro/${_relverdate}/gcc-linaro-${_relverdate}.tar.xz
http://releases.linaro.org/${_newlibvershort}/components/toolchain/newlib-linaro/newlib-${_newlibver}.tar.xz
- gcc-${_relver}-fix-build-with-gcc-6.patch
- gcc-${_relver}-multilib2.patch
- gcc-${_relver}-no-exceptions.patch)
+ 0100-gcc-fix-build-with-gcc-6.patch
+ 0200-gcc-no-exceptions.patch
+ 0300-gcc-multilib2.patch
+ 1039-libcc1-fix-libcc1-s-install-path-and-rpath.patch)
_basedir=gcc-linaro-${_relverdate}
build() {
@@ -39,10 +42,9 @@ hortdate=14.09
_reldate=20${_relshortdate}
cd ${srcdir}/${_basedir}
- patch -Np0 -i "${srcdir}/gcc-${_relver}-multilib2.patch"
- patch -Np0 -i "${srcdir}/gcc-${_relver}-no-exceptions.patch"
- patch -Np0 -i "${srcdir}/gcc-${_relver}-fix-build-with-gcc-6.patch"
-
+ find ${srcdir}/*.patch | while read PATCH ; do
+ patch -Np1 -i $PATCH
+ done
mkdir build
cd build
@@ -87,6 +89,7 @@ package() {
sha256sums=('549c1416c0e2025c8e4c07c7c970863437ac707429b268b36a9a426c45298090'
'd29fe53d70f545c2fb080b9686e05d0f8af5088fec9b7dc78bc788a98765ef99'
- 'b328e9cdca4e2869490d932191b78ef1a61c60382cea3a23d1ef86e7c1fb86a7'
- '104b9aa652804a56338470983e6975af1d1e5440eb8bddae3a01a966d2b332cf'
- '3a1d6a17aba8a578ade3552a6d1beb66a129fb4f3268539596d39cbbef88ac6c')
+ '318919dd575819622ddaec1cf593506411fa4435bc9af662155572c30a7baa88'
+ '76eab14830216c774291d2ac35d4b4690f3273aa8c630a2c1546f02538847d8a'
+ 'c9b6bc1dd53f9b4b80f5fdacdef94c9fce0e516c16fb78063107b66ba2e9fdd1'
+ 'fa08269d6a748631b07b55a5fe00fa518b2f6e04356a3d6634c60f3c3ece3b07')