[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



Hello,

the attached patch also adds support for /usr/include/asm wrappers
for the i386 and amd64 architectures to linux-kernel-headers. 

This will allow the build of 32/64 bit alternative libc libraries 
on the amd64/i386 architectures.

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 10:44:32.000000000 +0000
+++ ./debian/generate-asm.sh	2005-08-09 09:51:58.000000000 +0000
@@ -13,13 +13,29 @@
 fi
 
 case "$arch" in
+	amd64)
+		define_biarch="#ifdef __i386__"
+		kernel_arch="x86_64"
+		kernel_arch_biarch="i386"
+		;;
+	i386)
+		define_biarch="#ifdef __x86_64__"
+		kernel_arch="i386"
+		kernel_arch_biarch="x86_64"
+		;;
 	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 +44,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 +79,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 +88,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 +96,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 +113,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 +122,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 10:44:32.000000000 +0000
+++ ./debian/rules	2005-08-09 08:59:44.000000000 +0000
@@ -31,21 +31,13 @@
 	install -d $(includedir)
 	install -d $(includedir)/linux
 
-ifneq (,$(findstring $(DEB_HOST_ARCH), powerpc sparc))
+ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 i386 powerpc ppc64 sparc))
 	sh debian/generate-asm.sh $(DEB_HOST_ARCH) include $(includedir) autoconfs
 else
 	cp -a include/asm-$(kernel_arch) $(includedir)/asm
 	cp autoconfs/autoconf-$(DEB_HOST_ARCH).h $(includedir)/linux/autoconf.h
 endif
 
-ifeq ($(kernel_arch),x86_64)
-	# install the i386 kernel headers in /usr/include/i386-linux
-	mkdir -p $(includedir)/i386-linux
-	ln -s ../linux $(includedir)/i386-linux
-	ln -s ../asm-generic $(includedir)/i386-linux
-	cp -a include/asm-i386 $(includedir)/i386-linux/asm
-endif
-
 ifeq ($(kernel_arch),arm)
 	# ARM needs some extra symlinks.
 	rm -f $(includedir)/asm/proc




Reply to: