Hi folks The attached patch adds powerpc64 support to the snapshot glibc. The powerpc64 lib is tls, as we do not support 2.4 kernels. 32bit nptl is disabled, it only segfaults. It always uses gcc-3.4 and workarounds #260710, which hits the check target of at least any nptl lib. I tried it with 4.0, but it misscompiles several parts of the powerpc64 lib. Bastian -- All your people must learn before you can reach for the stars. -- Kirk, "The Gamesters of Triskelion", stardate 3259.2
=== debian/control.in/main ================================================================== --- debian/control.in/main (/glibc/debian/current) (revision 45) +++ debian/control.in/main (/glibc/trunk) (revision 45) @@ -1,7 +1,7 @@ Source: @glibc@ Section: libs Priority: required -Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.5.999-test7-bk-9) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.3 [!ia64] | gcc-3.4 [!ia64], gcc-3.3 (>= 1:3.3.5-5) [ia64] | gcc-3.4 (>= 3.4.3-2) [ia64], autoconf, binutils (>= 2.14.90.0.7-5), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76) +Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.4.1.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.5.999-test7-bk-9) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-3.4 [!ia64], gcc-3.4 (>= 3.4.3-2) [ia64], autoconf, binutils (>= 2.14.90.0.7-5), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76) Build-Depends-Indep: perl, po-debconf Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Uploaders: Ben Collins <bcollins@debian.org>, GOTO Masanori <gotom@debian.org>, Philip Blundell <pb@nexus.co.uk>, Jeff Bailey <jbailey@raspberryginger.com>, Daniel Jacobowitz <dan@debian.org> === debian/control.in/powerpc64 ================================================================== --- debian/control.in/powerpc64 (/glibc/debian/current) (revision 45) +++ debian/control.in/powerpc64 (/glibc/trunk) (revision 45) @@ -0,0 +1,21 @@ + +Package: libc6-powerpc64 +Architecture: powerpc +Section: base +Priority: required +Depends: libc6 (= ${Source-Version}) +Description: GNU C Library: 64bit Shared libraries for PowerPC + This package includes shared versions of the standard C library and the + standard math library, as well as many others. This is the 64bit version + of the library, meant for G5, Power 5 and other systems. + +Package: libc6-dev-powerpc64 +Architecture: powerpc +Section: libdevel +Priority: standard +Depends: libc6-powerpc64 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Description: GNU C Library: 64bit Development Libraries for PowerPC + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 64bit version of the + library, meant for G5, Power 5 and other systems. + === debian/rules ================================================================== --- debian/rules (/glibc/debian/current) (revision 45) +++ debian/rules (/glibc/trunk) (revision 45) @@ -81,7 +81,7 @@ sbindir=$(prefix)/sbin libexecdir=$(prefix)/lib -BUILD_CC = gcc-3.3 +BUILD_CC = gcc-3.4 # Set CC for cross-compiling ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) === debian/sysdeps/linux.mk ================================================================== --- debian/sysdeps/linux.mk (/glibc/debian/current) (revision 45) +++ debian/sysdeps/linux.mk (/glibc/trunk) (revision 45) @@ -30,7 +30,8 @@ # NPTL Config nptl_add-ons = nptl $(add-ons) nptl_extra_config_options = $(extra_config_options) --with-tls --with-__thread --disable-profile -nptl_extra_cflags = -g1 -O3 +# -g0 is needed to workaround #260710 +nptl_extra_cflags = -g0 -O3 nptl_MIN_KERNEL_SUPPORTED = 2.6.0 nptl_LIBDIR = /tls === debian/sysdeps/powerpc.mk ================================================================== --- debian/sysdeps/powerpc.mk (/glibc/debian/current) (revision 45) +++ debian/sysdeps/powerpc.mk (/glibc/trunk) (revision 45) @@ -1,13 +1,12 @@ -#GLIBC_PASSES += nptl powerpc64 -#DEB_ARCH_REGULAR_PACKAGES += libc6-powerpc64 libc6-dev-powerpc64 +GLIBC_PASSES += powerpc64 #nptl +DEB_ARCH_REGULAR_PACKAGES += libc6-powerpc64 libc6-dev-powerpc64 -#powerpc64_MIN_KERNEL_SUPPORTED = 2.4.1 -#powerpc64_configure_target = powerpc64-linux -#powerpc64_CC = $(CC) -m64 -#powerpc64_add-ons = linuxthreads $(add-ons) -#libc6-powerpc64_shlib_dep = libc6-powerpc64 (>= $(shlib_dep_ver)) -#powerpc64_extra_cflags = -g1 -O3 -#powerpc64_LIBDIR = 64 -#powerpc64_extra_config_options := $(extra_config_options) --disable-profile +powerpc64_MIN_KERNEL_SUPPORTED = 2.6.0 +powerpc64_configure_target = powerpc64-linux +powerpc64_CC = $(CC) -m64 +powerpc64_add-ons = nptl $(add-ons) +libc6-powerpc64_shlib_dep = libc6-powerpc64 (>= $(shlib_dep_ver)) +powerpc64_extra_cflags = -g0 -O3 +powerpc64_LIBDIR = 64 +powerpc64_extra_config_options := $(extra_config_options) --with-tls --with-__thread --disable-profile - === debian/rules.d/control.mk ================================================================== --- debian/rules.d/control.mk (/glibc/debian/current) (revision 45) +++ debian/rules.d/control.mk (/glibc/trunk) (revision 45) @@ -1,4 +1,4 @@ -control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 sparc64 s390x opt) +control_deps := $(addprefix debian/control.in/, libc6 libc6.1 libc0.3 libc1 powerpc64 sparc64 s390x opt) threads_archs := alpha amd64 arm i386 m68k mips mipsel powerpc sparc ia64 hppa s390 sh3 sh4 sh3eb sh4eb freebsd-i386 @@ -22,6 +22,7 @@ cat debian/control.in/libc6.1 >> $@T cat debian/control.in/libc0.3 >> $@T cat debian/control.in/libc1 >> $@T + cat debian/control.in/powerpc64 >> $@T cat debian/control.in/sparc64 >> $@T cat debian/control.in/s390x >> $@T cat debian/control.in/opt >> $@T
Attachment:
signature.asc
Description: Digital signature