diff options
-rw-r--r-- | meta/packages/glibc/glibc-2.9/glibc-2.9-use-_begin.patch | 28 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-2.9/nscd-init.patch | 39 | ||||
-rw-r--r-- | meta/packages/glibc/glibc-2.9/rulesfix.patch | 13 | ||||
-rw-r--r-- | meta/packages/glibc/glibc_2.9.bb | 16 |
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 |