gcc4: Sync with OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1063 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
1292db8782
commit
1a4a231d88
|
@ -0,0 +1,18 @@
|
||||||
|
--- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055
|
||||||
|
+++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056
|
||||||
|
@@ -15415,6 +15415,15 @@
|
||||||
|
/* Move from sp to reg. */
|
||||||
|
asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
|
||||||
|
}
|
||||||
|
+ else if (GET_CODE (e1) == PLUS
|
||||||
|
+ && GET_CODE (XEXP (e1, 0)) == REG
|
||||||
|
+ && REGNO (XEXP (e1, 0)) == SP_REGNUM
|
||||||
|
+ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
|
||||||
|
+ {
|
||||||
|
+ /* Set reg to offset from sp. */
|
||||||
|
+ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
|
||||||
|
+ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
break;
|
|
@ -0,0 +1,26 @@
|
||||||
|
Submitted By: Alexander E. Patrakov
|
||||||
|
Date: 2006-12-11
|
||||||
|
Initial Package Version: 4.1.1
|
||||||
|
Upstream Status: backport
|
||||||
|
Origin: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28621
|
||||||
|
Description: Fix crash of programs compiled with -Os -ffast-math
|
||||||
|
(affects procps on the LiveCD)
|
||||||
|
--- gcc-4.1.1/gcc/config/i386/i386.c
|
||||||
|
+++ gcc-4.1.1/gcc/config/i386/i386.c
|
||||||
|
@@ -1502,12 +1502,10 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Validate -mpreferred-stack-boundary= value, or provide default.
|
||||||
|
- The default of 128 bits is for Pentium III's SSE __m128, but we
|
||||||
|
- don't want additional code to keep the stack aligned when
|
||||||
|
- optimizing for code size. */
|
||||||
|
- ix86_preferred_stack_boundary = (optimize_size
|
||||||
|
- ? TARGET_64BIT ? 128 : 32
|
||||||
|
- : 128);
|
||||||
|
+ The default of 128 bits is for Pentium III's SSE __m128, We can't
|
||||||
|
+ change it because of optimize_size. Otherwise, we can't mix object
|
||||||
|
+ files compiled with -Os and -On. */
|
||||||
|
+ ix86_preferred_stack_boundary = 128;
|
||||||
|
if (ix86_preferred_stack_boundary_string)
|
||||||
|
{
|
||||||
|
i = atoi (ix86_preferred_stack_boundary_string);
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -urN gcc-4.1.1/gcc/config/arm/linux-eabi.h gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h
|
||||||
|
--- gcc-4.1.1/gcc/config/arm/linux-eabi.h 2006-10-22 11:11:49.000000000 -0700
|
||||||
|
+++ gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h 2006-10-24 21:34:01.000000000 -0700
|
||||||
|
@@ -45,7 +45,7 @@
|
||||||
|
The ARM10TDMI core is the default for armv5t, so set
|
||||||
|
SUBTARGET_CPU_DEFAULT to achieve this. */
|
||||||
|
#undef SUBTARGET_CPU_DEFAULT
|
||||||
|
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
|
||||||
|
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
|
||||||
|
|
||||||
|
#undef SUBTARGET_EXTRA_LINK_SPEC
|
||||||
|
#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
|
|
@ -5,7 +5,7 @@ inherit cross
|
||||||
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
|
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
|
||||||
# NOTE: split PR. If the main .oe changes something that affects its *build*
|
# NOTE: split PR. If the main .oe changes something that affects its *build*
|
||||||
# remember to increment this one too.
|
# remember to increment this one too.
|
||||||
PR = "r6"
|
PR = "r9"
|
||||||
|
|
||||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
|
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
|
||||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
|
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
|
||||||
|
|
|
@ -1,97 +1,6 @@
|
||||||
HAS_GFORTRAN = "no"
|
FORTRAN = ",f95"
|
||||||
|
HAS_GFORTRAN ?= "yes"
|
||||||
HAS_G2C = "no"
|
HAS_G2C = "no"
|
||||||
|
|
||||||
MIRRORS_prepend () {
|
include gcc3-build.inc
|
||||||
${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
|
|
||||||
${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
|
|
||||||
${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
|
|
||||||
${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
|
|
||||||
}
|
|
||||||
|
|
||||||
gcclibdir ?= "${libdir}/gcc"
|
|
||||||
S = "${WORKDIR}/gcc-${PV}"
|
|
||||||
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
|
|
||||||
BINV ?= "${PV}"
|
|
||||||
|
|
||||||
# gcj doesn't work on some architectures
|
|
||||||
JAVA = ",java"
|
|
||||||
JAVA_arm = ""
|
|
||||||
JAVA_armeb = ""
|
|
||||||
JAVA_mipsel = ""
|
|
||||||
JAVA_sh3 = ""
|
|
||||||
# gcc4-build sets this to f95
|
|
||||||
#FORTRAN ?= "f77"
|
|
||||||
#LANGUAGES ?= "c,c++,${JAVA}"
|
|
||||||
LANGUAGES ?= "c,c++,${JAVA}"
|
|
||||||
|
|
||||||
EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
|
|
||||||
--with-gnu-ld \
|
|
||||||
--enable-shared \
|
|
||||||
--enable-target-optspace \
|
|
||||||
--enable-languages=${LANGUAGES} \
|
|
||||||
--enable-threads=posix \
|
|
||||||
--enable-multilib \
|
|
||||||
--enable-c99 \
|
|
||||||
--enable-long-long \
|
|
||||||
--enable-symvers=gnu \
|
|
||||||
--enable-libstdcxx-pch \
|
|
||||||
--program-prefix=${TARGET_PREFIX} \
|
|
||||||
${EXTRA_OECONF_PATHS} \
|
|
||||||
${EXTRA_OECONF_DEP}"
|
|
||||||
|
|
||||||
EXTRA_OECONF_PATHS = " \
|
|
||||||
--with-local-prefix=${prefix}/local \
|
|
||||||
--with-gxx-include-dir=${includedir}/c++/${BINV}"
|
|
||||||
|
|
||||||
EXTRA_OECONF_DEP = ""
|
|
||||||
EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
|
|
||||||
EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
|
|
||||||
EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
|
|
||||||
CPPFLAGS = ""
|
|
||||||
|
|
||||||
# Used by configure to define additional values for FLAGS_FOR_TARGET -
|
|
||||||
# passed to all the compilers.
|
|
||||||
ARCH_FLAGS_FOR_TARGET = ""
|
|
||||||
#NOTE: not tested on other platforms, the following is probably correct
|
|
||||||
# everywhere!
|
|
||||||
ARCH_FLAGS_FOR_TARGET_slugos = "${TARGET_CC_ARCH}"
|
|
||||||
ARCH_FLAGS_FOR_TARGET_unslung = "${TARGET_CC_ARCH}"
|
|
||||||
EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
|
|
||||||
|
|
||||||
require gcc-fpu.inc
|
|
||||||
|
|
||||||
python __anonymous () {
|
|
||||||
import bb, re
|
|
||||||
if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
|
|
||||||
bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
|
|
||||||
elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
|
|
||||||
bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
|
|
||||||
}
|
|
||||||
|
|
||||||
do_configure () {
|
|
||||||
# Setup these vars for cross building only
|
|
||||||
# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
|
|
||||||
# gcc build stuff when the build is producing a cross compiler - i.e.
|
|
||||||
# when the 'current' target is the 'host' system, and the host is not
|
|
||||||
# the target (because the build is actually making a cross compiler!)
|
|
||||||
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
|
|
||||||
export CC_FOR_TARGET="${CC}"
|
|
||||||
export GCC_FOR_TARGET="${CC}"
|
|
||||||
export CXX_FOR_TARGET="${CXX}"
|
|
||||||
export AS_FOR_TARGET="${HOST_PREFIX}as"
|
|
||||||
export LD_FOR_TARGET="${HOST_PREFIX}ld"
|
|
||||||
export NM_FOR_TARGET="${HOST_PREFIX}nm"
|
|
||||||
export AR_FOR_TARGET="${HOST_PREFIX}ar"
|
|
||||||
export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
|
|
||||||
fi
|
|
||||||
export CC_FOR_BUILD="${BUILD_CC}"
|
|
||||||
export CXX_FOR_BUILD="${BUILD_CXX}"
|
|
||||||
export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
|
|
||||||
export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
|
|
||||||
export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
|
|
||||||
export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
|
|
||||||
export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
|
|
||||||
(cd ${S} && gnu-configize) || die "failure running gnu-configize"
|
|
||||||
oe_runconf
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
PR = "r6"
|
PR = "r9"
|
||||||
DESCRIPTION = "The GNU cc and gcc C compilers."
|
DESCRIPTION = "The GNU cc and gcc C compilers."
|
||||||
HOMEPAGE = "http://www.gnu.org/software/gcc/"
|
HOMEPAGE = "http://www.gnu.org/software/gcc/"
|
||||||
SECTION = "devel"
|
SECTION = "devel"
|
||||||
|
@ -27,19 +27,25 @@ SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \
|
||||||
file://arm-thumb-cache.patch;patch=1 \
|
file://arm-thumb-cache.patch;patch=1 \
|
||||||
file://ldflags.patch;patch=1 \
|
file://ldflags.patch;patch=1 \
|
||||||
file://cse.patch;patch=1 \
|
file://cse.patch;patch=1 \
|
||||||
file://zecke-xgcc-cpp.patch;patch=1 "
|
file://zecke-xgcc-cpp.patch;patch=1 \
|
||||||
|
file://unbreak-armv4t.patch;patch=1 \
|
||||||
|
file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 \
|
||||||
|
file://gcc-4.1.1-pr13685-1.patch;patch=1 \
|
||||||
|
"
|
||||||
|
|
||||||
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
|
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
|
||||||
|
|
||||||
#Set the fortran bits
|
#Set the fortran bits
|
||||||
|
# 'fortran' or '', not 'f77' like gcc3 had
|
||||||
FORTRAN = ""
|
FORTRAN = ""
|
||||||
HAS_GFORTRAN = "no"
|
HAS_GFORTRAN = "no"
|
||||||
HAS_G2C = "no"
|
HAS_G2C = "no"
|
||||||
|
|
||||||
#Set the java bits
|
#Set the java bits
|
||||||
JAVA_arm = ""
|
JAVA_arm = ""
|
||||||
|
JAVA = ""
|
||||||
|
|
||||||
LANGUAGES = "c,c++"
|
LANGUAGES = "c,c++${FORTRAN}${JAVA}"
|
||||||
require gcc3-build.inc
|
require gcc3-build.inc
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue