mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 23:02:22 +02:00
gcc: Add csl 2007q3 from OE.dev
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4605 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
12
meta/packages/gcc/gcc-cross-initial_csl-arm-2007q3.bb
Normal file
12
meta/packages/gcc/gcc-cross-initial_csl-arm-2007q3.bb
Normal file
@@ -0,0 +1,12 @@
|
||||
require gcc-cross_${PV}.bb
|
||||
require gcc-cross-initial.inc
|
||||
|
||||
S = "${WORKDIR}/gcc-4.2"
|
||||
|
||||
EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
|
||||
|
||||
# Hack till we fix *libc properly
|
||||
do_stage_append() {
|
||||
ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
|
||||
}
|
||||
|
||||
26
meta/packages/gcc/gcc-cross_csl-arm-2007q3.bb
Normal file
26
meta/packages/gcc/gcc-cross_csl-arm-2007q3.bb
Normal file
@@ -0,0 +1,26 @@
|
||||
PR = "r0"
|
||||
|
||||
require gcc-csl-arm-2007q3.inc
|
||||
require gcc-cross4.inc
|
||||
require gcc-configure-cross.inc
|
||||
require gcc-package-cross.inc
|
||||
|
||||
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
|
||||
|
||||
EXTRA_OECONF += "--disable-multilib --disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
|
||||
|
||||
#We don't want i686 linux ending up in the CFLAGS_FOR_TARGET like this: -isystem/OE/angstrom-tmp/staging/i686-linux/usr/include
|
||||
CFLAGS = ""
|
||||
CXXFLAGS = ""
|
||||
LDFLAGS = ""
|
||||
|
||||
# staging-linkage and cross-linkage recipes don't work anymore, so do it by hand for this backwards CSL toolchain
|
||||
do_compile_prepend() {
|
||||
ln -sf ${STAGING_DIR_TARGET}${layout_libdir}/crt*.o ${CROSS_DIR}/${TARGET_SYS}/lib/
|
||||
ln -sf ${STAGING_DIR_TARGET}${layout_libdir}/ld-* ${CROSS_DIR}/${TARGET_SYS}/lib/
|
||||
ln -sf ${STAGING_DIR_TARGET}/lib/libc* ${CROSS_DIR}/${TARGET_SYS}/lib/
|
||||
sed -i -e 's:gcc_no_link=yes:gcc_no_link=no:' ${S}/libstdc++-v3/configure
|
||||
|
||||
}
|
||||
|
||||
ARCH_FLAGS_FOR_TARGET += " -L${STAGING_DIR_TARGET}${layout_libdir} -isystem${STAGING_DIR_TARGET}${layout_includedir}"
|
||||
51
meta/packages/gcc/gcc-csl-arm-2007q3.inc
Normal file
51
meta/packages/gcc/gcc-csl-arm-2007q3.inc
Normal file
@@ -0,0 +1,51 @@
|
||||
require gcc-common.inc
|
||||
|
||||
BINV = "4.2.1"
|
||||
PV = "4.2.1+csl-arm-2007q3-53"
|
||||
|
||||
FILESPATH = "${FILE_DIRNAME}/gcc-csl-arm-2007q3:${FILE_DIRNAME}/gcc-csl-arm"
|
||||
|
||||
SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2007q3-53-arm-none-eabi.src.tar.bz2 \
|
||||
file://gcc-new-makeinfo.patch;patch=1 \
|
||||
# file://100-uclibc-conf.patch;patch=1 \
|
||||
# file://103-uclibc-conf-noupstream.patch;patch=1 \
|
||||
# file://200-uclibc-locale.patch;patch=1 \
|
||||
# file://203-uclibc-locale-no__x.patch;patch=1 \
|
||||
# file://204-uclibc-locale-wchar_fix.patch;patch=1 \
|
||||
# file://205-uclibc-locale-update.patch;patch=1 \
|
||||
# file://300-libstdc++-pic.patch;patch=1 \
|
||||
# file://302-c99-snprintf.patch;patch=1 \
|
||||
# file://303-c99-complex-ugly-hack.patch;patch=1 \
|
||||
# file://304-index_macro.patch;patch=1 \
|
||||
# file://305-libmudflap-susv3-legacy.patch;patch=1 \
|
||||
# file://306-libstdc++-namespace.patch;patch=1 \
|
||||
# file://307-locale_facets.patch;patch=1 \
|
||||
# file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
|
||||
# file://602-sdk-libstdc++-includes.patch;patch=1 \
|
||||
file://gcc41-configure.in.patch;patch=1 \
|
||||
file://arm-nolibfloat.patch;patch=1 \
|
||||
file://arm-softfloat.patch;patch=1 \
|
||||
file://zecke-xgcc-cpp.patch;patch=1 \
|
||||
# file://gfortran.patch;patch=1 \
|
||||
# file://fortran-static-linking.patch;patch=1 \
|
||||
# file://gcc-configure-no-fortran.patch;patch=1;pnum=1 \
|
||||
# file://gcc-new-makeinfo.patch;patch=1 \
|
||||
"
|
||||
|
||||
|
||||
S = "${WORKDIR}/gcc-4.2"
|
||||
|
||||
do_unpack2() {
|
||||
cd ${WORKDIR}
|
||||
tar -xvjf ./arm-2007q3-53-arm-none-eabi/gcc-2007q3-53.tar.bz2
|
||||
}
|
||||
|
||||
# Language Overrides
|
||||
FORTRAN = ""
|
||||
#FORTRAN_linux-gnueabi = ",fortran"
|
||||
#JAVA = ",java"
|
||||
|
||||
EXTRA_OECONF_BASE = "--enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap"
|
||||
ARM_INSTRUCTION_SET = "arm"
|
||||
|
||||
addtask unpack2 after do_unpack before do_patch
|
||||
22
meta/packages/gcc/gcc-csl-arm-2007q3/gcc-new-makeinfo.patch
Normal file
22
meta/packages/gcc/gcc-csl-arm-2007q3/gcc-new-makeinfo.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- /tmp/configure 2008-05-18 12:57:11.378648834 +0200
|
||||
+++ gcc-4.2/configure 2008-05-18 12:58:38.309478684 +0200
|
||||
@@ -3776,7 +3776,7 @@
|
||||
# For an installed makeinfo, we require it to be from texinfo 4.4 or
|
||||
# higher, else we use the "missing" dummy.
|
||||
if ${MAKEINFO} --version \
|
||||
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
|
||||
+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
MAKEINFO="$MISSING makeinfo"
|
||||
--- /tmp/configure.in 2008-05-18 12:57:32.665314708 +0200
|
||||
+++ gcc-4.2/configure.in 2008-05-18 12:59:03.000000000 +0200
|
||||
@@ -2271,7 +2271,7 @@
|
||||
# For an installed makeinfo, we require it to be from texinfo 4.4 or
|
||||
# higher, else we use the "missing" dummy.
|
||||
if ${MAKEINFO} --version \
|
||||
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
|
||||
+ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
|
||||
:
|
||||
else
|
||||
MAKEINFO="$MISSING makeinfo"
|
||||
24
meta/packages/gcc/gcc-csl-arm/arm-nolibfloat.patch
Normal file
24
meta/packages/gcc/gcc-csl-arm/arm-nolibfloat.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
# Dimitry Andric <dimitry@andric.com>, 2004-05-01
|
||||
#
|
||||
# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
|
||||
# anymore. (The required functions are now in libgcc.)
|
||||
#
|
||||
# Fixes errors like
|
||||
# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
|
||||
# collect2: ld returned 1 exit status
|
||||
# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
|
||||
# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
|
||||
|
||||
Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
|
||||
===================================================================
|
||||
--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
|
||||
+++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
|
||||
@@ -56,7 +56,7 @@
|
||||
%{shared:-lc} \
|
||||
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
||||
|
||||
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
|
||||
+#define LIBGCC_SPEC "-lgcc"
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
|
||||
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
|
||||
16
meta/packages/gcc/gcc-csl-arm/arm-softfloat.patch
Normal file
16
meta/packages/gcc/gcc-csl-arm/arm-softfloat.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: gcc-4.0.2/gcc/config/arm/t-linux
|
||||
===================================================================
|
||||
--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
|
||||
+++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
|
||||
@@ -4,7 +4,10 @@
|
||||
LIBGCC2_DEBUG_CFLAGS = -g0
|
||||
|
||||
LIB1ASMSRC = arm/lib1funcs.asm
|
||||
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
|
||||
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
|
||||
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
|
||||
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
|
||||
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
|
||||
|
||||
# MULTILIB_OPTIONS = mhard-float/msoft-float
|
||||
# MULTILIB_DIRNAMES = hard-float soft-float
|
||||
13
meta/packages/gcc/gcc-csl-arm/cache-amnesia.patch
Normal file
13
meta/packages/gcc/gcc-csl-arm/cache-amnesia.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index 44620ab..6e1830c 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -12272,7 +12272,7 @@ else
|
||||
esac
|
||||
saved_CFLAGS="${CFLAGS}"
|
||||
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
|
||||
- ${realsrcdir}/configure \
|
||||
+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
|
||||
--enable-languages=${enable_languages-all} \
|
||||
--target=$target_alias --host=$build_alias --build=$build_alias
|
||||
CFLAGS="${saved_CFLAGS}"
|
||||
48
meta/packages/gcc/gcc-csl-arm/fortran-static-linking.patch
Normal file
48
meta/packages/gcc/gcc-csl-arm/fortran-static-linking.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
f951 (fortran) links to MPFR and GMP of our staging area but when executing
|
||||
the command the libs can not be found. Use rpath like all the other apps in
|
||||
our staging bin/ directory.
|
||||
|
||||
Patch the configure to avoid the regeneration...
|
||||
|
||||
Index: gcc-4.2.2/configure
|
||||
===================================================================
|
||||
--- gcc-4.2.2.orig/configure 2008-01-15 23:23:41.000000000 +0100
|
||||
+++ gcc-4.2.2/configure 2008-01-15 23:25:20.000000000 +0100
|
||||
@@ -2278,14 +2278,14 @@
|
||||
|
||||
|
||||
if test "x$with_mpfr" != x; then
|
||||
- gmplibs="-L$with_mpfr/lib $gmplibs"
|
||||
+ gmplibs="-static -L$with_mpfr/lib $gmplibs"
|
||||
gmpinc="-I$with_mpfr/include"
|
||||
fi
|
||||
if test "x$with_mpfr_include" != x; then
|
||||
gmpinc="-I$with_mpfr_include"
|
||||
fi
|
||||
if test "x$with_mpfr_lib" != x; then
|
||||
- gmplibs="-L$with_mpfr_lib $gmplibs"
|
||||
+ gmplibs="-static -L$with_mpfr_lib $gmplibs"
|
||||
fi
|
||||
|
||||
# Specify a location for gmp
|
||||
Index: gcc-4.2.2/configure.in
|
||||
===================================================================
|
||||
--- gcc-4.2.2.orig/configure.in 2008-01-15 23:23:41.000000000 +0100
|
||||
+++ gcc-4.2.2/configure.in 2008-01-15 23:24:36.000000000 +0100
|
||||
@@ -1066,14 +1066,14 @@
|
||||
AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library])
|
||||
|
||||
if test "x$with_mpfr" != x; then
|
||||
- gmplibs="-L$with_mpfr/lib $gmplibs"
|
||||
+ gmplibs="-static -L$with_mpfr/lib $gmplibs"
|
||||
gmpinc="-I$with_mpfr/include"
|
||||
fi
|
||||
if test "x$with_mpfr_include" != x; then
|
||||
gmpinc="-I$with_mpfr_include"
|
||||
fi
|
||||
if test "x$with_mpfr_lib" != x; then
|
||||
- gmplibs="-L$with_mpfr_lib $gmplibs"
|
||||
+ gmplibs="-static -L$with_mpfr_lib $gmplibs"
|
||||
fi
|
||||
|
||||
# Specify a location for gmp
|
||||
22
meta/packages/gcc/gcc-csl-arm/gcc41-configure.in.patch
Normal file
22
meta/packages/gcc/gcc-csl-arm/gcc41-configure.in.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- gcc-3.4.4/configure.in.orig 2005-08-09 19:57:51.504323183 -0700
|
||||
+++ gcc-3.4.4/configure.in 2005-08-09 20:00:12.073168623 -0700
|
||||
@@ -1907,7 +1907,7 @@
|
||||
*) gxx_include_dir=${with_gxx_include_dir} ;;
|
||||
esac
|
||||
|
||||
-FLAGS_FOR_TARGET=
|
||||
+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
|
||||
case " $target_configdirs " in
|
||||
*" newlib "*)
|
||||
case " $target_configargs " in
|
||||
--- gcc-3.4.4/configure.orig 2005-08-09 21:02:29.668360660 -0700
|
||||
+++ gcc-3.4.4/configure 2005-08-09 21:02:50.157649970 -0700
|
||||
@@ -2669,7 +2669,7 @@
|
||||
*) gxx_include_dir=${with_gxx_include_dir} ;;
|
||||
esac
|
||||
|
||||
-FLAGS_FOR_TARGET=
|
||||
+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
|
||||
case " $target_configdirs " in
|
||||
*" newlib "*)
|
||||
case " $target_configargs " in
|
||||
16
meta/packages/gcc/gcc-csl-arm/pr34130.patch
Normal file
16
meta/packages/gcc/gcc-csl-arm/pr34130.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: gcc-4.1.2/gcc/fold-const.c
|
||||
===================================================================
|
||||
--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
|
||||
+++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
|
||||
@@ -5339,7 +5339,10 @@
|
||||
}
|
||||
break;
|
||||
}
|
||||
- /* FALLTHROUGH */
|
||||
+ /* If the constant is negative, we cannot simplify this. */
|
||||
+ if (tree_int_cst_sgn (c) == -1)
|
||||
+ break;
|
||||
+ /* FALLTHROUGH */
|
||||
case NEGATE_EXPR:
|
||||
if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
|
||||
return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
|
||||
31
meta/packages/gcc/gcc-csl-arm/zecke-no-host-includes.patch
Normal file
31
meta/packages/gcc/gcc-csl-arm/zecke-no-host-includes.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
Index: gcc-4.0.2/gcc/c-incpath.c
|
||||
===================================================================
|
||||
--- gcc-4.0.2.orig/gcc/c-incpath.c 2005-01-23 16:05:27.000000000 +0100
|
||||
+++ gcc-4.0.2/gcc/c-incpath.c 2006-05-15 21:23:02.000000000 +0200
|
||||
@@ -350,6 +350,26 @@
|
||||
p->construct = 0;
|
||||
p->user_supplied_p = user_supplied_p;
|
||||
|
||||
+#ifdef CROSS_COMPILE
|
||||
+ /* A common error when cross compiling is including
|
||||
+ host headers. This code below will try to fail fast
|
||||
+ for cross compiling. Currently we consider /usr/include,
|
||||
+ /opt/include and /sw/include as harmful. */
|
||||
+ {
|
||||
+ /* printf("Adding Path: %s\n", p->name ); */
|
||||
+ if( strstr(p->name, "/usr/include" ) == p->name ) {
|
||||
+ fprintf(stderr, _("CROSS COMPILE Badness: /usr/include in INCLUDEPATH: %s\n"), p->name);
|
||||
+ abort();
|
||||
+ } else if( strstr(p->name, "/sw/include") == p->name ) {
|
||||
+ fprintf(stderr, _("CROSS COMPILE Badness: /sw/include in INCLUDEPATH: %s\n"), p->name);
|
||||
+ abort();
|
||||
+ } else if( strstr(p->name, "/opt/include") == p->name ) {
|
||||
+ fprintf(stderr, _("CROSS COMPILE Badness: /opt/include in INCLUDEPATH: %s\n"), p->name);
|
||||
+ abort();
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
add_cpp_dir_path (p, chain);
|
||||
}
|
||||
|
||||
16
meta/packages/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch
Normal file
16
meta/packages/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
upstream: n/a
|
||||
comment: Use the preprocessor we have just compiled instead the one of
|
||||
the system. There might be incompabilities between us and them.
|
||||
|
||||
Index: gcc-4.1.1/Makefile.in
|
||||
===================================================================
|
||||
--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
|
||||
+++ gcc-4.1.1/Makefile.in 2006-08-06 13:32:46.000000000 +0200
|
||||
@@ -194,6 +194,7 @@
|
||||
AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
|
||||
CC="$(CC_FOR_TARGET)"; export CC; \
|
||||
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
|
||||
+ CPP="$(CC_FOR_TARGET) -E"; export CCP; \
|
||||
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
|
||||
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
|
||||
5
meta/packages/gcc/gcc_csl-arm-2007q3.bb
Normal file
5
meta/packages/gcc/gcc_csl-arm-2007q3.bb
Normal file
@@ -0,0 +1,5 @@
|
||||
PR = "r0"
|
||||
|
||||
require gcc-${PV}.inc
|
||||
require gcc-configure-target.inc
|
||||
require gcc-package-target.inc
|
||||
Reference in New Issue
Block a user