toolchain/gcc: refresh patches

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35808
This commit is contained in:
Florian Fainelli 2013-02-26 16:39:54 +00:00
parent 098bd91f5e
commit 2935823a42
32 changed files with 190 additions and 298 deletions

View File

@ -1,7 +1,6 @@
diff -urN gcc-linaro-4.5-2012.03/config.sub gcc-linaro-4.5-2012.03.new/config.sub
--- gcc-linaro-4.5-2012.03/config.sub 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/config.sub 2012-11-29 15:45:43.802377940 +0100
@@ -125,6 +125,7 @@
--- 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* | \
@ -9,17 +8,8 @@ diff -urN gcc-linaro-4.5-2012.03/config.sub gcc-linaro-4.5-2012.03.new/config.su
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
@@ -1310,6 +1311,7 @@
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
+ | -linux-musl* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff -urN gcc-linaro-4.5-2012.03/gcc/config/arm/linux-eabi.h gcc-linaro-4.5-2012.03.new/gcc/config/arm/linux-eabi.h
--- gcc-linaro-4.5-2012.03/gcc/config/arm/linux-eabi.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/arm/linux-eabi.h 2012-11-29 15:45:43.802377940 +0100
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -63,6 +63,10 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@ -31,10 +21,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/arm/linux-eabi.h gcc-linaro-4.5-2012
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
diff -urN gcc-linaro-4.5-2012.03/gcc/config/i386/linux.h gcc-linaro-4.5-2012.03.new/gcc/config/i386/linux.h
--- gcc-linaro-4.5-2012.03/gcc/config/i386/linux.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/i386/linux.h 2012-11-29 15:45:43.802377940 +0100
@@ -101,6 +101,7 @@
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -101,6 +101,7 @@ 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 GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
@ -42,10 +31,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/i386/linux.h gcc-linaro-4.5-2012.03.
#undef ASM_SPEC
#define ASM_SPEC \
diff -urN gcc-linaro-4.5-2012.03/gcc/config/i386/linux64.h gcc-linaro-4.5-2012.03.new/gcc/config/i386/linux64.h
--- gcc-linaro-4.5-2012.03/gcc/config/i386/linux64.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/i386/linux64.h 2012-11-29 15:45:43.802377940 +0100
@@ -61,6 +61,9 @@
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -61,6 +61,9 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
@ -55,10 +43,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/i386/linux64.h gcc-linaro-4.5-2012.0
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
#define SPEC_64 "!m32"
diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.h gcc-linaro-4.5-2012.03.new/gcc/config/linux.h
--- gcc-linaro-4.5-2012.03/gcc/config/linux.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/linux.h 2012-11-29 15:46:48.982379607 +0100
@@ -86,6 +86,7 @@
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -86,6 +86,7 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (linux_libc == LIBC_GLIBC)
#define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
#define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
@ -66,7 +53,7 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.h gcc-linaro-4.5-2012.03.new/g
#define LINUX_TARGET_OS_CPP_BUILTINS() \
do { \
@@ -120,18 +121,21 @@
@@ -120,18 +121,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -96,7 +83,7 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.h gcc-linaro-4.5-2012.03.new/g
#else
#error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */
@@ -149,13 +153,13 @@
@@ -149,13 +153,13 @@ see the files COPYING3 and COPYING.RUNTI
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@ -113,10 +100,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.h gcc-linaro-4.5-2012.03.new/g
/* Determine whether the entire c99 runtime
is present in the runtime library. */
diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.opt gcc-linaro-4.5-2012.03.new/gcc/config/linux.opt
--- gcc-linaro-4.5-2012.03/gcc/config/linux.opt 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/linux.opt 2012-11-29 15:45:43.802377940 +0100
@@ -30,3 +30,7 @@
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -30,3 +30,7 @@ Use GNU C library
muclibc
Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) VarExists Negative(mbionic)
Use uClibc C library
@ -124,10 +110,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/linux.opt gcc-linaro-4.5-2012.03.new
+mmusl
+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
+Use musl C library
diff -urN gcc-linaro-4.5-2012.03/gcc/config/mips/linux.h gcc-linaro-4.5-2012.03.new/gcc/config/mips/linux.h
--- gcc-linaro-4.5-2012.03/gcc/config/mips/linux.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/mips/linux.h 2012-11-29 15:45:43.802377940 +0100
@@ -66,6 +66,8 @@
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -66,6 +66,8 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
@ -136,10 +121,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/mips/linux.h gcc-linaro-4.5-2012.03.
/* Borrowed from sparc/linux.h */
#undef LINK_SPEC
#define LINK_SPEC \
diff -urN gcc-linaro-4.5-2012.03/gcc/config/mips/linux64.h gcc-linaro-4.5-2012.03.new/gcc/config/mips/linux64.h
--- gcc-linaro-4.5-2012.03/gcc/config/mips/linux64.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config/mips/linux64.h 2012-11-29 15:48:10.542381697 +0100
@@ -39,8 +39,11 @@
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -39,8 +39,11 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
@ -152,10 +136,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config/mips/linux64.h gcc-linaro-4.5-2012.0
#undef LINK_SPEC
#define LINK_SPEC "\
diff -urN gcc-linaro-4.5-2012.03/gcc/config.gcc gcc-linaro-4.5-2012.03.new/gcc/config.gcc
--- gcc-linaro-4.5-2012.03/gcc/config.gcc 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/config.gcc 2012-11-29 15:46:18.474378826 +0100
@@ -514,7 +514,7 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -514,7 +514,7 @@ case ${target} in
tmake_file="$tmake_file t-gnu";;
esac
# Common C libraries.
@ -164,7 +147,7 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config.gcc gcc-linaro-4.5-2012.03.new/gcc/c
# glibc / uclibc / bionic switch.
# uclibc and bionic aren't usable for GNU/Hurd and neither for GNU/k*BSD.
case $target in
@@ -530,6 +530,9 @@
@@ -530,6 +530,9 @@ case ${target} in
*-*-*uclibc*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;;
@ -174,10 +157,9 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/config.gcc gcc-linaro-4.5-2012.03.new/gcc/c
*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
;;
diff -urN gcc-linaro-4.5-2012.03/gcc/ginclude/stddef.h gcc-linaro-4.5-2012.03.new/gcc/ginclude/stddef.h
--- gcc-linaro-4.5-2012.03/gcc/ginclude/stddef.h 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/gcc/ginclude/stddef.h 2012-11-29 15:45:43.802377940 +0100
@@ -183,6 +183,7 @@
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -183,6 +183,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#ifndef _GCC_SIZE_T
#ifndef _SIZET_
#ifndef __size_t
@ -185,7 +167,7 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/ginclude/stddef.h gcc-linaro-4.5-2012.03.ne
#define __size_t__ /* BeOS */
#define __SIZE_T__ /* Cray Unicos/Mk */
#define _SIZE_T
@@ -199,6 +200,7 @@
@@ -199,6 +200,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define ___int_size_t_h
#define _GCC_SIZE_T
#define _SIZET_
@ -193,7 +175,7 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/ginclude/stddef.h gcc-linaro-4.5-2012.03.ne
#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
#else
@@ -213,6 +215,7 @@
@@ -213,6 +215,7 @@ typedef __SIZE_TYPE__ size_t;
typedef long ssize_t;
#endif /* __BEOS__ */
#endif /* !(defined (__GNUG__) && defined (size_t)) */
@ -201,9 +183,8 @@ diff -urN gcc-linaro-4.5-2012.03/gcc/ginclude/stddef.h gcc-linaro-4.5-2012.03.ne
#endif /* __size_t */
#endif /* _SIZET_ */
#endif /* _GCC_SIZE_T */
diff -urN gcc-linaro-4.5-2012.03/libgomp/config/posix/time.c gcc-linaro-4.5-2012.03.new/libgomp/config/posix/time.c
--- gcc-linaro-4.5-2012.03/libgomp/config/posix/time.c 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/libgomp/config/posix/time.c 2012-11-29 15:45:43.802377940 +0100
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -28,6 +28,8 @@
The following implementation uses the most simple POSIX routines.
If present, POSIX 4 clocks should be used instead. */
@ -213,10 +194,9 @@ diff -urN gcc-linaro-4.5-2012.03/libgomp/config/posix/time.c gcc-linaro-4.5-2012
#include "libgomp.h"
#include <unistd.h>
#if TIME_WITH_SYS_TIME
diff -urN gcc-linaro-4.5-2012.03/libstdc++-v3/configure.host gcc-linaro-4.5-2012.03.new/libstdc++-v3/configure.host
--- gcc-linaro-4.5-2012.03/libstdc++-v3/configure.host 2012-03-12 12:29:55.000000000 +0100
+++ gcc-linaro-4.5-2012.03.new/libstdc++-v3/configure.host 2012-11-29 15:45:43.806377939 +0100
@@ -236,6 +236,13 @@
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -236,6 +236,13 @@ case "${host_os}" in
os_include_dir="os/bsd/freebsd"
;;
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
@ -230,7 +210,7 @@ diff -urN gcc-linaro-4.5-2012.03/libstdc++-v3/configure.host gcc-linaro-4.5-2012
if [ "$uclibc" = "yes" ]; then
os_include_dir="os/uclibc"
elif [ "$bionic" = "yes" ]; then
@@ -244,6 +251,9 @@
@@ -244,6 +251,9 @@ case "${host_os}" in
os_include_dir="os/gnu-linux"
fi
;;

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2028,7 +2028,7 @@ powerpc-*-rtems*)
@@ -2031,7 +2031,7 @@ powerpc-*-rtems*)
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
;;
powerpc-*-linux* | powerpc64-*-linux*)

View File

@ -1,8 +1,8 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -63,10 +63,14 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -67,10 +67,14 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC

View File

@ -1,6 +1,6 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -95,10 +95,6 @@
@@ -99,10 +99,6 @@
#define ENDFILE_SPEC \
LINUX_OR_ANDROID_LD (LINUX_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
@ -24,7 +24,7 @@
#define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -116,6 +116,10 @@ see the files COPYING3 and COPYING.RUNTI
@@ -117,6 +117,10 @@ see the files COPYING3 and COPYING.RUNTI
#define USE_LD_AS_NEEDED 1
#endif

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1690,6 +1690,7 @@ m68k-*-linux*) # Motorola m68k's runnin
@@ -1693,6 +1693,7 @@ m68k-*-linux*) # Motorola m68k's runnin
if test x$sjlj != x1; then
tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
fi

View File

@ -1,4 +1,3 @@
diff --git a/config.sub b/config.sub
--- a/config.sub
+++ b/config.sub
@@ -125,6 +125,7 @@ esac
@ -9,18 +8,9 @@ diff --git a/config.sub b/config.sub
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
@@ -1310,6 +1311,7 @@ case $os in
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
+ | -linux-musl* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -478,7 +478,7 @@ case ${target} in
@@ -485,7 +485,7 @@ case ${target} in
esac
# Common C libraries.
@ -29,7 +19,7 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
# Common parts for widely ported systems.
case ${target} in
@@ -591,6 +591,9 @@ case ${target} in
@@ -598,6 +598,9 @@ case ${target} in
*-*-*uclibc*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;;
@ -39,12 +29,11 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
;;
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,6 +64,10 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -78,6 +78,10 @@
%{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
%{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+/* musl has no "classic" (i.e. broken) mode */
+#undef MUSL_DYNAMIC_LINKER
@ -53,10 +42,9 @@ diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. If not see
@@ -93,6 +93,7 @@ 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 GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
@ -64,10 +52,9 @@ diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
#undef ASM_SPEC
#define ASM_SPEC \
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -65,6 +65,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -65,6 +65,9 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
@ -77,10 +64,9 @@ diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
#define SPEC_64 "!m32"
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
@ -93,7 +79,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#endif
#define LINUX_TARGET_OS_CPP_BUILTINS() \
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -123,7 +109,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#else
#error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */
@@ -83,13 +88,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -83,13 +88,13 @@ see the files COPYING3 and COPYING.RUNTI
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@ -140,7 +126,6 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
/* Determine whether the entire c99 runtime
is present in the runtime library. */
diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -30,3 +30,7 @@ Use GNU C library
@ -151,10 +136,9 @@ diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
+mmusl
+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
+Use musl C library
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -63,6 +63,8 @@ along with GCC; see the file COPYING3. If not see
@@ -63,6 +63,8 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
@ -163,7 +147,6 @@ diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
/* Borrowed from sparc/linux.h */
#undef LINK_SPEC
#define LINK_SPEC \
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
@ -190,7 +173,6 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#endif /* __size_t */
#endif /* _SIZET_ */
#endif /* _GCC_SIZE_T */
diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -28,6 +28,8 @@
@ -202,7 +184,6 @@ diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
#include "libgomp.h"
#include <unistd.h>
#if TIME_WITH_SYS_TIME
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -237,6 +237,13 @@ case "${host_os}" in
@ -229,10 +210,9 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
hpux*)
os_include_dir="os/hpux"
;;
diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
--- a/gcc/config/mips/linux64.h 2012-11-12 15:28:31.000000000 +0100
+++ b/gcc/config/mips/linux64.h 2012-11-29 15:11:14.006324944 +0100
@@ -40,9 +40,12 @@
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -40,9 +40,12 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"

View File

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

View File

@ -1,8 +1,8 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,10 +64,15 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -82,10 +82,15 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC

View File

@ -1,6 +1,6 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -96,10 +96,6 @@
@@ -115,10 +115,6 @@
#define ENDFILE_SPEC \
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
@ -24,7 +24,7 @@
#define LINUX_TARGET_LINK_SPEC "%{h*} \
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -50,6 +50,10 @@ see the files COPYING3 and COPYING.RUNTI
@@ -52,6 +52,10 @@ see the files COPYING3 and COPYING.RUNTI
builtin_assert ("system=posix"); \
} while (0)

View File

@ -1,6 +1,6 @@
--- a/gcc/crtstuff.c
+++ b/gcc/crtstuff.c
@@ -100,15 +100,20 @@
@@ -100,15 +100,20 @@ call_ ## FUNC (void) \
#if defined(OBJECT_FORMAT_ELF) \
&& !defined(OBJECT_FORMAT_FLAT) \
&& defined(HAVE_LD_EH_FRAME_HDR) \

View File

@ -1,6 +1,6 @@
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -248,13 +248,13 @@
@@ -248,13 +248,13 @@ do { \
/* Define cutoff for using external functions to save floating point.
When optimizing for size, use external functions when profitable. */

View File

@ -209,7 +209,7 @@
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol
@@ -4497,6 +4497,22 @@ This option is only supported for C and
@@ -4498,6 +4498,22 @@ This option is only supported for C and
@option{-Wall} and by @option{-pedantic}, which can be disabled with
@option{-Wno-pointer-sign}.
@ -232,7 +232,7 @@
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
@@ -6319,7 +6335,7 @@ so, the first branch is redirected to ei
@@ -6317,7 +6333,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.

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1795,7 +1795,7 @@
@@ -1805,7 +1805,7 @@ m68k-*-linux*) # Motorola m68k's runnin
default_m68k_cpu=68020
default_cf_cpu=5475
with_arch=${with_arch:-m68k}

View File

@ -14,9 +14,9 @@ Modified:
branches/gcc-4_6-branch/gcc/config/mips/mips.c
branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
---
--- gcc-4_6-branch/gcc/config/mips/mips.c 2012/09/02 10:36:54 190859
+++ gcc-4_6-branch/gcc/config/mips/mips.c 2012/09/02 10:37:49 190860
@@ -15083,7 +15083,10 @@
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -15083,7 +15083,10 @@ mips_reorg (void)
}
if (optimize > 0 && flag_delayed_branch)
@ -28,9 +28,9 @@ Modified:
mips_reorg_process_insns ();
if (!TARGET_MIPS16
&& TARGET_EXPLICIT_RELOCS
--- gcc-4_6-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:54 190859
+++ gcc-4_6-branch/gcc/config/sparc/sparc.c 2012/09/02 10:37:49 190860
@@ -9456,7 +9456,10 @@
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -9452,7 +9452,10 @@ sparc_reorg (void)
/* We need to have the (essentially) final form of the insn stream in order
to properly detect the various hazards. Run delay slot scheduling. */
if (optimize > 0 && flag_delayed_branch)
@ -42,4 +42,3 @@ Modified:
/* Now look for specific patterns in the insn stream. */
for (insn = get_insns (); insn; insn = next)

View File

@ -31,10 +31,9 @@ gcc/
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.
---
diff -urN gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/alpha/linux-unwind.h 2012-09-13 10:25:52.919072751 +0200
@@ -49,7 +49,7 @@
--- a/gcc/config/alpha/linux-unwind.h
+++ b/gcc/config/alpha/linux-unwind.h
@@ -49,7 +49,7 @@ alpha_fallback_frame_state (struct _Unwi
else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */
{
struct rt_sigframe {
@ -43,10 +42,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/alpha/linux-unwind.h gcc-linaro-4.6-
struct ucontext uc;
} *rt_ = context->cfa;
sc = &rt_->uc.uc_mcontext;
diff -urN gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/bfin/linux-unwind.h 2012-09-13 10:26:14.819073313 +0200
@@ -48,10 +48,10 @@
--- a/gcc/config/bfin/linux-unwind.h
+++ b/gcc/config/bfin/linux-unwind.h
@@ -48,10 +48,10 @@ bfin_fallback_frame_state (struct _Unwin
{
struct rt_sigframe {
int sig;
@ -59,10 +57,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/bfin/linux-unwind.h gcc-linaro-4.6-2
struct ucontext uc;
} *rt_ = context->cfa;
diff -urN gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/i386/linux-unwind.h 2012-09-13 10:26:41.891074005 +0200
@@ -133,9 +133,9 @@
--- a/gcc/config/i386/linux-unwind.h
+++ b/gcc/config/i386/linux-unwind.h
@@ -133,9 +133,9 @@ x86_fallback_frame_state (struct _Unwind
{
struct rt_sigframe {
int sig;
@ -74,10 +71,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/i386/linux-unwind.h gcc-linaro-4.6-2
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
diff -urN gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/ia64/linux-unwind.h 2012-09-13 10:26:59.251074450 +0200
@@ -47,7 +47,7 @@
--- a/gcc/config/ia64/linux-unwind.h
+++ b/gcc/config/ia64/linux-unwind.h
@@ -47,7 +47,7 @@ ia64_fallback_frame_state (struct _Unwin
struct sigframe {
char scratch[16];
unsigned long sig_number;
@ -86,7 +82,7 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2
struct sigcontext *sc;
} *frame_ = (struct sigframe *)context->psp;
struct sigcontext *sc = frame_->sc;
@@ -137,7 +137,7 @@
@@ -137,7 +137,7 @@ ia64_handle_unwabi (struct _Unwind_Conte
struct sigframe {
char scratch[16];
unsigned long sig_number;
@ -95,10 +91,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/ia64/linux-unwind.h gcc-linaro-4.6-2
struct sigcontext *sc;
} *frame = (struct sigframe *)context->psp;
struct sigcontext *sc = frame->sc;
diff -urN gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/mips/linux-unwind.h 2012-09-13 10:27:17.947074929 +0200
@@ -75,7 +75,7 @@
--- a/gcc/config/mips/linux-unwind.h
+++ b/gcc/config/mips/linux-unwind.h
@@ -75,7 +75,7 @@ mips_fallback_frame_state (struct _Unwin
struct rt_sigframe {
u_int32_t ass[4]; /* Argument save space for o32. */
u_int32_t trampoline[2];
@ -107,10 +102,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/mips/linux-unwind.h gcc-linaro-4.6-2
_sig_ucontext_t uc;
} *rt_ = context->cfa;
sc = &rt_->uc.uc_mcontext;
diff -urN gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/pa/linux-unwind.h 2012-09-13 10:27:27.491075173 +0200
@@ -63,7 +63,7 @@
--- a/gcc/config/pa/linux-unwind.h
+++ b/gcc/config/pa/linux-unwind.h
@@ -63,7 +63,7 @@ pa32_fallback_frame_state (struct _Unwin
int i;
struct sigcontext *sc;
struct rt_sigframe {
@ -119,10 +113,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/pa/linux-unwind.h gcc-linaro-4.6-201
struct ucontext uc;
} *frame;
diff -urN gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/sh/linux-unwind.h 2012-09-13 10:27:58.551075969 +0200
@@ -80,9 +80,9 @@
--- a/gcc/config/sh/linux-unwind.h
+++ b/gcc/config/sh/linux-unwind.h
@@ -80,9 +80,9 @@ shmedia_fallback_frame_state (struct _Un
&& (*(unsigned long *) (pc+11) == 0x6ff0fff0))
{
struct rt_sigframe {
@ -134,7 +127,7 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-201
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
@@ -179,7 +179,7 @@
@@ -179,7 +179,7 @@ sh_fallback_frame_state (struct _Unwind_
&& (*(unsigned short *) (pc+14) == 0x00ad))))
{
struct rt_sigframe {
@ -143,10 +136,9 @@ diff -urN gcc-linaro-4.6-2012.02/gcc/config/sh/linux-unwind.h gcc-linaro-4.6-201
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
diff -urN gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h
--- gcc-linaro-4.6-2012.02/gcc/config/xtensa/linux-unwind.h 2012-02-07 11:33:31.000000000 +0100
+++ gcc-linaro-4.6-2012.02.new/gcc/config/xtensa/linux-unwind.h 2012-09-13 10:28:13.827076359 +0200
@@ -62,7 +62,7 @@
--- a/gcc/config/xtensa/linux-unwind.h
+++ b/gcc/config/xtensa/linux-unwind.h
@@ -62,7 +62,7 @@ xtensa_fallback_frame_state (struct _Unw
struct sigcontext *sc;
struct rt_sigframe {

View File

@ -1,4 +1,3 @@
diff --git a/config.sub b/config.sub
--- a/config.sub
+++ b/config.sub
@@ -125,6 +125,7 @@ esac
@ -9,15 +8,6 @@ diff --git a/config.sub b/config.sub
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
@@ -1310,6 +1311,7 @@ case $os in
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
+ | -linux-musl* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -478,7 +478,7 @@ case ${target} in
@ -39,7 +29,6 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
;;
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,6 +64,10 @@
@ -53,10 +42,9 @@ diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -93,6 +93,7 @@ along with GCC; see the file COPYING3. If not see
@@ -93,6 +93,7 @@ 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 GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
@ -64,10 +52,9 @@ diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
#undef ASM_SPEC
#define ASM_SPEC \
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -65,6 +65,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -65,6 +65,9 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
@ -77,10 +64,9 @@ diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
#define SPEC_64 "!m32"
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
@ -93,7 +79,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#endif
#define LINUX_TARGET_OS_CPP_BUILTINS() \
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -123,7 +109,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#else
#error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */
@@ -83,13 +88,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -83,13 +88,13 @@ see the files COPYING3 and COPYING.RUNTI
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@ -140,7 +126,6 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
/* Determine whether the entire c99 runtime
is present in the runtime library. */
diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -30,3 +30,7 @@ Use GNU C library
@ -151,10 +136,9 @@ diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
+mmusl
+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
+Use musl C library
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -63,6 +63,8 @@ along with GCC; see the file COPYING3. If not see
@@ -63,6 +63,8 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
@ -163,7 +147,6 @@ diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
/* Borrowed from sparc/linux.h */
#undef LINK_SPEC
#define LINK_SPEC \
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
@ -190,7 +173,6 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#endif /* __size_t */
#endif /* _SIZET_ */
#endif /* _GCC_SIZE_T */
diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -28,6 +28,8 @@
@ -202,7 +184,6 @@ diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
#include "libgomp.h"
#include <unistd.h>
#if TIME_WITH_SYS_TIME
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -237,6 +237,13 @@ case "${host_os}" in
@ -229,10 +210,9 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
hpux*)
os_include_dir="os/hpux"
;;
diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
--- a/gcc/config/mips/linux64.h 2012-11-12 15:28:31.000000000 +0100
+++ b/gcc/config/mips/linux64.h 2012-11-29 15:11:14.006324944 +0100
@@ -40,9 +40,12 @@
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -40,9 +40,12 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"

View File

@ -1,8 +1,8 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,10 +64,15 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -68,10 +68,15 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1804,6 +1804,7 @@ m68k-*-linux*) # Motorola m68k's runnin
@@ -1807,6 +1807,7 @@ m68k-*-linux*) # Motorola m68k's runnin
if test x$sjlj != x1; then
tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
fi

View File

@ -1,7 +1,6 @@
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -522,7 +522,7 @@
@@ -529,7 +529,7 @@ case ${target} in
esac
# Common C libraries.
@ -10,7 +9,7 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
# Common parts for widely ported systems.
case ${target} in
@@ -625,6 +625,9 @@
@@ -632,6 +632,9 @@ case ${target} in
*-*-*uclibc*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;;
@ -20,20 +19,19 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
;;
@@ -1722,6 +1725,7 @@
@@ -1755,6 +1758,7 @@ microblaze*-linux*)
tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
c_target_objs="${c_target_objs} microblaze-c.o"
cxx_target_objs="${cxx_target_objs} microblaze-c.o"
+ tmake_file="${tmake_file} microblaze/t-microblaze"
;;
microblaze*-*-*)
microblaze*-*-rtems*)
tm_file="${tm_file} dbxelf.h"
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,6 +64,10 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -78,6 +78,10 @@
%{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
%{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
+/* musl has no "classic" (i.e. broken) mode */
+#undef MUSL_DYNAMIC_LINKER
@ -42,18 +40,16 @@ diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -22,3 +22,4 @@
@@ -22,3 +22,4 @@ along with GCC; see the file COPYING3.
#define GNU_USER_LINK_EMULATION "elf_i386"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -31,3 +31,7 @@
@@ -31,3 +31,7 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
@ -61,10 +57,9 @@ diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -33,10 +33,12 @@
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
@ -77,7 +72,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#endif
#define GNU_USER_TARGET_OS_CPP_BUILTINS() \
@@ -54,18 +56,21 @@
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -107,7 +102,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#else
#error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */
@@ -85,16 +90,16 @@
@@ -85,16 +90,16 @@ see the files COPYING3 and COPYING.RUNTI
#define GNU_USER_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@ -128,10 +123,9 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
/* Determine whether the entire c99 runtime
is present in the runtime library. */
diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -30,3 +30,7 @@
@@ -30,3 +30,7 @@ Use GNU C library
muclibc
Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
Use uClibc C library
@ -139,19 +133,17 @@ diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
+mmusl
+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
+Use musl C library
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -19,3 +19,5 @@
@@ -19,3 +19,5 @@ along with GCC; see the file COPYING3.
<http://www.gnu.org/licenses/>. */
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips.so.1"
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -362,17 +362,21 @@
@@ -362,17 +362,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"
@ -177,10 +169,9 @@ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -804,15 +804,18 @@
@@ -804,15 +804,18 @@ extern int fixuplabelno;
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
@ -202,10 +193,9 @@ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -184,6 +184,7 @@
@@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#ifndef _GCC_SIZE_T
#ifndef _SIZET_
#ifndef __size_t
@ -213,7 +203,7 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#define __size_t__ /* BeOS */
#define __SIZE_T__ /* Cray Unicos/Mk */
#define _SIZE_T
@@ -200,6 +201,7 @@
@@ -200,6 +201,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define ___int_size_t_h
#define _GCC_SIZE_T
#define _SIZET_
@ -221,7 +211,7 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
|| defined(__FreeBSD_kernel__)
/* __size_t is a typedef on FreeBSD 5, must not trash it. */
@@ -215,6 +217,7 @@
@@ -215,6 +217,7 @@ typedef __SIZE_TYPE__ size_t;
typedef long ssize_t;
#endif /* __BEOS__ */
#endif /* !(defined (__GNUG__) && defined (size_t)) */
@ -229,7 +219,6 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#endif /* __size_t */
#endif /* _SIZET_ */
#endif /* _GCC_SIZE_T */
diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -28,6 +28,8 @@
@ -241,10 +230,9 @@ diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
#include "libgomp.h"
#include <unistd.h>
#if TIME_WITH_SYS_TIME
diff --git a/libitm/config/arm/hwcap.cc b/libitm/config/arm/hwcap.cc
--- a/libitm/config/arm/hwcap.cc
+++ b/libitm/config/arm/hwcap.cc
@@ -40,7 +40,11 @@
@@ -40,7 +40,11 @@ int GTM_hwcap HIDDEN = 0
#ifdef __linux__
#include <unistd.h>
@ -256,7 +244,6 @@ diff --git a/libitm/config/arm/hwcap.cc b/libitm/config/arm/hwcap.cc
#include <elf.h>
static void __attribute__((constructor))
diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
--- a/libitm/config/linux/x86/tls.h
+++ b/libitm/config/linux/x86/tls.h
@@ -25,16 +25,19 @@
@ -281,17 +268,16 @@ diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
namespace GTM HIDDEN {
#ifdef __x86_64__
@@ -101,5 +104,6 @@
@@ -101,5 +104,6 @@ static inline void set_abi_disp(struct a
} // namespace GTM
#endif /* >= GLIBC 2.10 */
+#endif
#endif // LIBITM_X86_TLS_H
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -243,6 +243,13 @@
@@ -246,6 +246,13 @@ case "${host_os}" in
os_include_dir="os/bsd/freebsd"
;;
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
@ -305,7 +291,7 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
if [ "$uclibc" = "yes" ]; then
os_include_dir="os/uclibc"
elif [ "$bionic" = "yes" ]; then
@@ -251,6 +258,9 @@
@@ -254,6 +261,9 @@ case "${host_os}" in
os_include_dir="os/gnu-linux"
fi
;;
@ -315,10 +301,9 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
hpux*)
os_include_dir="os/hpux"
;;
diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
--- a/gcc/config/mips/linux64.h 2012-11-13 12:42:00.000000000 +0100
+++ b/gcc/config/mips/linux64.h 2012-11-29 15:35:10.434361723 +0100
@@ -28,6 +28,9 @@
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -28,6 +28,9 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"

View File

@ -1,6 +1,6 @@
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -862,11 +862,12 @@ $(libgcov-objects): %$(objext): $(srcdir
@@ -866,11 +866,12 @@ $(libgcov-objects): %$(objext): $(srcdir
# Static libraries.
libgcc.a: $(libgcc-objects)
@ -14,7 +14,7 @@
-rm -f $@
objects="$(objects)"; \
@@ -888,7 +889,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E
@@ -892,7 +893,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E
endif
ifeq ($(enable_shared),yes)
@ -23,7 +23,7 @@
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
endif
@@ -1043,6 +1044,10 @@ install-shared:
@@ -1059,6 +1060,10 @@ install-shared:
chmod 644 $(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
+++ b/gcc/config/arm/linux-eabi.h
@@ -45,7 +45,7 @@
@@ -46,7 +46,7 @@
The ARM10TDMI core is the default for armv5t, so set
SUBTARGET_CPU_DEFAULT to achieve this. */
#undef SUBTARGET_CPU_DEFAULT

View File

@ -1,8 +1,8 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,10 +64,15 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -82,10 +82,15 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC

View File

@ -1,6 +1,6 @@
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -246,13 +246,13 @@ do { \
@@ -245,13 +245,13 @@ do { \
/* Define cutoff for using external functions to save floating point.
When optimizing for size, use external functions when profitable. */

View File

@ -166,7 +166,7 @@
{ OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
/* Inlining of functions reducing size is a good idea with -Os
@@ -1432,6 +1432,17 @@ common_handle_option (struct gcc_options
@@ -1433,6 +1433,17 @@ common_handle_option (struct gcc_options
opts, opts_set, loc, dc);
break;
@ -209,7 +209,7 @@
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol
@@ -4649,6 +4649,22 @@ This option is only supported for C and
@@ -4661,6 +4661,22 @@ This option is only supported for C and
@option{-Wall} and by @option{-pedantic}, which can be disabled with
@option{-Wno-pointer-sign}.
@ -232,7 +232,7 @@
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
@@ -6571,7 +6587,7 @@ so, the first branch is redirected to ei
@@ -6580,7 +6596,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.

View File

@ -12,5 +12,5 @@
extern int const_ok_for_arm (HOST_WIDE_INT);
+#ifdef RTX_CODE
extern int const_ok_for_op (HOST_WIDE_INT, enum rtx_code);
extern int const_ok_for_dimode_op (HOST_WIDE_INT, enum rtx_code);
extern int arm_split_constant (RTX_CODE, enum machine_mode, rtx,
HOST_WIDE_INT, rtx, rtx, int);

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1610,6 +1610,7 @@ m32rle-*-linux*)
@@ -1660,6 +1660,7 @@ m32rle-*-linux*)
if test x$enable_threads = xyes; then
thread_file='posix'
fi

View File

@ -1,7 +1,6 @@
diff --git a/config.sub b/config.sub
--- a/config.sub
+++ b/config.sub
@@ -125,6 +125,7 @@
@@ -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* | \
@ -9,18 +8,9 @@ diff --git a/config.sub b/config.sub
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
@@ -1346,6 +1347,7 @@
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-uclibc* \
+ | -linux-musl* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -522,7 +522,7 @@
@@ -522,7 +522,7 @@ case ${target} in
esac
# Common C libraries.
@ -29,7 +19,7 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
# Common parts for widely ported systems.
case ${target} in
@@ -625,6 +625,9 @@
@@ -625,6 +625,9 @@ case ${target} in
*-*-*uclibc*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC"
;;
@ -39,7 +29,7 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
*)
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
;;
@@ -1722,6 +1725,7 @@
@@ -1722,6 +1725,7 @@ microblaze*-linux*)
tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
c_target_objs="${c_target_objs} microblaze-c.o"
cxx_target_objs="${cxx_target_objs} microblaze-c.o"
@ -47,7 +37,6 @@ diff --git a/gcc/config.gcc b/gcc/config.gcc
;;
microblaze*-*-*)
tm_file="${tm_file} dbxelf.h"
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,6 +64,10 @@
@ -61,18 +50,16 @@ diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -22,3 +22,4 @@
@@ -22,3 +22,4 @@ along with GCC; see the file COPYING3.
#define GNU_USER_LINK_EMULATION "elf_i386"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -31,3 +31,7 @@
@@ -31,3 +31,7 @@ see the files COPYING3 and COPYING.RUNTI
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
@ -80,10 +67,9 @@ diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1"
+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -33,10 +33,12 @@
@@ -33,10 +33,12 @@ see the files COPYING3 and COPYING.RUNTI
#define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC)
#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
@ -96,7 +82,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#endif
#define GNU_USER_TARGET_OS_CPP_BUILTINS() \
@@ -54,18 +56,21 @@
@@ -54,18 +56,21 @@ see the files COPYING3 and COPYING.RUNTI
uClibc or Bionic is the default C library and whether
-muclibc or -mglibc or -mbionic has been passed to change the default. */
@ -126,7 +112,7 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
#else
#error "Unsupported DEFAULT_LIBC"
#endif /* DEFAULT_LIBC */
@@ -85,16 +90,16 @@
@@ -85,16 +90,16 @@ see the files COPYING3 and COPYING.RUNTI
#define GNU_USER_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \
@ -147,10 +133,9 @@ diff --git a/gcc/config/linux.h b/gcc/config/linux.h
/* Determine whether the entire c99 runtime
is present in the runtime library. */
diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
--- a/gcc/config/linux.opt
+++ b/gcc/config/linux.opt
@@ -30,3 +30,7 @@
@@ -30,3 +30,7 @@ Use GNU C library
muclibc
Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic)
Use uClibc C library
@ -158,19 +143,17 @@ diff --git a/gcc/config/linux.opt b/gcc/config/linux.opt
+mmusl
+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc)
+Use musl C library
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -19,3 +19,5 @@
@@ -19,3 +19,5 @@ along with GCC; see the file COPYING3.
<http://www.gnu.org/licenses/>. */
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
+
+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips.so.1"
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -362,17 +362,21 @@
@@ -362,17 +362,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"
@ -196,10 +179,9 @@ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -804,15 +804,18 @@
@@ -804,15 +804,18 @@ extern int fixuplabelno;
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
@ -221,10 +203,9 @@ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -184,6 +184,7 @@
@@ -184,6 +184,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#ifndef _GCC_SIZE_T
#ifndef _SIZET_
#ifndef __size_t
@ -232,7 +213,7 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#define __size_t__ /* BeOS */
#define __SIZE_T__ /* Cray Unicos/Mk */
#define _SIZE_T
@@ -200,6 +201,7 @@
@@ -200,6 +201,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define ___int_size_t_h
#define _GCC_SIZE_T
#define _SIZET_
@ -240,7 +221,7 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
|| defined(__FreeBSD_kernel__)
/* __size_t is a typedef on FreeBSD 5, must not trash it. */
@@ -215,6 +217,7 @@
@@ -215,6 +217,7 @@ typedef __SIZE_TYPE__ size_t;
typedef long ssize_t;
#endif /* __BEOS__ */
#endif /* !(defined (__GNUG__) && defined (size_t)) */
@ -248,7 +229,6 @@ diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
#endif /* __size_t */
#endif /* _SIZET_ */
#endif /* _GCC_SIZE_T */
diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
--- a/libgomp/config/posix/time.c
+++ b/libgomp/config/posix/time.c
@@ -28,6 +28,8 @@
@ -260,10 +240,9 @@ diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c
#include "libgomp.h"
#include <unistd.h>
#if TIME_WITH_SYS_TIME
diff --git a/libitm/config/arm/hwcap.cc b/libitm/config/arm/hwcap.cc
--- a/libitm/config/arm/hwcap.cc
+++ b/libitm/config/arm/hwcap.cc
@@ -40,7 +40,11 @@
@@ -40,7 +40,11 @@ int GTM_hwcap HIDDEN = 0
#ifdef __linux__
#include <unistd.h>
@ -275,7 +254,6 @@ diff --git a/libitm/config/arm/hwcap.cc b/libitm/config/arm/hwcap.cc
#include <elf.h>
static void __attribute__((constructor))
diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
--- a/libitm/config/linux/x86/tls.h
+++ b/libitm/config/linux/x86/tls.h
@@ -25,16 +25,19 @@
@ -300,17 +278,16 @@ diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
namespace GTM HIDDEN {
#ifdef __x86_64__
@@ -101,5 +104,6 @@
@@ -101,5 +104,6 @@ static inline void set_abi_disp(struct a
} // namespace GTM
#endif /* >= GLIBC 2.10 */
+#endif
#endif // LIBITM_X86_TLS_H
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
--- a/libstdc++-v3/configure.host
+++ b/libstdc++-v3/configure.host
@@ -243,6 +243,13 @@
@@ -243,6 +243,13 @@ case "${host_os}" in
os_include_dir="os/bsd/freebsd"
;;
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
@ -324,7 +301,7 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
if [ "$uclibc" = "yes" ]; then
os_include_dir="os/uclibc"
elif [ "$bionic" = "yes" ]; then
@@ -251,6 +258,9 @@
@@ -251,6 +258,9 @@ case "${host_os}" in
os_include_dir="os/gnu-linux"
fi
;;
@ -334,10 +311,9 @@ diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
hpux*)
os_include_dir="os/hpux"
;;
diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h
--- a/gcc/config/mips/linux64.h 2012-11-13 12:42:00.000000000 +0100
+++ n/gcc/config/mips/linux64.h 2012-11-29 15:35:10.434361723 +0100
@@ -28,6 +28,9 @@
--- a/gcc/config/mips/linux64.h
+++ b/gcc/config/mips/linux64.h
@@ -28,6 +28,9 @@ along with GCC; see the file COPYING3.
#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"

View File

@ -1,6 +1,6 @@
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -862,11 +862,12 @@ $(libgcov-objects): %$(objext): $(srcdir
@@ -866,11 +866,12 @@ $(libgcov-objects): %$(objext): $(srcdir
# Static libraries.
libgcc.a: $(libgcc-objects)
@ -14,7 +14,7 @@
-rm -f $@
objects="$(objects)"; \
@@ -888,7 +889,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E
@@ -892,7 +893,7 @@ libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_E
endif
ifeq ($(enable_shared),yes)
@ -23,7 +23,7 @@
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
endif
@@ -1043,6 +1044,10 @@ install-shared:
@@ -1059,6 +1060,10 @@ install-shared:
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a

View File

@ -1,8 +1,8 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -64,10 +64,15 @@
#undef GLIBC_DYNAMIC_LINKER
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
@@ -68,10 +68,15 @@
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-arm.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC

View File

@ -1,6 +1,6 @@
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -246,13 +246,13 @@ do { \
@@ -245,13 +245,13 @@ do { \
/* Define cutoff for using external functions to save floating point.
When optimizing for size, use external functions when profitable. */

View File

@ -209,7 +209,7 @@
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol
@@ -4649,6 +4649,22 @@ This option is only supported for C and
@@ -4651,6 +4651,22 @@ This option is only supported for C and
@option{-Wall} and by @option{-pedantic}, which can be disabled with
@option{-Wno-pointer-sign}.
@ -232,7 +232,7 @@
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
@@ -6571,7 +6587,7 @@ so, the first branch is redirected to ei
@@ -6570,7 +6586,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.

View File

@ -1,6 +1,6 @@
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1610,6 +1610,7 @@ m32rle-*-linux*)
@@ -1627,6 +1627,7 @@ m32rle-*-linux*)
if test x$enable_threads = xyes; then
thread_file='posix'
fi