Timmy Douglas wrote:
(I'm not subscribed so please CC me replies that you want me to reply
to.)
Recently I've found a problem with emacs where gcc optimizes a
function to be inline where it shouldn't be. The emacs developers use
a macro like this:
#define NO_INLINE __attribute__((noinline))
that would normally work fine but when we compile the file with
NO_INLINE, the -E output looks like:
static void __attribute__(())
x_error_quitter (display, error)
Display *display;
XErrorEvent *error;
{
char buf[256], buf1[356];
...etc
I've realized that this file includes linux/compiler.h which does:
139
140 #ifndef noinline
141 #define noinline
142 #endif
143
which causes __atribute__((noinline)) to change into
__attribute__(()). I'm not sure how linux developers keep a function
from getting inlined, but I'm hoping someone will consider removing or
changing this macro.
The right question to be asking is why is emacs including kernel headers?
--
Brian Gerst
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]