Package: klibc Version: 1.5.20-1 Severity: wishlist Tags: patch User: [email protected] Usertags: origin-ubuntu ubuntu-patch natty
We've been experimenting with bringing up a ppc64 port of Ubuntu. As part of this I found that, much like ia64 (#439181), klibc shared binaries simply segfault on ppc64: they seem to be loading __malloc_head.next_free from the wrong place so as soon as anything calls malloc it segfaults. There may be other problems too, for all I know. I realise this ought to be fixed properly, but I spent a day on this and ran out of time, so perhaps you could add it to the list of architectures that need static binaries? (You might want to merge this with the ia64-static patch rather than applying another patch on top of it like this.) * Install static binaries on ppc64. diff -Nru klibc-1.5.20/debian/patches/ppc64-static klibc-1.5.20/debian/patches/ppc64-static --- klibc-1.5.20/debian/patches/ppc64-static 1970-01-01 01:00:00.000000000 +0100 +++ klibc-1.5.20/debian/patches/ppc64-static 2011-02-18 13:28:38.000000000 +0000 @@ -0,0 +1,91 @@ +Index: b/usr/dash/Kbuild +=================================================================== +--- a/usr/dash/Kbuild ++++ b/usr/dash/Kbuild +@@ -93,7 +93,7 @@ + $(Q): + + # Targets to install +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := sh + else + install-y := sh.shared +Index: b/usr/kinit/fstype/Kbuild +=================================================================== +--- a/usr/kinit/fstype/Kbuild ++++ b/usr/kinit/fstype/Kbuild +@@ -22,7 +22,7 @@ + clean-dirs := static shared + + # install binary +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) + else + install-y := $(shared-y) +Index: b/usr/kinit/ipconfig/Kbuild +=================================================================== +--- a/usr/kinit/ipconfig/Kbuild ++++ b/usr/kinit/ipconfig/Kbuild +@@ -28,7 +28,7 @@ + clean-dirs := static shared + + # install binary +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) + else + install-y := $(shared-y) +Index: b/usr/kinit/nfsmount/Kbuild +=================================================================== +--- a/usr/kinit/nfsmount/Kbuild ++++ b/usr/kinit/nfsmount/Kbuild +@@ -24,7 +24,7 @@ + clean-dirs := static shared + + # Install binary +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) + else + install-y := $(shared-y) +Index: b/usr/kinit/resume/Kbuild +=================================================================== +--- a/usr/kinit/resume/Kbuild ++++ b/usr/kinit/resume/Kbuild +@@ -27,7 +27,7 @@ + clean-dirs := static shared + + # install binary +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) + else + install-y := $(shared-y) +Index: b/usr/kinit/run-init/Kbuild +=================================================================== +--- a/usr/kinit/run-init/Kbuild ++++ b/usr/kinit/run-init/Kbuild +@@ -26,7 +26,7 @@ + clean-dirs := static shared + + # install binary +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) + else + install-y := $(shared-y) +Index: b/usr/utils/Kbuild +=================================================================== +--- a/usr/utils/Kbuild ++++ b/usr/utils/Kbuild +@@ -73,7 +73,7 @@ + clean-dirs := static shared + + # install only install the shared binaries +-ifeq ($(ARCH),ia64) ++ifneq (,$(filter $(ARCH),ia64 ppc64)) + install-y := $(static-y) static/reboot static/poweroff + else + install-y := $(shared-y) shared/reboot shared/poweroff diff -Nru klibc-1.5.20/debian/patches/series klibc-1.5.20/debian/patches/series --- klibc-1.5.20/debian/patches/series 2010-08-28 12:09:43.000000000 +0100 +++ klibc-1.5.20/debian/patches/series 2011-02-18 13:26:48.000000000 +0000 @@ -2,3 +2,4 @@ klibc-linux-libc-dev insmod debian-changes-1.5.20-1 +ppc64-static diff -Nru klibc-1.5.20/debian/rules klibc-1.5.20/debian/rules --- klibc-1.5.20/debian/rules 2010-08-25 11:58:44.000000000 +0100 +++ klibc-1.5.20/debian/rules 2011-02-18 13:30:26.000000000 +0000 @@ -26,6 +26,9 @@ ifeq ($(DEB_HOST_ARCH),sh4) DEB_MAKE_ENVVARS := ARCH=sh endif +ifeq ($(DEB_HOST_ARCH),ppc64) +DEB_MAKE_ENVVARS := ARCH=ppc64 +endif DEB_MAKE_ENVVARS := INSTALLROOT=debian/tmp $(DEB_MAKE_ENVVARS) Thanks, -- Colin Watson [[email protected]] -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

