[OpenWrt-Devel] [PATCH] toolchain: fix gcc 4.6 build with gcc5

Dirk Neukirchen dirkneukirchen at web.de
Sat Jul 11 18:44:41 EDT 2015


build error:
cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p'
cfns.gperf:26:14: error: but not here
observed on Arch Linux

affected versions gcc 4.6, gcc 4.7

reported & fixed in DragonFlyBSD issue #136
https://github.com/DragonFlyBSD/DPorts/issues/136

Signed-off-by: Dirk Neukirchen <dirkneukirchen at web.de>
---
 .../gcc/patches/4.6-linaro/010-documentation.patch  |  2 +-
 .../gcc/patches/4.6-linaro/910-mbsd_multi.patch     |  6 +++---
 .../4.6-linaro/920-specs_nonfatal_getenv.patch      |  2 +-
 toolchain/gcc/patches/4.6-linaro/999-coldfire.patch |  2 +-
 .../patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch | 21 +++++++++++++++++++++
 5 files changed, 27 insertions(+), 6 deletions(-)
 create mode 100644 toolchain/gcc/patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch

diff --git a/toolchain/gcc/patches/4.6-linaro/010-documentation.patch b/toolchain/gcc/patches/4.6-linaro/010-documentation.patch
index 25773a3..46178da 100644
--- a/toolchain/gcc/patches/4.6-linaro/010-documentation.patch
+++ b/toolchain/gcc/patches/4.6-linaro/010-documentation.patch
@@ -1,6 +1,6 @@
 --- a/gcc/Makefile.in
 +++ b/gcc/Makefile.in
-@@ -4251,18 +4251,10 @@
+@@ -4267,18 +4267,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
  doc/gccint.info: $(TEXI_GCCINT_FILES)
  doc/cppinternals.info: $(TEXI_CPPINT_FILES)
  
diff --git a/toolchain/gcc/patches/4.6-linaro/910-mbsd_multi.patch b/toolchain/gcc/patches/4.6-linaro/910-mbsd_multi.patch
index 51bbc7f..32b408a 100644
--- a/toolchain/gcc/patches/4.6-linaro/910-mbsd_multi.patch
+++ b/toolchain/gcc/patches/4.6-linaro/910-mbsd_multi.patch
@@ -125,7 +125,7 @@
  Assume normal C execution environment
 --- a/gcc/common.opt
 +++ b/gcc/common.opt
-@@ -520,6 +520,10 @@ Werror=
+@@ -523,6 +523,10 @@ Werror=
  Common Joined
  Treat specified warning as error
  
@@ -136,7 +136,7 @@
  Wextra
  Common Var(extra_warnings) Warning
  Print extra (possibly unwanted) warnings
-@@ -1156,6 +1160,9 @@ fguess-branch-probability
+@@ -1159,6 +1163,9 @@ fguess-branch-probability
  Common Report Var(flag_guess_branch_prob) Optimization
  Enable guessing of branch probabilities
  
@@ -232,7 +232,7 @@
  @item -Wstack-protector
  @opindex Wstack-protector
  @opindex Wno-stack-protector
-@@ -6317,7 +6333,7 @@ so, the first branch is redirected to ei
+@@ -6322,7 +6338,7 @@ so, the first branch is redirected to ei
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
diff --git a/toolchain/gcc/patches/4.6-linaro/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/4.6-linaro/920-specs_nonfatal_getenv.patch
index 5055ae8..0b241fa 100644
--- a/toolchain/gcc/patches/4.6-linaro/920-specs_nonfatal_getenv.patch
+++ b/toolchain/gcc/patches/4.6-linaro/920-specs_nonfatal_getenv.patch
@@ -1,6 +1,6 @@
 --- a/gcc/gcc.c
 +++ b/gcc/gcc.c
-@@ -7772,7 +7772,10 @@ getenv_spec_function (int argc, const ch
+@@ -7830,7 +7830,10 @@ getenv_spec_function (int argc, const ch
  
    value = getenv (argv[0]);
    if (!value)
diff --git a/toolchain/gcc/patches/4.6-linaro/999-coldfire.patch b/toolchain/gcc/patches/4.6-linaro/999-coldfire.patch
index 0913f34..e014386 100644
--- a/toolchain/gcc/patches/4.6-linaro/999-coldfire.patch
+++ b/toolchain/gcc/patches/4.6-linaro/999-coldfire.patch
@@ -1,6 +1,6 @@
 --- a/gcc/config.gcc
 +++ b/gcc/config.gcc
-@@ -1805,7 +1805,7 @@ m68k-*-linux*)		# Motorola m68k's runnin
+@@ -1809,7 +1809,7 @@ m68k-*-linux*)		# Motorola m68k's runnin
  	default_m68k_cpu=68020
  	default_cf_cpu=5475
  	with_arch=${with_arch:-m68k}
diff --git a/toolchain/gcc/patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch b/toolchain/gcc/patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch
new file mode 100644
index 0000000..7ab0d4c
--- /dev/null
+++ b/toolchain/gcc/patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch
@@ -0,0 +1,21 @@
+--- a/gcc/cp/cfns.h
++++ b/gcc/cp/cfns.h
+@@ -53,6 +53,9 @@ __inline
+ static unsigned int hash (const char *, unsigned int);
+ #ifdef __GNUC__
+ __inline
++#ifdef __GNUC_STDC_INLINE__
++__attribute__ ((__gnu_inline__))
++#endif
+ #endif
+ const char * libc_name_p (const char *, unsigned int);
+ /* maximum key range = 391, duplicates = 0 */
+@@ -96,7 +99,7 @@ hash (register const char *str, register
+       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
+       400, 400, 400, 400, 400, 400, 400
+     };
+-  register int hval = len;
++  register int hval = (int)len;
+ 
+   switch (hval)
+     {
-- 
2.4.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list