diff options
author | Richard Purdie <richard@openedhand.com> | 2008-07-24 20:30:37 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-07-24 20:30:37 +0000 |
commit | 87796f6ce02df30375057fac934685d109f99be3 (patch) | |
tree | 419fb9887ca981ada36fc0071c8078f35d4f82f2 | |
parent | f9651fac68352c9cfa6c616ae50f711c32e7bf32 (diff) | |
download | poky-87796f6ce02df30375057fac934685d109f99be3.tar.gz |
gcc: Add toolchain build process changes from OE which adds gcc-cross-intermediate and removes glibc-intermediate based on a patch from Khem Raj as will be aplied to OE.dev making the build process much more rebust/stable/correct.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4943 311d38ba-8fff-0310-9ca6-ca027cbcb966
30 files changed, 158 insertions, 68 deletions
diff --git a/meta/conf/distro/include/poky-eabi.inc b/meta/conf/distro/include/poky-eabi.inc index 7787e3de7d..cf2f336de1 100644 --- a/meta/conf/distro/include/poky-eabi.inc +++ b/meta/conf/distro/include/poky-eabi.inc | |||
@@ -6,9 +6,10 @@ | |||
6 | 6 | ||
7 | TARGET_VENDOR = "-poky" | 7 | TARGET_VENDOR = "-poky" |
8 | 8 | ||
9 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" | 9 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc" |
10 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" | 10 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" |
11 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" | 11 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" |
12 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate" | ||
12 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" | 13 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" |
13 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" | 14 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" |
14 | 15 | ||
@@ -24,10 +25,10 @@ BINUVERSION = "2.18" | |||
24 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" | 25 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" |
25 | PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" | 26 | PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" |
26 | PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" | 27 | PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" |
28 | PREFERRED_VERSION_gcc-cross-intermediate ?= "${GCCVERSION}" | ||
27 | PREFERRED_VERSION_binutils ?= "${BINUVERSION}" | 29 | PREFERRED_VERSION_binutils ?= "${BINUVERSION}" |
28 | PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}" | 30 | PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}" |
29 | PREFERRED_VERSION_linux-libc-headers ?= "2.6.24" | 31 | PREFERRED_VERSION_linux-libc-headers ?= "2.6.24" |
30 | PREFERRED_VERSION_glibc ?= "2.6.1" | 32 | PREFERRED_VERSION_glibc ?= "2.6.1" |
31 | PREFERRED_VERSION_glibc-intermediate ?= "2.6.1" | ||
32 | PREFERRED_VERSION_glibc-initial ?= "2.6.1" | 33 | PREFERRED_VERSION_glibc-initial ?= "2.6.1" |
33 | PREFERRED_VERSION_elfutils ?= "0.108" | 34 | PREFERRED_VERSION_elfutils ?= "0.108" |
diff --git a/meta/conf/distro/include/poky-uclibc.inc b/meta/conf/distro/include/poky-uclibc.inc index fcd65c9963..72e016af6f 100644 --- a/meta/conf/distro/include/poky-uclibc.inc +++ b/meta/conf/distro/include/poky-uclibc.inc | |||
@@ -3,6 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | PREFERRED_PROVIDER_virtual/libc = "uclibc" | 5 | PREFERRED_PROVIDER_virtual/libc = "uclibc" |
6 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc" | ||
6 | PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv" | 7 | PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv" |
7 | PREFERRED_PROVIDER_virtual/libintl ?= "gettext" | 8 | PREFERRED_PROVIDER_virtual/libintl ?= "gettext" |
8 | 9 | ||
diff --git a/meta/packages/gcc/gcc-3.4.4.inc b/meta/packages/gcc/gcc-3.4.4.inc index 704d9bc5c8..5700a7c831 100644 --- a/meta/packages/gcc/gcc-3.4.4.inc +++ b/meta/packages/gcc/gcc-3.4.4.inc | |||
@@ -17,6 +17,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ | |||
17 | file://always-fixincperm.patch;patch=1 \ | 17 | file://always-fixincperm.patch;patch=1 \ |
18 | file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \ | 18 | file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \ |
19 | file://zecke-xgcc-cpp.patch;patch=1 \ | 19 | file://zecke-xgcc-cpp.patch;patch=1 \ |
20 | file://gcc-libgcc2-inhibit-libc.patch;patch=1 \ | ||
20 | file://gcc4-mtune-compat.patch;patch=1" | 21 | file://gcc4-mtune-compat.patch;patch=1" |
21 | 22 | ||
22 | SRC_URI += "file://gcc34-configure.in.patch;patch=1" | 23 | SRC_URI += "file://gcc34-configure.in.patch;patch=1" |
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch new file mode 100644 index 0000000000..f3f7048b8a --- /dev/null +++ b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | --- | ||
2 | gcc/config/i386/linux.h | 2 ++ | ||
3 | 1 file changed, 2 insertions(+) | ||
4 | |||
5 | Index: gcc-3.4.4/gcc/config/i386/linux.h | ||
6 | =================================================================== | ||
7 | --- gcc-3.4.4.orig/gcc/config/i386/linux.h 2008-07-17 23:40:00.000000000 -0700 | ||
8 | +++ gcc-3.4.4/gcc/config/i386/linux.h 2008-07-17 23:40:41.000000000 -0700 | ||
9 | @@ -218,6 +218,7 @@ Boston, MA 02111-1307, USA. */ | ||
10 | /* Do code reading to identify a signal frame, and set the frame | ||
11 | state data appropriately. See unwind-dw2.c for the structs. */ | ||
12 | |||
13 | +#ifndef inhibit_libc | ||
14 | #ifdef IN_LIBGCC2 | ||
15 | /* There's no sys/ucontext.h for some (all?) libc1, so no | ||
16 | signal-turned-exceptions for them. There's also no configure-run for | ||
17 | @@ -282,3 +283,4 @@ Boston, MA 02111-1307, USA. */ | ||
18 | } while (0) | ||
19 | #endif /* not USE_GNULIBC_1 */ | ||
20 | #endif /* IN_LIBGCC2 */ | ||
21 | +#endif | ||
diff --git a/meta/packages/gcc/gcc-configure-cross.inc b/meta/packages/gcc/gcc-configure-cross.inc index c05cf3dff8..da66e8e851 100644 --- a/meta/packages/gcc/gcc-configure-cross.inc +++ b/meta/packages/gcc/gcc-configure-cross.inc | |||
@@ -7,10 +7,6 @@ EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} | |||
7 | --with-sysroot=${STAGING_DIR_TARGET} \ | 7 | --with-sysroot=${STAGING_DIR_TARGET} \ |
8 | --with-build-sysroot=${STAGING_DIR_TARGET}" | 8 | --with-build-sysroot=${STAGING_DIR_TARGET}" |
9 | 9 | ||
10 | do_configure_prepend () { | ||
11 | rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a | ||
12 | } | ||
13 | |||
14 | do_compile_prepend () { | 10 | do_compile_prepend () { |
15 | export CC="${BUILD_CC}" | 11 | export CC="${BUILD_CC}" |
16 | export AR_FOR_TARGET="${TARGET_SYS}-ar" | 12 | export AR_FOR_TARGET="${TARGET_SYS}-ar" |
diff --git a/meta/packages/gcc/gcc-cross-initial.inc b/meta/packages/gcc/gcc-cross-initial.inc index e0675263ea..15e5fa62fc 100644 --- a/meta/packages/gcc/gcc-cross-initial.inc +++ b/meta/packages/gcc/gcc-cross-initial.inc | |||
@@ -1,6 +1,4 @@ | |||
1 | DEPENDS = "virtual/${TARGET_PREFIX}binutils" | 1 | DEPENDS = "virtual/${TARGET_PREFIX}binutils" |
2 | # @todo Please add comment on why this is (still?) needed? | ||
3 | DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel', 'powerpc']]}" | ||
4 | PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" | 2 | PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" |
5 | PACKAGES = "" | 3 | PACKAGES = "" |
6 | 4 | ||
@@ -8,6 +6,7 @@ PACKAGES = "" | |||
8 | # sysroot is needed in case we use libc-initial | 6 | # sysroot is needed in case we use libc-initial |
9 | EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ | 7 | EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ |
10 | --with-newlib \ | 8 | --with-newlib \ |
9 | --without-headers \ | ||
11 | --disable-shared \ | 10 | --disable-shared \ |
12 | --disable-threads \ | 11 | --disable-threads \ |
13 | --disable-multilib \ | 12 | --disable-multilib \ |
@@ -19,11 +18,6 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ | |||
19 | --with-build-sysroot=${STAGING_DIR_TARGET} \ | 18 | --with-build-sysroot=${STAGING_DIR_TARGET} \ |
20 | ${@get_gcc_fpu_setting(bb, d)}" | 19 | ${@get_gcc_fpu_setting(bb, d)}" |
21 | 20 | ||
22 | do_stage_prepend () { | ||
23 | mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV} | ||
24 | ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a | ||
25 | } | ||
26 | |||
27 | do_install () { | 21 | do_install () { |
28 | : | 22 | : |
29 | } | 23 | } |
diff --git a/meta/packages/gcc/gcc-cross-intermediate.inc b/meta/packages/gcc/gcc-cross-intermediate.inc new file mode 100644 index 0000000000..4fa12886f1 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | DEPENDS = "virtual/${TARGET_PREFIX}binutils" | ||
2 | DEPENDS += "virtual/${TARGET_PREFIX}libc-initial" | ||
3 | PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate" | ||
4 | PACKAGES = "" | ||
5 | |||
6 | # This is intended to be a -very- basic config | ||
7 | # sysroot is needed in case we use libc-initial | ||
8 | EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ | ||
9 | --enable-shared \ | ||
10 | --disable-multilib \ | ||
11 | --disable-threads \ | ||
12 | --enable-languages=c \ | ||
13 | --enable-target-optspace \ | ||
14 | --program-prefix=${TARGET_PREFIX} \ | ||
15 | --with-sysroot=${STAGING_DIR_TARGET} \ | ||
16 | --with-build-sysroot=${STAGING_DIR_TARGET} \ | ||
17 | ${@get_gcc_fpu_setting(bb, d)}" | ||
18 | |||
19 | do_install () { | ||
20 | : | ||
21 | } | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb new file mode 100644 index 0000000000..eb59de9461 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb | |||
@@ -0,0 +1,2 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb new file mode 100644 index 0000000000..3e103aa24e --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | EXTRA_OECONF += "--disable-libmudflap \ | ||
5 | --disable-libssp" | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb new file mode 100644 index 0000000000..7acca81c3b --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \ | ||
5 | --disable-libssp" | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb new file mode 100644 index 0000000000..b0932f520d --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | DEPENDS += "gmp-native mpfr-native" | ||
5 | |||
6 | EXTRA_OECONF += " --disable-libmudflap \ | ||
7 | --disable-libgomp \ | ||
8 | --disable-libssp" | ||
9 | |||
10 | # Hack till we fix *libc properly | ||
11 | do_stage_append() { | ||
12 | ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ | ||
13 | } | ||
14 | |||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb new file mode 100644 index 0000000000..6e9c252e7e --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb | |||
@@ -0,0 +1,2 @@ | |||
1 | require gcc-cross_csl-arm-2005q3.bb | ||
2 | require gcc-cross-intermediate.inc | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb new file mode 100644 index 0000000000..2d4b55f997 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | S = "${WORKDIR}/gcc-2006q1" | ||
5 | |||
6 | EXTRA_OECONF += "--disable-libmudflap \ | ||
7 | --disable-libssp" | ||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb new file mode 100644 index 0000000000..114d9831c6 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | S = "${WORKDIR}/gcc-4.2" | ||
5 | |||
6 | EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap " | ||
7 | |||
8 | # Hack till we fix *libc properly | ||
9 | do_stage_append() { | ||
10 | ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ | ||
11 | } | ||
12 | |||
diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb new file mode 100644 index 0000000000..114d9831c6 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require gcc-cross_${PV}.bb | ||
2 | require gcc-cross-intermediate.inc | ||
3 | |||
4 | S = "${WORKDIR}/gcc-4.2" | ||
5 | |||
6 | EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap " | ||
7 | |||
8 | # Hack till we fix *libc properly | ||
9 | do_stage_append() { | ||
10 | ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ | ||
11 | } | ||
12 | |||
diff --git a/meta/packages/gcc/gcc-cross_3.4.4.bb b/meta/packages/gcc/gcc-cross_3.4.4.bb index c9b5cc9924..c7a4cfe857 100644 --- a/meta/packages/gcc/gcc-cross_3.4.4.bb +++ b/meta/packages/gcc/gcc-cross_3.4.4.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | PR = "r9" | 1 | PR = "r10" |
2 | 2 | ||
3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
4 | require gcc-cross.inc | 4 | require gcc-cross.inc |
diff --git a/meta/packages/gcc/gcc-cross_4.1.2.bb b/meta/packages/gcc/gcc-cross_4.1.2.bb index 43f21735e7..c9e3279ffc 100644 --- a/meta/packages/gcc/gcc-cross_4.1.2.bb +++ b/meta/packages/gcc/gcc-cross_4.1.2.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | PR = "r16" | 1 | PR = "r17" |
2 | 2 | ||
3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
4 | require gcc-cross4.inc | 4 | require gcc-cross4.inc |
diff --git a/meta/packages/gcc/gcc-cross_4.2.3.bb b/meta/packages/gcc/gcc-cross_4.2.3.bb index 11e04594fc..72f72835c3 100644 --- a/meta/packages/gcc/gcc-cross_4.2.3.bb +++ b/meta/packages/gcc/gcc-cross_4.2.3.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | PR = "r6" | 1 | PR = "r7" |
2 | 2 | ||
3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
4 | require gcc-cross4.inc | 4 | require gcc-cross4.inc |
diff --git a/meta/packages/gcc/gcc-cross_4.3.1.bb b/meta/packages/gcc/gcc-cross_4.3.1.bb index 9821d3cd83..11e04594fc 100644 --- a/meta/packages/gcc/gcc-cross_4.3.1.bb +++ b/meta/packages/gcc/gcc-cross_4.3.1.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | PR = "r5" | 1 | PR = "r6" |
2 | 2 | ||
3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
4 | require gcc-cross4.inc | 4 | require gcc-cross4.inc |
diff --git a/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch b/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch new file mode 100644 index 0000000000..6979229279 --- /dev/null +++ b/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | Source: http://sourceware.org/ml/libc-alpha/2008-01/msg00017.html | ||
2 | |||
3 | I am checking this x86 assembler patch: | ||
4 | |||
5 | http://sourceware.org/ml/binutils/2008-01/msg00148.html | ||
6 | |||
7 | to check operand size. fnstsw stores 16bit into %ax. The upper | ||
8 | 16bit of %eax is unchanged. The new assembler will disallow | ||
9 | "fnstsw %eax". Here is a patch for glibc. | ||
10 | |||
11 | |||
12 | H.J. | ||
13 | |||
14 | --- | ||
15 | sysdeps/i386/fpu/ftestexcept.c | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | Index: glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c | ||
19 | =================================================================== | ||
20 | --- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:00:45.000000000 -0700 | ||
21 | +++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:01:25.000000000 -0700 | ||
22 | @@ -26,7 +26,7 @@ | ||
23 | int | ||
24 | fetestexcept (int excepts) | ||
25 | { | ||
26 | - int temp; | ||
27 | + short temp; | ||
28 | int xtemp = 0; | ||
29 | |||
30 | /* Get current exceptions. */ | ||
diff --git a/meta/packages/glibc/glibc-initial.inc b/meta/packages/glibc/glibc-initial.inc index 0e5db2e729..143a662d52 100644 --- a/meta/packages/glibc/glibc-initial.inc +++ b/meta/packages/glibc/glibc-initial.inc | |||
@@ -1,5 +1,5 @@ | |||
1 | SECTION = "libs" | 1 | SECTION = "libs" |
2 | DEPENDS = "linux-libc-headers" | 2 | DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" |
3 | PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" | 3 | PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" |
4 | FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" | 4 | FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" |
5 | 5 | ||
@@ -9,7 +9,8 @@ PACKAGES_DYNAMIC = "" | |||
9 | do_configure () { | 9 | do_configure () { |
10 | sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure | 10 | sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure |
11 | chmod +x ${S}/configure | 11 | chmod +x ${S}/configure |
12 | CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ | 12 | find ${S} -name "configure" | xargs touch |
13 | ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ | ||
13 | --without-cvs --disable-sanity-checks \ | 14 | --without-cvs --disable-sanity-checks \ |
14 | --with-headers=${STAGING_DIR_TARGET}${layout_includedir} \ | 15 | --with-headers=${STAGING_DIR_TARGET}${layout_includedir} \ |
15 | --enable-hacker-mode | 16 | --enable-hacker-mode |
@@ -30,8 +31,11 @@ do_compile () { | |||
30 | } | 31 | } |
31 | 32 | ||
32 | do_stage () { | 33 | do_stage () { |
33 | oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers | 34 | oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \ |
35 | includedir='${layout_includedir}' prefix='${layout_prefix}' \ | ||
36 | install-bootstrap-headers=yes install-headers | ||
34 | 37 | ||
38 | oe_runmake csu/subdir_lib | ||
35 | # Two headers -- stubs.h and features.h -- aren't installed by install-headers, | 39 | # Two headers -- stubs.h and features.h -- aren't installed by install-headers, |
36 | # so do them by hand. We can tolerate an empty stubs.h for the moment. | 40 | # so do them by hand. We can tolerate an empty stubs.h for the moment. |
37 | # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html | 41 | # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html |
@@ -42,6 +46,10 @@ do_stage () { | |||
42 | if [ -e ${B}/bits/stdio_lim.h ]; then | 46 | if [ -e ${B}/bits/stdio_lim.h ]; then |
43 | cp ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/ | 47 | cp ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/ |
44 | fi | 48 | fi |
49 | mkdir -p ${STAGING_DIR_TARGET}${layout_libdir} | ||
50 | install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir} | ||
51 | ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ | ||
52 | -o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so | ||
45 | } | 53 | } |
46 | 54 | ||
47 | do_install () { | 55 | do_install () { |
diff --git a/meta/packages/glibc/glibc-intermediate.inc b/meta/packages/glibc/glibc-intermediate.inc deleted file mode 100644 index c226d8658d..0000000000 --- a/meta/packages/glibc/glibc-intermediate.inc +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | SECTION = "libs" | ||
2 | PACKAGES = "" | ||
3 | PACKAGES_DYNAMIC = "" | ||
4 | PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc" | ||
5 | DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" | ||
6 | |||
7 | do_install () { | ||
8 | : | ||
9 | } | ||
10 | |||
11 | GLIBC_ADDONS = "nptl,ports" | ||
12 | GLIBC_EXTRA_OECONF = "" | ||
diff --git a/meta/packages/glibc/glibc-intermediate_2.4.bb b/meta/packages/glibc/glibc-intermediate_2.4.bb deleted file mode 100644 index f29ffb30ae..0000000000 --- a/meta/packages/glibc/glibc-intermediate_2.4.bb +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | require glibc_${PV}.bb | ||
2 | require glibc-intermediate.inc | ||
3 | |||
4 | DEFAULT_PREFERENCE = "-1" | ||
5 | |||
diff --git a/meta/packages/glibc/glibc-intermediate_2.5.bb b/meta/packages/glibc/glibc-intermediate_2.5.bb deleted file mode 100644 index 661a69a10d..0000000000 --- a/meta/packages/glibc/glibc-intermediate_2.5.bb +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | require glibc_${PV}.bb | ||
2 | require glibc-intermediate.inc | ||
3 | |||
4 | # gcc uses -Werror which break on a "you have no thumb interwork" _warning_ | ||
5 | do_configure_prepend() { | ||
6 | sed -i s:-Werror:: ${S}/configure | ||
7 | } | ||
diff --git a/meta/packages/glibc/glibc-intermediate_2.6.1.bb b/meta/packages/glibc/glibc-intermediate_2.6.1.bb deleted file mode 100644 index 05d6250783..0000000000 --- a/meta/packages/glibc/glibc-intermediate_2.6.1.bb +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | require glibc_${PV}.bb | ||
2 | require glibc-intermediate.inc | ||
3 | |||
4 | # gcc uses -Werror which break on a "you have no thumb interwork" _warning_ | ||
5 | do_configure_prepend() { | ||
6 | sed -i s:-Werror:: ${S}/configure | ||
7 | } | ||
8 | |||
diff --git a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb b/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb deleted file mode 100644 index 5d161b127e..0000000000 --- a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | require glibc_${PV}.bb | ||
2 | require glibc-intermediate.inc | ||
3 | |||
4 | DEFAULT_PREFERENCE = "-1" | ||
5 | |||
6 | GLIBC_ADDONS = "nptl,libidn" | ||
7 | |||
8 | |||
diff --git a/meta/packages/glibc/glibc-stage.inc b/meta/packages/glibc/glibc-stage.inc index a86cf7888e..2b7b303c14 100644 --- a/meta/packages/glibc/glibc-stage.inc +++ b/meta/packages/glibc/glibc-stage.inc | |||
@@ -3,7 +3,7 @@ do_stage() { | |||
3 | oe_runmake 'install_root=${STAGING_DIR_HOST}' \ | 3 | oe_runmake 'install_root=${STAGING_DIR_HOST}' \ |
4 | 'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \ | 4 | 'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \ |
5 | '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \ | 5 | '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \ |
6 | install-headers install-lib | 6 | install |
7 | 7 | ||
8 | install -d ${STAGING_INCDIR}/gnu \ | 8 | install -d ${STAGING_INCDIR}/gnu \ |
9 | ${STAGING_INCDIR}/bits \ | 9 | ${STAGING_INCDIR}/bits \ |
@@ -15,9 +15,4 @@ do_stage() { | |||
15 | h=`echo $r|sed -e's,\.x$,.h,'` | 15 | h=`echo $r|sed -e's,\.x$,.h,'` |
16 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/ | 16 | install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/ |
17 | done | 17 | done |
18 | for i in libc.a libc_pic.a libc_nonshared.a; do | ||
19 | install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_base_libdir}/ || die "failed to install $i" | ||
20 | done | ||
21 | echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libpthread.so | ||
22 | echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libc.so | ||
23 | } | 18 | } |
diff --git a/meta/packages/glibc/glibc.inc b/meta/packages/glibc/glibc.inc index 81df03c8dc..18edf897c5 100644 --- a/meta/packages/glibc/glibc.inc +++ b/meta/packages/glibc/glibc.inc | |||
@@ -4,11 +4,12 @@ SECTION = "libs" | |||
4 | PRIORITY = "required" | 4 | PRIORITY = "required" |
5 | LICENSE = "LGPL" | 5 | LICENSE = "LGPL" |
6 | # nptl needs unwind support in gcc, which can't be built without glibc. | 6 | # nptl needs unwind support in gcc, which can't be built without glibc. |
7 | DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers" | 7 | DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers" |
8 | RDEPENDS_${PN}-dev = "linux-libc-headers-dev" | 8 | RDEPENDS_${PN}-dev = "linux-libc-headers-dev" |
9 | #this leads to circular deps, so lets not add it yet | 9 | #this leads to circular deps, so lets not add it yet |
10 | #RDEPENDS_ldd += " bash" | 10 | #RDEPENDS_ldd += " bash" |
11 | PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" | 11 | #RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" |
12 | PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" | ||
12 | PROVIDES += "virtual/libintl virtual/libiconv" | 13 | PROVIDES += "virtual/libintl virtual/libiconv" |
13 | 14 | ||
14 | inherit autotools | 15 | inherit autotools |
diff --git a/meta/packages/glibc/glibc_2.5.bb b/meta/packages/glibc/glibc_2.5.bb index 8a46d2fb85..0cab17f128 100644 --- a/meta/packages/glibc/glibc_2.5.bb +++ b/meta/packages/glibc/glibc_2.5.bb | |||
@@ -48,6 +48,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \ | |||
48 | # file://fixup-aeabi-syscalls.patch;patch=1 \ | 48 | # file://fixup-aeabi-syscalls.patch;patch=1 \ |
49 | file://zecke-sane-readelf.patch;patch=1 \ | 49 | file://zecke-sane-readelf.patch;patch=1 \ |
50 | file://eabi_kernel_version_hack.patch;patch=1 \ | 50 | file://eabi_kernel_version_hack.patch;patch=1 \ |
51 | file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \ | ||
51 | file://generic-bits_select.h \ | 52 | file://generic-bits_select.h \ |
52 | file://generic-bits_types.h \ | 53 | file://generic-bits_types.h \ |
53 | file://generic-bits_typesizes.h \ | 54 | file://generic-bits_typesizes.h \ |
diff --git a/meta/packages/glibc/glibc_2.6.1.bb b/meta/packages/glibc/glibc_2.6.1.bb index 2e509e9da8..9e1c4b7b47 100644 --- a/meta/packages/glibc/glibc_2.6.1.bb +++ b/meta/packages/glibc/glibc_2.6.1.bb | |||
@@ -56,6 +56,7 @@ SRC_URI = "\ | |||
56 | file://etc/ld.so.conf \ | 56 | file://etc/ld.so.conf \ |
57 | file://generate-supported.mk \ | 57 | file://generate-supported.mk \ |
58 | file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \ | 58 | file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \ |
59 | file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \ | ||
59 | file://glibc-include-fixed.patch;patch=1;pnum=0 \ | 60 | file://glibc-include-fixed.patch;patch=1;pnum=0 \ |
60 | " | 61 | " |
61 | 62 | ||