summaryrefslogtreecommitdiff
path: root/meta/packages/glibc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/glibc')
-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
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 000000000..697922927
--- /dev/null
+++ b/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch
@@ -0,0 +1,30 @@
+Source: http://sourceware.org/ml/libc-alpha/2008-01/msg00017.html
+
+I am checking this x86 assembler patch:
+
+http://sourceware.org/ml/binutils/2008-01/msg00148.html
+
+to check operand size. fnstsw stores 16bit into %ax. The upper
+16bit of %eax is unchanged. The new assembler will disallow
+"fnstsw %eax". Here is a patch for glibc.
+
+
+H.J.
+
+---
+ sysdeps/i386/fpu/ftestexcept.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
+===================================================================
+--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:00:45.000000000 -0700
++++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:01:25.000000000 -0700
+@@ -26,7 +26,7 @@
+ int
+ fetestexcept (int excepts)
+ {
+- int temp;
++ short temp;
+ int xtemp = 0;
+
+ /* Get current exceptions. */
diff --git a/meta/packages/glibc/glibc-initial.inc b/meta/packages/glibc/glibc-initial.inc
index 0e5db2e72..143a662d5 100644
--- a/meta/packages/glibc/glibc-initial.inc
+++ b/meta/packages/glibc/glibc-initial.inc
@@ -1,5 +1,5 @@
SECTION = "libs"
-DEPENDS = "linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
@@ -9,7 +9,8 @@ PACKAGES_DYNAMIC = ""
do_configure () {
sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
chmod +x ${S}/configure
- CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ find ${S} -name "configure" | xargs touch
+ ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
--without-cvs --disable-sanity-checks \
--with-headers=${STAGING_DIR_TARGET}${layout_includedir} \
--enable-hacker-mode
@@ -30,8 +31,11 @@ do_compile () {
}
do_stage () {
- oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers
+ oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \
+ includedir='${layout_includedir}' prefix='${layout_prefix}' \
+ install-bootstrap-headers=yes install-headers
+ oe_runmake csu/subdir_lib
# Two headers -- stubs.h and features.h -- aren't installed by install-headers,
# so do them by hand. We can tolerate an empty stubs.h for the moment.
# See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
@@ -42,6 +46,10 @@ do_stage () {
if [ -e ${B}/bits/stdio_lim.h ]; then
cp ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
fi
+ mkdir -p ${STAGING_DIR_TARGET}${layout_libdir}
+ install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir}
+ ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
+ -o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so
}
do_install () {
diff --git a/meta/packages/glibc/glibc-intermediate.inc b/meta/packages/glibc/glibc-intermediate.inc
deleted file mode 100644
index c226d8658..000000000
--- a/meta/packages/glibc/glibc-intermediate.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SECTION = "libs"
-PACKAGES = ""
-PACKAGES_DYNAMIC = ""
-PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
-
-do_install () {
- :
-}
-
-GLIBC_ADDONS = "nptl,ports"
-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 f29ffb30a..000000000
--- a/meta/packages/glibc/glibc-intermediate_2.4.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require glibc_${PV}.bb
-require glibc-intermediate.inc
-
-DEFAULT_PREFERENCE = "-1"
-
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 661a69a10..000000000
--- a/meta/packages/glibc/glibc-intermediate_2.5.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require glibc_${PV}.bb
-require glibc-intermediate.inc
-
-# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
-do_configure_prepend() {
- sed -i s:-Werror:: ${S}/configure
-}
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 05d625078..000000000
--- a/meta/packages/glibc/glibc-intermediate_2.6.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require glibc_${PV}.bb
-require glibc-intermediate.inc
-
-# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
-do_configure_prepend() {
- sed -i s:-Werror:: ${S}/configure
-}
-
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 5d161b127..000000000
--- a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require glibc_${PV}.bb
-require glibc-intermediate.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-GLIBC_ADDONS = "nptl,libidn"
-
-
diff --git a/meta/packages/glibc/glibc-stage.inc b/meta/packages/glibc/glibc-stage.inc
index a86cf7888..2b7b303c1 100644
--- a/meta/packages/glibc/glibc-stage.inc
+++ b/meta/packages/glibc/glibc-stage.inc
@@ -3,7 +3,7 @@ do_stage() {
oe_runmake 'install_root=${STAGING_DIR_HOST}' \
'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \
'${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \
- install-headers install-lib
+ install
install -d ${STAGING_INCDIR}/gnu \
${STAGING_INCDIR}/bits \
@@ -15,9 +15,4 @@ do_stage() {
h=`echo $r|sed -e's,\.x$,.h,'`
install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
done
- for i in libc.a libc_pic.a libc_nonshared.a; do
- install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_base_libdir}/ || die "failed to install $i"
- done
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libc.so
}
diff --git a/meta/packages/glibc/glibc.inc b/meta/packages/glibc/glibc.inc
index 81df03c8d..18edf897c 100644
--- a/meta/packages/glibc/glibc.inc
+++ b/meta/packages/glibc/glibc.inc
@@ -4,11 +4,12 @@ SECTION = "libs"
PRIORITY = "required"
LICENSE = "LGPL"
# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
#this leads to circular deps, so lets not add it yet
#RDEPENDS_ldd += " bash"
-PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
PROVIDES += "virtual/libintl virtual/libiconv"
inherit autotools
diff --git a/meta/packages/glibc/glibc_2.5.bb b/meta/packages/glibc/glibc_2.5.bb
index 8a46d2fb8..0cab17f12 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 \
# file://fixup-aeabi-syscalls.patch;patch=1 \
file://zecke-sane-readelf.patch;patch=1 \
file://eabi_kernel_version_hack.patch;patch=1 \
+ file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
file://generic-bits_select.h \
file://generic-bits_types.h \
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 2e509e9da..9e1c4b7b4 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 = "\
file://etc/ld.so.conf \
file://generate-supported.mk \
file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \
+ file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \
file://glibc-include-fixed.patch;patch=1;pnum=0 \
"