summaryrefslogtreecommitdiff
path: root/package/gcc
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-01-17 21:55:49 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-17 21:55:49 +0100
commit15c84adca94bfe4a89ece5c04f06a884cf508ebb (patch)
tree727d3fd768a1abe75521190b90833b3a68cce4c6 /package/gcc
parent0de5d9ecedff55481b3c1eb9c3841de17716a485 (diff)
fix packages to be compile with stack protector
- libtool do not pass -fstack-protector while linking, but this is required to successfully link libraries or executables with SSP - pass LDFLAGS for non-libtool packages
Diffstat (limited to 'package/gcc')
-rw-r--r--package/gcc/Makefile3
-rw-r--r--package/gcc/patches/cross-gcc-fix.patch10
-rw-r--r--package/gcc/patches/ltmain.patch12
3 files changed, 19 insertions, 6 deletions
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index 1f2ce8f99..faf1f9e31 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -36,7 +36,8 @@ CONFIGURE_ARGS+= --enable-languages=c,c++ \
--disable-libmudflap \
--disable-libgomp \
--disable-multilib \
- --disable-libstdcxx-pch
+ --disable-libstdcxx-pch \
+ --enable-cxx-flags="${TARGET_LDFLAGS}"
post-install:
${INSTALL_DIR} ${IDIR_GCC}/usr/lib/gcc ${IDIR_GCC}/usr/bin
diff --git a/package/gcc/patches/cross-gcc-fix.patch b/package/gcc/patches/cross-gcc-fix.patch
index 9b5d55318..f39b35fb9 100644
--- a/package/gcc/patches/cross-gcc-fix.patch
+++ b/package/gcc/patches/cross-gcc-fix.patch
@@ -1,7 +1,7 @@
diff -Nur gcc-4.4.2.orig/gcc/Makefile.in gcc-4.4.2/gcc/Makefile.in
---- gcc-4.4.2.orig/gcc/Makefile.in 2009-07-25 19:53:35.000000000 +0200
-+++ gcc-4.4.2/gcc/Makefile.in 2009-11-22 15:30:27.000000000 +0100
-@@ -898,7 +898,8 @@
+--- gcc-4.5.2.orig/gcc/Makefile.in 2010-09-02 15:05:30.000000000 +0200
++++ gcc-4.5.2/gcc/Makefile.in 2011-01-15 14:29:18.000000000 +0100
+@@ -980,7 +980,8 @@ ALL_CXXFLAGS = $(T_CFLAGS) $(CXXFLAGS) $
# Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro
# puts -I options in CPPFLAGS, our include files in the srcdir will always
# win against random include files in /usr/include.
@@ -9,5 +9,5 @@ diff -Nur gcc-4.4.2.orig/gcc/Makefile.in gcc-4.4.2/gcc/Makefile.in
+#ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS)
+ALL_CPPFLAGS = $(INCLUDES)
- # Build and host support libraries.
- LIBIBERTY = ../libiberty/libiberty.a
+ # This is the variable to use when using $(COMPILER).
+ ifneq ($(ENABLE_BUILD_WITH_CXX),yes)
diff --git a/package/gcc/patches/ltmain.patch b/package/gcc/patches/ltmain.patch
new file mode 100644
index 000000000..215889b70
--- /dev/null
+++ b/package/gcc/patches/ltmain.patch
@@ -0,0 +1,12 @@
+diff -Nur gcc-4.5.2.orig/ltmain.sh gcc-4.5.2/ltmain.sh
+--- gcc-4.5.2.orig/ltmain.sh 2009-12-05 18:18:53.000000000 +0100
++++ gcc-4.5.2/ltmain.sh 2011-01-15 14:45:07.000000000 +0100
+@@ -4980,7 +4980,7 @@
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|-fstack-protector*|-flto)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"