summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-07-24 20:30:37 +0000
committerRichard Purdie <richard@openedhand.com>2008-07-24 20:30:37 +0000
commit87796f6ce02df30375057fac934685d109f99be3 (patch)
tree419fb9887ca981ada36fc0071c8078f35d4f82f2
parentf9651fac68352c9cfa6c616ae50f711c32e7bf32 (diff)
downloadpoky-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
-rw-r--r--meta/conf/distro/include/poky-eabi.inc5
-rw-r--r--meta/conf/distro/include/poky-uclibc.inc1
-rw-r--r--meta/packages/gcc/gcc-3.4.4.inc1
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch21
-rw-r--r--meta/packages/gcc/gcc-configure-cross.inc4
-rw-r--r--meta/packages/gcc/gcc-cross-initial.inc8
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate.inc21
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb5
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb5
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb14
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb7
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb12
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb12
-rw-r--r--meta/packages/gcc/gcc-cross_3.4.4.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.1.2.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.2.3.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.3.1.bb2
-rw-r--r--meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch30
-rw-r--r--meta/packages/glibc/glibc-initial.inc14
-rw-r--r--meta/packages/glibc/glibc-intermediate.inc12
-rw-r--r--meta/packages/glibc/glibc-intermediate_2.4.bb5
-rw-r--r--meta/packages/glibc/glibc-intermediate_2.5.bb7
-rw-r--r--meta/packages/glibc/glibc-intermediate_2.6.1.bb8
-rw-r--r--meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb8
-rw-r--r--meta/packages/glibc/glibc-stage.inc7
-rw-r--r--meta/packages/glibc/glibc.inc5
-rw-r--r--meta/packages/glibc/glibc_2.5.bb1
-rw-r--r--meta/packages/glibc/glibc_2.6.1.bb1
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
7TARGET_VENDOR = "-poky" 7TARGET_VENDOR = "-poky"
8 8
9PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" 9PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc"
10PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" 10PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
11PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" 11PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
12PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
12PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" 13PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
13PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" 14PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
14 15
@@ -24,10 +25,10 @@ BINUVERSION = "2.18"
24PREFERRED_VERSION_gcc ?= "${GCCVERSION}" 25PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
25PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" 26PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}"
26PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" 27PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}"
28PREFERRED_VERSION_gcc-cross-intermediate ?= "${GCCVERSION}"
27PREFERRED_VERSION_binutils ?= "${BINUVERSION}" 29PREFERRED_VERSION_binutils ?= "${BINUVERSION}"
28PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}" 30PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}"
29PREFERRED_VERSION_linux-libc-headers ?= "2.6.24" 31PREFERRED_VERSION_linux-libc-headers ?= "2.6.24"
30PREFERRED_VERSION_glibc ?= "2.6.1" 32PREFERRED_VERSION_glibc ?= "2.6.1"
31PREFERRED_VERSION_glibc-intermediate ?= "2.6.1"
32PREFERRED_VERSION_glibc-initial ?= "2.6.1" 33PREFERRED_VERSION_glibc-initial ?= "2.6.1"
33PREFERRED_VERSION_elfutils ?= "0.108" 34PREFERRED_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
5PREFERRED_PROVIDER_virtual/libc = "uclibc" 5PREFERRED_PROVIDER_virtual/libc = "uclibc"
6PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc"
6PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv" 7PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
7PREFERRED_PROVIDER_virtual/libintl ?= "gettext" 8PREFERRED_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
22SRC_URI += "file://gcc34-configure.in.patch;patch=1" 23SRC_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
5Index: 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
10do_configure_prepend () {
11 rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
12}
13
14do_compile_prepend () { 10do_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 @@
1DEPENDS = "virtual/${TARGET_PREFIX}binutils" 1DEPENDS = "virtual/${TARGET_PREFIX}binutils"
2# @todo Please add comment on why this is (still?) needed?
3DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel', 'powerpc']]}"
4PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" 2PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
5PACKAGES = "" 3PACKAGES = ""
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
9EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ 7EXTRA_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
22do_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
27do_install () { 21do_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 @@
1DEPENDS = "virtual/${TARGET_PREFIX}binutils"
2DEPENDS += "virtual/${TARGET_PREFIX}libc-initial"
3PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate"
4PACKAGES = ""
5
6# This is intended to be a -very- basic config
7# sysroot is needed in case we use libc-initial
8EXTRA_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
19do_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 @@
1require gcc-cross_${PV}.bb
2require 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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4EXTRA_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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4EXTRA_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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4DEPENDS += "gmp-native mpfr-native"
5
6EXTRA_OECONF += " --disable-libmudflap \
7 --disable-libgomp \
8 --disable-libssp"
9
10# Hack till we fix *libc properly
11do_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 @@
1require gcc-cross_csl-arm-2005q3.bb
2require 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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4S = "${WORKDIR}/gcc-2006q1"
5
6EXTRA_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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4S = "${WORKDIR}/gcc-4.2"
5
6EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
7
8# Hack till we fix *libc properly
9do_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 @@
1require gcc-cross_${PV}.bb
2require gcc-cross-intermediate.inc
3
4S = "${WORKDIR}/gcc-4.2"
5
6EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap "
7
8# Hack till we fix *libc properly
9do_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 @@
1PR = "r9" 1PR = "r10"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross.inc 4require 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 @@
1PR = "r16" 1PR = "r17"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require 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 @@
1PR = "r6" 1PR = "r7"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require 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 @@
1PR = "r5" 1PR = "r6"
2 2
3require gcc-${PV}.inc 3require gcc-${PV}.inc
4require gcc-cross4.inc 4require 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 @@
1Source: http://sourceware.org/ml/libc-alpha/2008-01/msg00017.html
2
3I am checking this x86 assembler patch:
4
5http://sourceware.org/ml/binutils/2008-01/msg00148.html
6
7to check operand size. fnstsw stores 16bit into %ax. The upper
816bit of %eax is unchanged. The new assembler will disallow
9"fnstsw %eax". Here is a patch for glibc.
10
11
12H.J.
13
14---
15 sysdeps/i386/fpu/ftestexcept.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18Index: 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 @@
1SECTION = "libs" 1SECTION = "libs"
2DEPENDS = "linux-libc-headers" 2DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
3PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" 3PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
4FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" 4FILESPATH = "${@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 = ""
9do_configure () { 9do_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
32do_stage () { 33do_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
47do_install () { 55do_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 @@
1SECTION = "libs"
2PACKAGES = ""
3PACKAGES_DYNAMIC = ""
4PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
5DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
6
7do_install () {
8 :
9}
10
11GLIBC_ADDONS = "nptl,ports"
12GLIBC_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 @@
1require glibc_${PV}.bb
2require glibc-intermediate.inc
3
4DEFAULT_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 @@
1require glibc_${PV}.bb
2require glibc-intermediate.inc
3
4# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
5do_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 @@
1require glibc_${PV}.bb
2require glibc-intermediate.inc
3
4# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
5do_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 @@
1require glibc_${PV}.bb
2require glibc-intermediate.inc
3
4DEFAULT_PREFERENCE = "-1"
5
6GLIBC_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"
4PRIORITY = "required" 4PRIORITY = "required"
5LICENSE = "LGPL" 5LICENSE = "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.
7DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers" 7DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
8RDEPENDS_${PN}-dev = "linux-libc-headers-dev" 8RDEPENDS_${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"
11PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" 11#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
12PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
12PROVIDES += "virtual/libintl virtual/libiconv" 13PROVIDES += "virtual/libintl virtual/libiconv"
13 14
14inherit autotools 15inherit 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