Bug#366369: linux-kernel-headers: Mismatched conditional in compiler.h
Package: linux-kernel-headers
Version: 2.6.13+0rc3-2.1
Severity: normal
File: /usr/include/linux/compiler.h
Preprocessing the following C code:
#include <signal.h>
__attribute__((noinline))
produces
__attribute__(())
which breaks user code that expects that to successfully uninline
function calls.
The preprocessor conditionals in compiler.h is messed up. The
#endif /* __KERNEL__ */ at line 169 actually matches
#ifndef __ASSEMBLY__ on line 4. In turn, the #if !defined(__KERNEL__)
matches #endif /* __ASSEMBLY__ */ on line 92. I think moving line 92
to line 170 gives the intended code, but I'm not sure.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15+2006.03.18
Locale: LANG=ja_JP.eucJP, LC_CTYPE=ja_JP.eucJP (charmap=EUC-JP) (ignored: LC_ALL set to ja_JP.eucJP)
-- no debconf information
Reply to: