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

Bug#406744: linux-kernel-headers: __always_inline not defined outside __KERNEL__



Package: linux-kernel-headers
Version: 2.6.18-6
Severity: important

When including asm/system.h (I need a definition of wmb()), I'm
getting this error:

| In file included from /usr/include/asm/bitops.h:8,
|                  from /usr/include/linux/bitops.h:9,
|                  from /usr/include/asm-i486/cpufeature.h:10,
|                  from /usr/include/asm/cpufeature.h:8,
|                  from /usr/include/asm-i486/system.h:6,
|                  from /usr/include/asm/system.h:8,
|                  from barrier.h:4,
|                  from blktrace.c:48:
| /usr/include/asm-i486/bitops.h:244: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’

line 244 of bitops.h is:

| static __always_inline int constant_test_bit(int nr, const volatile unsigned long *addr)

so the __always_inline doesn't seem to be defined.  It's supposed to
be defined in linux/compiler.h, but there it's inside an #ifdef
__KERNEL__, making it unaccessible for user-space.

Simply defining __always_inline to inline before including
asm/system.h makes the error go away.


-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18.2
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

-- no debconf information



Reply to: