[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

glibc (snapshot) - powerpc64 support



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


Reply to: