toolchain: fix gcc 4.6 build with gcc5
authorJohn Crispin <john@openwrt.org>
Tue, 14 Jul 2015 07:43:50 +0000 (07:43 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 14 Jul 2015 07:43:50 +0000 (07:43 +0000)
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@web.de>
SVN-Revision: 46355

toolchain/gcc/patches/4.6-linaro/010-documentation.patch
toolchain/gcc/patches/4.6-linaro/910-mbsd_multi.patch
toolchain/gcc/patches/4.6-linaro/920-specs_nonfatal_getenv.patch
toolchain/gcc/patches/4.6-linaro/999-coldfire.patch
toolchain/gcc/patches/4.6-linaro/999-gcc5-gcc_cp_cfns_h.patch [new file with mode: 0644]

index 25773a3d31e2e35f32bbc17ddc2ea91165fe8d3c..46178da95dabb3ce943fda9585b3c82d155b09de 100644 (file)
@@ -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)
  
index 51bbc7f2bcfb56a1afbdbafd3d86d6a1841ecd7c..32b408aa0e2e6c6b6993c008049b4c801ac61324 100644 (file)
  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
  
  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
  
  @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.
  
index 5055ae898e676d3a431efdce76c8e5f8fbf085e3..0b241faf05961734e491eabbf01809effbd01949 100644 (file)
@@ -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)
index 0913f3497e801d6f892fe3ec0bf9f46541380ae0..e014386192ab0c6085a84e6eb3eda45a7dc2d561 100644 (file)
@@ -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 (file)
index 0000000..7ab0d4c
--- /dev/null
@@ -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)
+     {