summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/packages/glibc/glibc-2.9/glibc-2.9-use-_begin.patch28
-rw-r--r--meta/packages/glibc/glibc-2.9/nscd-init.patch39
-rw-r--r--meta/packages/glibc/glibc-2.9/rulesfix.patch13
-rw-r--r--meta/packages/glibc/glibc_2.9.bb16
4 files changed, 88 insertions, 8 deletions
diff --git a/meta/packages/glibc/glibc-2.9/glibc-2.9-use-_begin.patch b/meta/packages/glibc/glibc-2.9/glibc-2.9-use-_begin.patch
new file mode 100644
index 000000000..8d36a0524
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.9/glibc-2.9-use-_begin.patch
@@ -0,0 +1,28 @@
+From 7c8a67320e26b8c11108bf0a3410d3aef9cf3486 Mon Sep 17 00:00:00 2001
+From: Ulrich Drepper <drepper@redhat.com>
+Date: Sat, 31 Jan 2009 00:21:15 +0000
+Subject: [PATCH] * elf/Makefile (ld.so): Adjust the sed script to insert _begin in to newer linker scripts.
+---
+diff --git a/elf/Makefile b/elf/Makefile
+index 8079fe9..e44ff1d 100644
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1995-2007, 2008 Free Software Foundation, Inc.
++# Copyright (C) 1995-2007, 2008, 2009 Free Software Foundation, Inc.
+ # This file is part of the GNU C Library.
+
+ # The GNU C Library is free software; you can redistribute it and/or
+@@ -304,7 +304,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
+ $(LDFLAGS-rtld) -Wl,-z,defs -Wl,--verbose 2>&1 | \
+ LC_ALL=C \
+ sed -e '/^=========/,/^=========/!d;/^=========/d' \
+- -e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
++ -e 's/\. = .* + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
+ > $@.lds
+ $(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
+ $(LDFLAGS-rtld) -Wl,-z,defs $(z-now-$(bind-now)) \
+--
+1.6.3.2
+
+
diff --git a/meta/packages/glibc/glibc-2.9/nscd-init.patch b/meta/packages/glibc/glibc-2.9/nscd-init.patch
new file mode 100644
index 000000000..884609a5a
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.9/nscd-init.patch
@@ -0,0 +1,39 @@
+--- nscd/nscd.init
++++ nscd/nscd.init
+@@ -48,9 +48,8 @@
+
+ start () {
+ [ -d /var/run/nscd ] || mkdir /var/run/nscd
+- [ -d /var/db/nscd ] || mkdir /var/db/nscd
+ echo -n $"Starting $prog: "
+- daemon /usr/sbin/nscd
++ /usr/sbin/nscd
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
+@@ -67,12 +66,10 @@
+ # a non-privileged user
+ rm -f /var/run/nscd/nscd.pid
+ rm -f /var/run/nscd/socket
+- success $"$prog shutdown"
+- else
+- failure $"$prog shutdown"
+ fi
+- echo
+- return $RETVAL
++ echo "Done."
++ # If nscd did not run, return 0 according to LSB.
++ return 0
+ }
+
+ restart() {
+@@ -104,7 +101,8 @@
+ ;;
+ force-reload | reload)
+ echo -n $"Reloading $prog: "
+- killproc /usr/sbin/nscd -HUP
++ # Use killall, initscripts-1.0-r115 don't support -HUP yet.
++ killall -HUP /usr/sbin/nscd
+ RETVAL=$?
+ echo
+ ;;
diff --git a/meta/packages/glibc/glibc-2.9/rulesfix.patch b/meta/packages/glibc/glibc-2.9/rulesfix.patch
new file mode 100644
index 000000000..67bfc9467
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.9/rulesfix.patch
@@ -0,0 +1,13 @@
+Index: glibc-2.9/Makerules
+===================================================================
+--- glibc-2.9.orig/Makerules 2009-09-14 16:39:21.000000000 +0100
++++ glibc-2.9/Makerules 2009-09-14 16:39:50.000000000 +0100
+@@ -173,6 +173,8 @@
+ # it's used in sysd-rules, below.
+ $(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \
+ %.sym $(common-before-compile)
++ rm -f $(@:.h=.h.d)
++ rm -f $(@:.h.d=.h)
+ $(AWK) -f $< $(filter %.sym,$^) \
+ | $(CC) -S -o $(@:.h.d=.h)T3 $(CFLAGS) $(CPPFLAGS) -x c - \
+ -MD -MP -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)'
diff --git a/meta/packages/glibc/glibc_2.9.bb b/meta/packages/glibc/glibc_2.9.bb
index d56e42fdf..24b07163e 100644
--- a/meta/packages/glibc/glibc_2.9.bb
+++ b/meta/packages/glibc/glibc_2.9.bb
@@ -5,7 +5,7 @@ ARM_INSTRUCTION_SET = "arm"
PACKAGES_DYNAMIC = "libc6*"
RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
-PR = "r0"
+PR = "r1"
# the -isystem in bitbake.conf screws up glibc do_stage
BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
@@ -42,8 +42,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
# file://arm-ioperm.patch;patch=1;pnum=0 \
# file://ldd.patch;patch=1;pnum=0 \
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
- ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.7.tar.bz2 \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-${PV}.tar.bz2 \
ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-${PV}.tar.bz2 \
+ file://nscd-init.patch;patch=1;pnum=0 \
file://arm-memcpy.patch;patch=1 \
file://arm-longlong.patch;patch=1 \
file://fhs-linux-paths.patch;patch=1 \
@@ -53,9 +54,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
file://glibc-check_pf.patch;patch=1;pnum=0 \
file://ldd-unbash.patch;patch=1 \
file://glibc-arm-IO-acquire-lock-fix.diff;patch=1 \
- file://local-args6.diff;patch=1 \
- file://arm-check-pf.patch;patch=1 \
- file://arm-lowlevellock-include-tls.patch;patch=1 \
file://generic-bits_select.h \
file://generic-bits_types.h \
file://generic-bits_typesizes.h \
@@ -64,10 +62,10 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
file://generate-supported.mk \
file://march-i686.patch;patch=1;pnum=0 \
file://tls_i486.patch;patch=1 \
- file://glibc-arm-no-asm-page.patch;patch=1 \
+ file://rulesfix.patch;patch=1 \
+ file://glibc-2.9-use-_begin.patch;patch=1 \
"
-
# Build fails on sh3 and sh4 without additional patches
SRC_URI_append_sh3 = " file://no-z-defs.patch;patch=1"
SRC_URI_append_sh4 = " file://no-z-defs.patch;patch=1"
@@ -90,7 +88,7 @@ EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
do_munge() {
# Integrate ports and libidn into tree
- mv ${WORKDIR}/glibc-ports-2.7 ${S}/ports
+ mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports
mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn
# Ports isn't really working... Fix it
@@ -124,6 +122,8 @@ addtask munge before do_patch after do_unpack
do_configure () {
+# /var/db was not included to FHS
+ sed -i s:/var/db/nscd:/var/run/nscd: ${S}/nscd/nscd.h
# override this function to avoid the autoconf/automake/aclocal/autoheader
# calls for now
# don't pass CPPFLAGS into configure, since it upsets the kernel-headers