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

Bug#357001: linux-kernel-headers: asm/io.h doesn't compile on ia64



Package: linux-kernel-headers
Version: 2.6.13+0rc3-2.1
Severity: normal


Hi,

#include <asm/io.h>
int main(void) {
}

doesn't compile on ia64, and makes several packages FTBFS:

gcc -Wall test.c   -o test
In file included from test.c:1:
/usr/include/asm/io.h:325: error: syntax error before '*' token
/usr/include/asm/io.h: In function '___ia64_readb':
/usr/include/asm/io.h:327: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:331: error: syntax error before '*' token
/usr/include/asm/io.h: In function '___ia64_readw':
/usr/include/asm/io.h:333: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:337: error: syntax error before '*' token
/usr/include/asm/io.h: In function '___ia64_readl':
/usr/include/asm/io.h:339: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:343: error: syntax error before '*' token
/usr/include/asm/io.h: In function '___ia64_readq':
/usr/include/asm/io.h:345: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:349: error: syntax error before '*' token
/usr/include/asm/io.h: In function '__writeb':
/usr/include/asm/io.h:351: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:355: error: syntax error before '*' token
/usr/include/asm/io.h: In function '__writew':
/usr/include/asm/io.h:357: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:361: error: syntax error before '*' token
/usr/include/asm/io.h: In function '__writel':
/usr/include/asm/io.h:363: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:367: error: syntax error before '*' token
/usr/include/asm/io.h: In function '__writeq':
/usr/include/asm/io.h:369: error: syntax error before '__force'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:432: error: syntax error before '*' token
/usr/include/asm/io.h: In function 'ioremap':
/usr/include/asm/io.h:435: error: syntax error before '__iomem'
/usr/include/asm/io.h: At top level:
/usr/include/asm/io.h:439: error: syntax error before '*' token
test.c: In function 'main':
test.c:3: warning: control reaches end of non-void function
make: *** [test] Erreur 1

That's because __iomem and __force are defined in include/linux/compiler.h,
but that one is not included. Here is a suggested patch:

--- /usr/include/asm/io-orig.h	2006-03-15 09:48:34.369634120 +0100
+++ /usr/include/asm/io.h	2006-03-15 09:48:41.134349696 +0100
@@ -1,6 +1,8 @@
 #ifndef _ASM_IA64_IO_H
 #define _ASM_IA64_IO_H
 
+#include <linux/compiler.h>
+
 /*
  * This file contains the definitions for the emulated IO instructions
  * inb/inw/inl/outb/outw/outl and the "string versions" of the same

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: ia64
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.8-1-mckinley-smp
Locale: LANG=fr_FR@euro, LC_CTYPE=fr_FR@euro (charmap=ISO-8859-15)

-- no debconf information




Reply to: