gcc: Build gcc version 4.8.3, refresh patches from openwrt.git.

Signed-off-by: Christian Beier <dontmind@freeshell.org>
This commit is contained in:
Christian Beier 2014-08-10 18:00:40 +02:00
parent b9683bf7df
commit c704c2f503
20 changed files with 224 additions and 348 deletions

View file

@ -9,14 +9,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=gcc PKG_NAME:=gcc
PKG_VERSION:=4.6.3 PKG_VERSION:=4.8.3
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \ PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \
http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \ http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \
ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION) ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_MD5SUM:=773092fe5194353b02bb0110052a972e PKG_MD5SUM:=7c60f24fab389f77af203d2516ee110f
PKG_INSTALL:=1 PKG_INSTALL:=1
PKG_FIXUP:=libtool PKG_FIXUP:=libtool
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View file

@ -1,8 +1,6 @@
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 9b6af49..a5404be 100644
--- a/gcc/Makefile.in --- a/gcc/Makefile.in
+++ b/gcc/Makefile.in +++ b/gcc/Makefile.in
@@ -4267,18 +4267,10 @@ doc/gcc.info: $(TEXI_GCC_FILES) @@ -4326,18 +4326,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
doc/gccint.info: $(TEXI_GCCINT_FILES) doc/gccint.info: $(TEXI_GCCINT_FILES)
doc/cppinternals.info: $(TEXI_CPPINT_FILES) doc/cppinternals.info: $(TEXI_CPPINT_FILES)
@ -23,12 +21,3 @@ index 9b6af49..a5404be 100644
doc/cpp.dvi: $(TEXI_CPP_FILES) doc/cpp.dvi: $(TEXI_CPP_FILES)
doc/gcc.dvi: $(TEXI_GCC_FILES) doc/gcc.dvi: $(TEXI_GCC_FILES)
@@ -4496,7 +4488,7 @@ maintainer-clean:
# Install the driver last so that the window when things are
# broken is small.
install: install-common $(INSTALL_HEADERS) \
- install-cpp install-man install-info install-@POSUB@ \
+ install-cpp install-@POSUB@ \
install-driver install-lto-wrapper
ifeq ($(enable_plugin),yes)

View file

@ -1,65 +0,0 @@
--- a/gcc/config/mips/sync.md
+++ b/gcc/config/mips/sync.md
@@ -136,7 +136,7 @@
[(match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "register_operand" "d")
(atomic_hiqi_op:SI (match_dup 0)
- (match_operand:SI 3 "register_operand" "dJ"))]
+ (match_operand:SI 3 "reg_or_0_operand" "dJ"))]
UNSPEC_SYNC_OLD_OP_12))
(clobber (match_scratch:SI 4 "=&d"))]
"GENERATE_LL_SC"
@@ -177,7 +177,7 @@
[(match_operand:SI 2 "register_operand" "d")
(match_operand:SI 3 "register_operand" "d")
(atomic_hiqi_op:SI (match_dup 0)
- (match_operand:SI 4 "register_operand" "dJ"))]
+ (match_operand:SI 4 "reg_or_0_operand" "dJ"))]
UNSPEC_SYNC_OLD_OP_12))
(clobber (match_scratch:SI 5 "=&d"))]
"GENERATE_LL_SC"
@@ -218,7 +218,7 @@
(match_operand:SI 2 "register_operand" "d")
(match_operand:SI 3 "register_operand" "d")
(atomic_hiqi_op:SI (match_dup 0)
- (match_operand:SI 4 "register_operand" "dJ"))]
+ (match_operand:SI 4 "reg_or_0_operand" "dJ"))]
UNSPEC_SYNC_NEW_OP_12))
(set (match_dup 1)
(unspec_volatile:SI
@@ -259,7 +259,7 @@
[(match_operand:SI 1 "register_operand" "d")
(match_operand:SI 2 "register_operand" "d")
(match_dup 0)
- (match_operand:SI 3 "register_operand" "dJ")]
+ (match_operand:SI 3 "reg_or_0_operand" "dJ")]
UNSPEC_SYNC_OLD_OP_12))
(clobber (match_scratch:SI 4 "=&d"))]
"GENERATE_LL_SC"
@@ -298,7 +298,7 @@
(unspec_volatile:SI
[(match_operand:SI 2 "register_operand" "d")
(match_operand:SI 3 "register_operand" "d")
- (match_operand:SI 4 "register_operand" "dJ")]
+ (match_operand:SI 4 "reg_or_0_operand" "dJ")]
UNSPEC_SYNC_OLD_OP_12))
(clobber (match_scratch:SI 5 "=&d"))]
"GENERATE_LL_SC"
@@ -337,7 +337,7 @@
[(match_operand:SI 1 "memory_operand" "+R")
(match_operand:SI 2 "register_operand" "d")
(match_operand:SI 3 "register_operand" "d")
- (match_operand:SI 4 "register_operand" "dJ")]
+ (match_operand:SI 4 "reg_or_0_operand" "dJ")]
UNSPEC_SYNC_NEW_OP_12))
(set (match_dup 1)
(unspec_volatile:SI
@@ -546,7 +546,7 @@
(set (match_dup 1)
(unspec_volatile:SI [(match_operand:SI 2 "register_operand" "d")
(match_operand:SI 3 "register_operand" "d")
- (match_operand:SI 4 "arith_operand" "dJ")]
+ (match_operand:SI 4 "reg_or_0_operand" "dJ")]
UNSPEC_SYNC_EXCHANGE_12))]
"GENERATE_LL_SC"
{ return mips_output_sync_loop (insn, operands); }

View file

@ -1,16 +1,6 @@
--- a/config.sub
+++ b/config.sub
@@ -125,6 +125,7 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | \
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
--- a/gcc/config.gcc --- a/gcc/config.gcc
+++ b/gcc/config.gcc +++ b/gcc/config.gcc
@@ -485,7 +485,7 @@ case ${target} in @@ -549,7 +549,7 @@ case ${target} in
esac esac
# Common C libraries. # Common C libraries.
@ -19,7 +9,7 @@
# Common parts for widely ported systems. # Common parts for widely ported systems.
case ${target} in case ${target} in
@@ -598,6 +598,9 @@ case ${target} in @@ -652,6 +652,9 @@ case ${target} in
*-*-*uclibc*) *-*-*uclibc*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;; ;;
@ -31,7 +21,7 @@
;; ;;
--- a/gcc/config/arm/linux-eabi.h --- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h
@@ -78,6 +78,10 @@ @@ -77,6 +77,10 @@
%{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
%{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
@ -44,29 +34,24 @@
#undef LINK_SPEC #undef LINK_SPEC
--- a/gcc/config/i386/linux.h --- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h
@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. @@ -21,3 +21,4 @@ along with GCC; see the file COPYING3.
/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
#define LINK_EMULATION "elf_i386" #define GNU_USER_LINK_EMULATION "elf_i386"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
#undef ASM_SPEC
#define ASM_SPEC \
--- a/gcc/config/i386/linux64.h --- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h
@@ -65,6 +65,9 @@ see the files COPYING3 and COPYING.RUNTI @@ -30,3 +30,7 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+
+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" +#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
+ +#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
#define SPEC_64 "!m32"
--- a/gcc/config/linux.h --- a/gcc/config/linux.h
+++ b/gcc/config/linux.h +++ b/gcc/config/linux.h
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTI @@ -32,10 +32,12 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
@ -78,8 +63,8 @@
+#define OPTION_MUSL (linux_libc == LIBC_MUSL) +#define OPTION_MUSL (linux_libc == LIBC_MUSL)
#endif #endif
#define LINUX_TARGET_OS_CPP_BUILTINS() \ #define GNU_USER_TARGET_OS_CPP_BUILTINS() \
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTI @@ -53,18 +55,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */ -muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -109,20 +94,24 @@
#else #else
#error "Unsupported DEFAULT_LIBC" #error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */ #endif /* DEFAULT_LIBC */
@@ -83,13 +88,13 @@ see the files COPYING3 and COPYING.RUNTI @@ -84,16 +89,16 @@ see the files COPYING3 and COPYING.RUNTI
#define LINUX_DYNAMIC_LINKER \ #define GNU_USER_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
- BIONIC_DYNAMIC_LINKER) - BIONIC_DYNAMIC_LINKER)
+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) + BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
#define LINUX_DYNAMIC_LINKER32 \ #define GNU_USER_DYNAMIC_LINKER32 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
- BIONIC_DYNAMIC_LINKER32) - BIONIC_DYNAMIC_LINKER32)
+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) + BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
#define LINUX_DYNAMIC_LINKER64 \ #define GNU_USER_DYNAMIC_LINKER64 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
- BIONIC_DYNAMIC_LINKER64) - BIONIC_DYNAMIC_LINKER64)
+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) + BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
#define GNU_USER_DYNAMIC_LINKERX32 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \
- BIONIC_DYNAMIC_LINKERX32)
+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32)
/* Determine whether the entire c99 runtime /* Determine whether the entire c99 runtime
is present in the runtime library. */ is present in the runtime library. */
@ -138,18 +127,67 @@
+Use musl C library +Use musl C library
--- a/gcc/config/mips/linux.h --- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h +++ b/gcc/config/mips/linux.h
@@ -63,6 +63,8 @@ along with GCC; see the file COPYING3. @@ -18,3 +18,5 @@ along with GCC; see the file COPYING3.
<http://www.gnu.org/licenses/>. */
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips.so.1"
+ +
/* Borrowed from sparc/linux.h */ +#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips.so.1"
#undef LINK_SPEC --- a/gcc/config/rs6000/linux64.h
#define LINK_SPEC \ +++ b/gcc/config/rs6000/linux64.h
@@ -364,17 +364,21 @@ extern int dot_symbols;
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1"
#if DEFAULT_LIBC == LIBC_UCLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
#elif DEFAULT_LIBC == LIBC_GLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
+#elif DEFAULT_LIBC == LIBC_MUSL
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
#else
#error "Unsupported DEFAULT_LIBC"
#endif
#define GNU_USER_DYNAMIC_LINKER32 \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32)
#define GNU_USER_DYNAMIC_LINKER64 \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64)
#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -789,15 +789,18 @@ extern int fixuplabelno;
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1"
#if DEFAULT_LIBC == LIBC_UCLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
+#elif DEFAULT_LIBC == LIBC_MUSL
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}"
#elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}"
#else
#error "Unsupported DEFAULT_LIBC"
#endif
#define GNU_USER_DYNAMIC_LINKER \
- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER)
#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
--- a/gcc/ginclude/stddef.h --- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h +++ b/gcc/ginclude/stddef.h
@@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; @@ -181,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#ifndef _GCC_SIZE_T #ifndef _GCC_SIZE_T
#ifndef _SIZET_ #ifndef _SIZET_
#ifndef __size_t #ifndef __size_t
@ -157,14 +195,14 @@
#define __size_t__ /* BeOS */ #define __size_t__ /* BeOS */
#define __SIZE_T__ /* Cray Unicos/Mk */ #define __SIZE_T__ /* Cray Unicos/Mk */
#define _SIZE_T #define _SIZE_T
@@ -200,6 +201,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; @@ -197,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define ___int_size_t_h #define ___int_size_t_h
#define _GCC_SIZE_T #define _GCC_SIZE_T
#define _SIZET_ #define _SIZET_
+#define __DEFINED_size_t /* musl */ +#define __DEFINED_size_t /* musl */
#if defined (__FreeBSD__) && (__FreeBSD__ >= 5) #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
/* __size_t is a typedef on FreeBSD 5!, must not trash it. */ || defined(__FreeBSD_kernel__)
#else /* __size_t is a typedef on FreeBSD 5, must not trash it. */
@@ -214,6 +216,7 @@ typedef __SIZE_TYPE__ size_t; @@ -214,6 +216,7 @@ typedef __SIZE_TYPE__ size_t;
typedef long ssize_t; typedef long ssize_t;
#endif /* __BEOS__ */ #endif /* __BEOS__ */
@ -184,9 +222,54 @@
#include "libgomp.h" #include "libgomp.h"
#include <unistd.h> #include <unistd.h>
#if TIME_WITH_SYS_TIME #if TIME_WITH_SYS_TIME
--- a/libitm/config/arm/hwcap.cc
+++ b/libitm/config/arm/hwcap.cc
@@ -40,7 +40,11 @@ int GTM_hwcap HIDDEN = 0
#ifdef __linux__
#include <unistd.h>
+#ifdef __GLIBC__
#include <sys/fcntl.h>
+#else
+#include <fcntl.h>
+#endif
#include <elf.h>
static void __attribute__((constructor))
--- a/libitm/config/linux/x86/tls.h
+++ b/libitm/config/linux/x86/tls.h
@@ -25,16 +25,19 @@
#ifndef LIBITM_X86_TLS_H
#define LIBITM_X86_TLS_H 1
-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
+#if defined(__GLIBC_PREREQ)
+#if __GLIBC_PREREQ(2, 10)
/* Use slots in the TCB head rather than __thread lookups.
GLIBC has reserved words 10 through 13 for TM. */
#define HAVE_ARCH_GTM_THREAD 1
#define HAVE_ARCH_GTM_THREAD_DISP 1
#endif
+#endif
#include "config/generic/tls.h"
-#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10)
+#if defined(__GLIBC_PREREQ)
+#if __GLIBC_PREREQ(2, 10)
namespace GTM HIDDEN {
#ifdef __x86_64__
@@ -101,5 +104,6 @@ static inline void set_abi_disp(struct a
} // namespace GTM
#endif /* >= GLIBC 2.10 */
+#endif
#endif // LIBITM_X86_TLS_H
--- a/libstdc++-v3/configure.host --- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host
@@ -237,6 +237,13 @@ case "${host_os}" in @@ -264,6 +264,13 @@ case "${host_os}" in
os_include_dir="os/bsd/freebsd" os_include_dir="os/bsd/freebsd"
;; ;;
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
@ -200,7 +283,7 @@
if [ "$uclibc" = "yes" ]; then if [ "$uclibc" = "yes" ]; then
os_include_dir="os/uclibc" os_include_dir="os/uclibc"
elif [ "$bionic" = "yes" ]; then elif [ "$bionic" = "yes" ]; then
@@ -245,6 +252,9 @@ case "${host_os}" in @@ -272,6 +279,9 @@ case "${host_os}" in
os_include_dir="os/gnu-linux" os_include_dir="os/gnu-linux"
fi fi
;; ;;
@ -212,22 +295,19 @@
;; ;;
--- a/gcc/config/mips/linux64.h --- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h +++ b/gcc/config/mips/linux64.h
@@ -40,9 +40,12 @@ along with GCC; see the file COPYING3. @@ -27,6 +27,9 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
+#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips.so.1" +#define MUSL_DYNAMIC_LINKERN32 "/lib/ld-musl-mips.so.1"
+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips.so.1" +#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips.so.1" +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-mips.so.1"
#define LINUX_DYNAMIC_LINKERN32 \ #define GNU_USER_DYNAMIC_LINKERN32 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
- BIONIC_DYNAMIC_LINKERN32) - BIONIC_DYNAMIC_LINKERN32)
+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32) + BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKERN32)
--- a/gcc/config/sparc/linux64.h 2013-09-10 10:02:45.663973856 +0100
#undef LINK_SPEC +++ b/gcc/config/sparc/linux64.h 2013-09-10 10:03:17.871972435 +0100
#define LINK_SPEC "\
--- a/gcc/config/sparc/linux64.h 2013-09-10 10:02:45.663973856 +0100
+++ b/gcc/config/sparc/linux64.h 2013-09-10 10:03:17.871972435 +0100
@@ -104,6 +104,9 @@ @@ -104,6 +104,9 @@
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2" #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
@ -238,3 +318,4 @@
#ifdef SPARC_BI_ARCH #ifdef SPARC_BI_ARCH
#undef SUBTARGET_EXTRA_SPECS #undef SUBTARGET_EXTRA_SPECS

View file

@ -1,11 +0,0 @@
--- a/boehm-gc/include/gc.h
+++ b/boehm-gc/include/gc.h
@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of
#if defined(__linux__) || defined(__GLIBC__)
# include <features.h>
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
- && !defined(__ia64__)
+ && !defined(__ia64__) && !defined(__UCLIBC__)
# ifndef GC_HAVE_BUILTIN_BACKTRACE
# define GC_HAVE_BUILTIN_BACKTRACE
# endif

View file

@ -1,11 +0,0 @@
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -137,7 +137,7 @@ namespace std
using ::vsprintf;
} // namespace
-#if _GLIBCXX_USE_C99
+#if _GLIBCXX_USE_C99 || defined __UCLIBC__
#undef snprintf
#undef vfscanf

View file

@ -1,47 +0,0 @@
--- a/libmudflap/mf-hooks2.c
+++ b/libmudflap/mf-hooks2.c
@@ -421,7 +421,7 @@ WRAPPER2(void, bzero, void *s, size_t n)
{
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
- bzero (s, n);
+ memset (s, 0, n);
}
@@ -431,7 +431,7 @@ WRAPPER2(void, bcopy, const void *src, v
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
- bcopy (src, dest, n);
+ memmove (dest, src, n);
}
@@ -441,7 +441,7 @@ WRAPPER2(int, bcmp, const void *s1, cons
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
- return bcmp (s1, s2, n);
+ return n == 0 ? 0 : memcmp (s1, s2, n);
}
@@ -450,7 +450,7 @@ WRAPPER2(char *, index, const char *s, i
size_t n = strlen (s);
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
- return index (s, c);
+ return strchr (s, c);
}
@@ -459,7 +459,7 @@ WRAPPER2(char *, rindex, const char *s,
size_t n = strlen (s);
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
- return rindex (s, c);
+ return strrchr (s, c);
}
/* XXX: stpcpy, memccpy */

View file

@ -1,11 +1,11 @@
--- a/gcc/config/arm/arm.h --- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h
@@ -232,7 +232,7 @@ extern void (*arm_lang_output_object_att @@ -271,7 +271,7 @@ extern void (*arm_lang_output_object_att
#define TARGET_BACKTRACE (leaf_function_p () \ /* Thumb-1 only. */
? TARGET_TPCS_LEAF_FRAME \ #define TARGET_THUMB1_ONLY (TARGET_THUMB1 && !arm_arch_notm)
: TARGET_TPCS_FRAME)
-#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN)
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN)
#define TARGET_AAPCS_BASED \
(arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)
-#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN \
+#define TARGET_LDRD (arm_arch6 && ARM_DOUBLEWORD_ALIGN \
&& !TARGET_THUMB1)
/* The following two macros concern the ability to execute coprocessor

View file

@ -1,26 +1,25 @@
--- a/gcc/config/arm/linux-elf.h --- a/libgcc/config/arm/t-linux
+++ b/gcc/config/arm/linux-elf.h +++ b/libgcc/config/arm/t-linux
@@ -60,7 +60,7 @@ @@ -1,6 +1,10 @@
%{shared:-lc} \ LIB1ASMSRC = arm/lib1funcs.S
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
+#define LIBGCC_SPEC "-lgcc"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
--- a/gcc/config/arm/t-linux
+++ b/gcc/config/arm/t-linux
@@ -23,7 +23,11 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
- _arm_addsubdf3 _arm_addsubsf3 - _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
+ _arm_addsubdf3 _arm_addsubsf3 \ + _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ + _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ + _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ + _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
+ _arm_fixsfsi _arm_fixunssfsi + _arm_fixsfsi _arm_fixunssfsi
# MULTILIB_OPTIONS = mhard-float/msoft-float # Just for these, we omit the frame pointer since it makes such a big
# MULTILIB_DIRNAMES = hard-float soft-float # difference.
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -55,8 +55,6 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define LINUX_TARGET_LINK_SPEC "%{h*} \

View file

@ -1,6 +1,6 @@
--- a/libgcc/Makefile.in --- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in +++ b/libgcc/Makefile.in
@@ -747,11 +747,12 @@ $(libgcov-objects): %$(objext): $(gcc_sr @@ -865,11 +865,12 @@ $(libgcov-objects): %$(objext): $(srcdir
# Static libraries. # Static libraries.
libgcc.a: $(libgcc-objects) libgcc.a: $(libgcc-objects)
@ -14,7 +14,7 @@
-rm -f $@ -rm -f $@
objects="$(objects)"; \ objects="$(objects)"; \
@@ -773,7 +774,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E @@ -891,7 +892,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E
endif endif
ifeq ($(enable_shared),yes) ifeq ($(enable_shared),yes)
@ -23,7 +23,7 @@
ifneq ($(LIBUNWIND),) ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT) all: libunwind$(SHLIB_EXT)
endif endif
@@ -954,6 +955,10 @@ install-shared: @@ -1058,6 +1059,10 @@ install-shared:
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a

View file

@ -2,7 +2,7 @@ http://sourceware.org/ml/crossgcc/2008-05/msg00009.html
--- a/gcc/config/arm/linux-eabi.h --- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h
@@ -46,7 +46,7 @@ @@ -45,7 +45,7 @@
The ARM10TDMI core is the default for armv5t, so set The ARM10TDMI core is the default for armv5t, so set
SUBTARGET_CPU_DEFAULT to achieve this. */ SUBTARGET_CPU_DEFAULT to achieve this. */
#undef SUBTARGET_CPU_DEFAULT #undef SUBTARGET_CPU_DEFAULT

View file

@ -1,6 +1,6 @@
--- a/gcc/config/arm/linux-eabi.h --- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h
@@ -82,10 +82,15 @@ @@ -81,10 +81,15 @@
#undef MUSL_DYNAMIC_LINKER #undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1" #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"

View file

@ -1,6 +1,6 @@
--- a/gcc/config/arm/linux-eabi.h --- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h
@@ -115,10 +115,6 @@ @@ -114,10 +114,6 @@
#define ENDFILE_SPEC \ #define ENDFILE_SPEC \
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
@ -9,22 +9,11 @@
-#undef LIBGCC_SPEC -#undef LIBGCC_SPEC
- -
/* Clear the instruction cache from `beg' to `end'. This is /* Clear the instruction cache from `beg' to `end'. This is
implemented in lib1funcs.asm, so ensure an error if this definition implemented in lib1funcs.S, so ensure an error if this definition
is used. */ is used. */
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -60,8 +60,6 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "-lgcc"
-
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
--- a/gcc/config/linux.h --- a/gcc/config/linux.h
+++ b/gcc/config/linux.h +++ b/gcc/config/linux.h
@@ -52,6 +52,10 @@ see the files COPYING3 and COPYING.RUNTI @@ -51,6 +51,10 @@ see the files COPYING3 and COPYING.RUNTI
builtin_assert ("system=posix"); \ builtin_assert ("system=posix"); \
} while (0) } while (0)
@ -35,19 +24,8 @@
/* Determine which dynamic linker to use depending on whether GLIBC or /* Determine which dynamic linker to use depending on whether GLIBC or
uClibc or Bionic is the default C library and whether uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */ -muclibc or -mglibc or -mbionic has been passed to change the default. */
--- a/gcc/config/rs6000/linux.h --- a/libgcc/mkmap-symver.awk
+++ b/gcc/config/rs6000/linux.h +++ b/libgcc/mkmap-symver.awk
@@ -88,6 +88,8 @@
#define USE_LD_AS_NEEDED 1
#endif
+#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc"
+
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
--- a/gcc/mkmap-symver.awk
+++ b/gcc/mkmap-symver.awk
@@ -132,5 +132,5 @@ function output(lib) { @@ -132,5 +132,5 @@ function output(lib) {
else if (inherit[lib]) else if (inherit[lib])
printf("} %s;\n", inherit[lib]); printf("} %s;\n", inherit[lib]);
@ -55,32 +33,15 @@
- printf ("\n local:\n\t*;\n};\n"); - printf ("\n local:\n\t*;\n};\n");
+ printf ("\n\t*;\n};\n"); + printf ("\n\t*;\n};\n");
} }
--- a/libgcc/Makefile.in --- a/gcc/config/rs6000/linux.h
+++ b/libgcc/Makefile.in +++ b/gcc/config/rs6000/linux.h
@@ -269,6 +269,12 @@ ifeq ($(enable_shared),yes) @@ -61,6 +61,9 @@
install-libunwind = install-libunwind #undef CPLUSPLUS_CPP_SPEC
endif #define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
+else +#undef LIBGCC_SPEC
+# Not enable_shared. +#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc"
+iterator = $(srcdir)/empty.mk $(patsubst %,$(srcdir)/static-object.mk,$(iter-items))
+endif
+ +
+ #undef LINK_SHLIB_SPEC
# For -fvisibility=hidden. We need both a -fvisibility=hidden on #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
# the command line, and a #define to prevent libgcc2.h etc from
# overriding that with #pragmas.
@@ -291,13 +297,6 @@ else
gen-hide-list = echo > $@
endif
-else
-# Not enable_shared.
-iterator = $(srcdir)/empty.mk $(patsubst %,$(srcdir)/static-object.mk,$(iter-items))
-vis_hide =
-gen-hide-list = echo > \$@
-endif
-
ifneq ($(EXTRA_PARTS),)
extra-parts = libgcc-extra-parts
INSTALL_PARTS = $(EXTRA_PARTS)

View file

@ -1,5 +1,5 @@
--- a/gcc/crtstuff.c --- a/libgcc/crtstuff.c
+++ b/gcc/crtstuff.c +++ b/libgcc/crtstuff.c
@@ -100,15 +100,20 @@ call_ ## FUNC (void) \ @@ -100,15 +100,20 @@ call_ ## FUNC (void) \
#if defined(OBJECT_FORMAT_ELF) \ #if defined(OBJECT_FORMAT_ELF) \
&& !defined(OBJECT_FORMAT_FLAT) \ && !defined(OBJECT_FORMAT_FLAT) \
@ -26,4 +26,4 @@
+# endif +# endif
# endif # endif
#endif #endif
#if defined(EH_FRAME_SECTION_NAME) && !defined(USE_PT_GNU_EH_FRAME)

View file

@ -1,20 +1,11 @@
--- a/gcc/config/rs6000/sysv4.h --- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/rs6000.c
@@ -248,13 +248,13 @@ do { \ @@ -17653,7 +17653,7 @@ rs6000_savres_strategy (rs6000_stack_t *
/* Define cutoff for using out-of-line functions to save registers. */
/* Define cutoff for using external functions to save floating point. if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
When optimizing for size, use external functions when profitable. */ {
-#define FP_SAVE_INLINE(FIRST_REG) (optimize_size \ - if (!optimize_size)
+#define FP_SAVE_INLINE(FIRST_REG) (1 || (optimize_size \ + if (1)
? ((FIRST_REG) == 62 \ {
|| (FIRST_REG) == 63) \ strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
- : (FIRST_REG) < 64) strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;
+ : (FIRST_REG) < 64))
/* And similarly for general purpose registers. */
-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32 \
- && !optimize_size)
+#define GP_SAVE_INLINE(FIRST_REG) (1 || ((FIRST_REG) < 32 \
+ && !optimize_size))
/* Put jump tables in read-only memory, rather than in .text. */
#define JUMP_TABLES_IN_TEXT_SECTION 0

View file

@ -1,6 +1,6 @@
--- a/gcc/defaults.h --- a/gcc/defaults.h
+++ b/gcc/defaults.h +++ b/gcc/defaults.h
@@ -383,7 +383,7 @@ see the files COPYING3 and COPYING.RUNTI @@ -380,7 +380,7 @@ see the files COPYING3 and COPYING.RUNTI
/* If we have named section and we support weak symbols, then use the /* If we have named section and we support weak symbols, then use the
.jcr section for recording java classes which need to be registered .jcr section for recording java classes which need to be registered
at program start-up time. */ at program start-up time. */

View file

@ -1,6 +1,6 @@
--- gcc/gcc/config/mips/t-libgcc-mips16~ 2013-03-26 09:09:34.209077496 -0400 --- a/libgcc/config/mips/t-mips16
+++ gcc/gcc/config/mips/t-libgcc-mips16 2013-03-26 18:21:01.717303669 -0400 +++ b/libgcc/config/mips/t-mips16
@@ -43,3 +43,6 @@ @@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16
# Version these symbols if building libgcc.so. # Version these symbols if building libgcc.so.
SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver

View file

@ -19,27 +19,27 @@
--- a/gcc/c-family/c-opts.c --- a/gcc/c-family/c-opts.c
+++ b/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c
@@ -103,6 +103,9 @@ static size_t deferred_count; @@ -104,6 +104,9 @@ static size_t include_cursor;
/* Number of deferred options scanned for -include. */ /* Whether any standard preincluded header has been preincluded. */
static size_t include_cursor; static bool done_preinclude;
+/* Check if a port honours COPTS. */ +/* Check if a port honours COPTS. */
+static int honour_copts = 0; +static int honour_copts = 0;
+ +
static void handle_OPT_d (const char *); static void handle_OPT_d (const char *);
static void set_std_cxx98 (int); static void set_std_cxx98 (int);
static void set_std_cxx0x (int); static void set_std_cxx11 (int);
@@ -441,6 +444,9 @@ c_common_handle_option (size_t scode, co @@ -383,6 +386,9 @@ c_common_handle_option (size_t scode, co
global_dc->warning_as_error_requested = value; cpp_opts->warn_endif_labels = value;
break; break;
+ case OPT_Werror_maybe_reset: + case OPT_Werror_maybe_reset:
+ break; + break;
+ +
case OPT_Wformat: case OPT_Winvalid_pch:
set_Wformat (value); cpp_opts->warn_invalid_pch = value;
break; break;
@@ -584,6 +590,12 @@ c_common_handle_option (size_t scode, co @@ -491,6 +497,12 @@ c_common_handle_option (size_t scode, co
flag_no_builtin = !value; flag_no_builtin = !value;
break; break;
@ -52,7 +52,7 @@
case OPT_fconstant_string_class_: case OPT_fconstant_string_class_:
constant_string_class_name = arg; constant_string_class_name = arg;
break; break;
@@ -1058,6 +1070,47 @@ c_common_init (void) @@ -1027,6 +1039,47 @@ c_common_init (void)
return false; return false;
} }
@ -102,7 +102,7 @@
--- a/gcc/c-family/c.opt --- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt
@@ -363,6 +363,10 @@ Werror-implicit-function-declaration @@ -379,6 +379,10 @@ Werror-implicit-function-declaration
C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration) C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
This switch is deprecated; use -Werror=implicit-function-declaration instead This switch is deprecated; use -Werror=implicit-function-declaration instead
@ -113,7 +113,7 @@
Wfloat-equal Wfloat-equal
C ObjC C++ ObjC++ Var(warn_float_equal) Warning C ObjC C++ ObjC++ Var(warn_float_equal) Warning
Warn if testing floating point numbers for equality Warn if testing floating point numbers for equality
@@ -794,6 +798,9 @@ C++ ObjC++ Optimization Alias(fexception @@ -949,6 +953,9 @@ C++ ObjC++ Optimization Alias(fexception
fhonor-std fhonor-std
C++ ObjC++ Ignore Warn(switch %qs is no longer supported) C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
@ -125,7 +125,7 @@
Assume normal C execution environment Assume normal C execution environment
--- a/gcc/common.opt --- a/gcc/common.opt
+++ b/gcc/common.opt +++ b/gcc/common.opt
@@ -520,6 +520,10 @@ Werror= @@ -541,6 +541,10 @@ Werror=
Common Joined Common Joined
Treat specified warning as error Treat specified warning as error
@ -136,7 +136,7 @@
Wextra Wextra
Common Var(extra_warnings) Warning Common Var(extra_warnings) Warning
Print extra (possibly unwanted) warnings Print extra (possibly unwanted) warnings
@@ -1156,6 +1160,9 @@ fguess-branch-probability @@ -1242,6 +1246,9 @@ fguess-branch-probability
Common Report Var(flag_guess_branch_prob) Optimization Common Report Var(flag_guess_branch_prob) Optimization
Enable guessing of branch probabilities Enable guessing of branch probabilities
@ -148,7 +148,7 @@
; On SVR4 targets, it also controls whether or not to emit a ; On SVR4 targets, it also controls whether or not to emit a
--- a/gcc/opts.c --- a/gcc/opts.c
+++ b/gcc/opts.c +++ b/gcc/opts.c
@@ -477,8 +477,6 @@ static const struct default_options defa @@ -468,8 +468,6 @@ static const struct default_options defa
{ OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
#endif #endif
{ OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 },
@ -157,8 +157,8 @@
{ OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 },
@@ -494,6 +492,8 @@ static const struct default_options defa @@ -488,6 +486,8 @@ static const struct default_options defa
{ OPT_LEVELS_2_PLUS, OPT_falign_functions, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fhoist_adjacent_loads, NULL, 1 },
/* -O3 optimizations. */ /* -O3 optimizations. */
+ { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 }, + { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
@ -166,7 +166,7 @@
{ OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 }, { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 }, { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
/* Inlining of functions reducing size is a good idea with -Os /* Inlining of functions reducing size is a good idea with -Os
@@ -1405,6 +1405,17 @@ common_handle_option (struct gcc_options @@ -1423,6 +1423,17 @@ common_handle_option (struct gcc_options
opts, opts_set, loc, dc); opts, opts_set, loc, dc);
break; break;
@ -186,7 +186,7 @@
opts->x_warn_larger_than = value != -1; opts->x_warn_larger_than = value != -1;
--- a/gcc/doc/cppopts.texi --- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi +++ b/gcc/doc/cppopts.texi
@@ -164,6 +164,11 @@ in older programs. This warning is on b @@ -163,6 +163,11 @@ in older programs. This warning is on b
Make all warnings into hard errors. Source code which triggers warnings Make all warnings into hard errors. Source code which triggers warnings
will be rejected. will be rejected.
@ -209,8 +209,8 @@
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol -Wformat-security -Wformat-y2k @gol
@@ -4498,6 +4498,22 @@ This option is only supported for C and @@ -4808,6 +4808,22 @@ This option is only supported for C and
@option{-Wall} and by @option{-pedantic}, which can be disabled with @option{-Wall} and by @option{-Wpedantic}, which can be disabled with
@option{-Wno-pointer-sign}. @option{-Wno-pointer-sign}.
+ at item -Werror-maybe-reset + at item -Werror-maybe-reset
@ -232,7 +232,7 @@
@item -Wstack-protector @item -Wstack-protector
@opindex Wstack-protector @opindex Wstack-protector
@opindex Wno-stack-protector @opindex Wno-stack-protector
@@ -6317,7 +6333,7 @@ so, the first branch is redirected to ei @@ -6919,7 +6935,7 @@ so, the first branch is redirected to ei
second branch or a point immediately following it, depending on whether second branch or a point immediately following it, depending on whether
the condition is known to be true or false. the condition is known to be true or false.
@ -243,7 +243,7 @@
@opindex fsplit-wide-types @opindex fsplit-wide-types
--- a/gcc/java/jvspec.c --- a/gcc/java/jvspec.c
+++ b/gcc/java/jvspec.c +++ b/gcc/java/jvspec.c
@@ -627,6 +627,7 @@ lang_specific_pre_link (void) @@ -626,6 +626,7 @@ lang_specific_pre_link (void)
class name. Append dummy `.c' that can be stripped by set_input so %b class name. Append dummy `.c' that can be stripped by set_input so %b
is correct. */ is correct. */
set_input (concat (main_class_name, "main.c", NULL)); set_input (concat (main_class_name, "main.c", NULL));

View file

@ -1,6 +1,6 @@
--- a/gcc/gcc.c --- a/gcc/gcc.c
+++ b/gcc/gcc.c +++ b/gcc/gcc.c
@@ -7772,7 +7772,10 @@ getenv_spec_function (int argc, const ch @@ -8003,7 +8003,10 @@ getenv_spec_function (int argc, const ch
value = getenv (argv[0]); value = getenv (argv[0]);
if (!value) if (!value)

View file

@ -1,11 +0,0 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1805,7 +1805,7 @@ m68k-*-linux*) # Motorola m68k's runnin
default_m68k_cpu=68020
default_cf_cpu=5475
with_arch=${with_arch:-m68k}
- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h ./sysroot-suffix.h"
+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h m68k/linux.h"
extra_options="${extra_options} m68k/ieee.opt"
tm_defines="${tm_defines} MOTOROLA=1"
tmake_file="${tmake_file} m68k/t-floatlib m68k/t-linux m68k/t-mlibs"