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

Bug#321969: linux-kernel-headers: Please install the 32-bit 'ppc' kernel headers on the ppc64 architecture



On 05-Aug-09 11:34, Christoph Hellwig wrote:
> On Mon, Aug 08, 2005 at 03:59:25PM -0400, Daniel Jacobowitz wrote:
> > Sid's /usr/include/asm doesn't use wrappers on most platforms.  On ia32
> > it will if you've got amd64-libs-dev installed.  Sparc does this in
> > l-k-h already.
> 
> On ppc it apparently does aswell:

Thanks for all comments and explanations regarding the biarch kernel
headers. 

I created a different patch which adds /usr/inclucde/asm wrapper support 
for ppc64 to the linux-kernel-headers package in a similar way to the
current ppc and sparc setup. 

Note that on ppc64 both '__powerpc__' and '__powerpc64__' get defined by 
gcc, so one has to use '#ifndef __powerpc64__' to check for a '-m32'
32-bit compilation.

Regards
Andreas Jochens

diff -urN ../tmp-orig/linux-kernel-headers-2.6.13+0rc3/debian/generate-asm.sh ./debian/generate-asm.sh
--- ../tmp-orig/linux-kernel-headers-2.6.13+0rc3/debian/generate-asm.sh	2005-08-09 07:22:47.000000000 +0000
+++ ./debian/generate-asm.sh	2005-08-09 06:59:30.000000000 +0000
@@ -14,12 +14,18 @@
 
 case "$arch" in
 	powerpc)
-		define_biarch="__powerpc64__"
+		define_biarch="#ifdef __powerpc64__"
 		kernel_arch="ppc"
 		kernel_arch_biarch="ppc64"
 		;;
+	ppc64)
+		define_biarch="#ifndef __powerpc64__"
+		kernel_arch="ppc64"
+		kernel_arch_biarch="ppc"
+		arch_biarch="powerpc"
+		;;
 	sparc)
-		define_biarch="__arch64__"
+		define_biarch="#ifdef __arch64__"
 		kernel_arch="sparc"
 		kernel_arch_biarch="sparc64"
 		;;
@@ -28,6 +34,8 @@
 		exit 1
 esac
 
+[ -z "$arch_biarch" ] && arch_biarch="$kernel_arch_biarch"
+
 asm_dir="asm-$kernel_arch"
 asm_dir_biarch="asm-$kernel_arch_biarch"
 
@@ -61,7 +69,7 @@
 	# common for sparc and sparc64
 	if [ -f $dir_in/$asm_dir/$h ] && [ -f $dir_in/$asm_dir_biarch/$h ]; then
 		cat >> $file_out <<EOF
-#ifdef $define_biarch
+$define_biarch
 # include <$asm_dir_biarch/$h>
 #else
 # include <$asm_dir/$h>
@@ -70,7 +78,7 @@
 
 	elif [ -f $dir_in/$asm_dir/$h ]; then
 		cat >> $file_out <<EOF
-#ifdef $define_biarch
+$define_biarch
 # error This header is not available for $kernel_arch_biarch
 #else
 # include <$asm_dir/$h>
@@ -78,7 +86,7 @@
 EOF
 	else
 		cat >> $file_out <<EOF
-#ifdef $define_biarch
+$define_biarch
 # include <$asm_dir_biarch/$h>
 #else
 # error This header is not available for $kernel_arch
@@ -95,7 +103,7 @@
 fi
 
 cp "$autoconf_in"/autoconf-"$arch".h $dir_out/$asm_dir/autoconf.h
-cp "$autoconf_in"/autoconf-"$kernel_arch_biarch".h $dir_out/$asm_dir_biarch/autoconf.h
+cp "$autoconf_in"/autoconf-"$arch_biarch".h $dir_out/$asm_dir_biarch/autoconf.h
 
 file_out="$dir_out/linux/autoconf.h"
 h=autoconf.h
@@ -104,7 +112,7 @@
  * file in $asm_dir or $asm_dir_biarch.
  */
 
-#ifdef $define_biarch
+$define_biarch
 # include <$asm_dir_biarch/$h>
 #else
 # include <$asm_dir/$h>
diff -urN ../tmp-orig/linux-kernel-headers-2.6.13+0rc3/debian/rules ./debian/rules
--- ../tmp-orig/linux-kernel-headers-2.6.13+0rc3/debian/rules	2005-08-09 07:22:47.000000000 +0000
+++ ./debian/rules	2005-08-08 20:52:55.000000000 +0000
@@ -31,7 +31,7 @@
 	install -d $(includedir)
 	install -d $(includedir)/linux
 
-ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc sparc))
+ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc ppc64 sparc))
 	sh debian/generate-asm.sh $(DEB_HOST_ARCH) include $(includedir) autoconfs
 else
 	cp -a include/asm-$(kernel_arch) $(includedir)/asm




Reply to: