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 /meta/packages/glibc | |
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
Diffstat (limited to 'meta/packages/glibc')
-rw-r--r-- | meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch | 30 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-initial.inc | 14 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate.inc | 12 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate_2.4.bb | 5 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate_2.5.bb | 7 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate_2.6.1.bb | 8 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb | 8 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-stage.inc | 7 | ||||
-rw-r--r-- | meta/packages/glibc/glibc.inc | 5 | ||||
-rw-r--r-- | meta/packages/glibc/glibc_2.5.bb | 1 | ||||
-rw-r--r-- | meta/packages/glibc/glibc_2.6.1.bb | 1 |
11 files changed, 47 insertions, 51 deletions
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 | ||