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: