On 2018-11-07 11:01 a.m., Nadav Amit wrote: > Ideas? Do people care about it? Just spit balling, but is there a reason we didn't just put the macros for inline assembly directly in the header? Something like this: asm(".macro ANNOTATE_UNREACHABLE counter:req\n\t" "\\counter:\n\t" ".pushsection .discard.unreachable\n\t" ".long \\counter\\()b -.\n\t" ".popsection\n\t" ".endm\n"); #define annotate_unreachable() ({ \ asm volatile("ANNOTATE_UNREACHABLE counter=%c0" \ : : "i" (__COUNTER__)); \ }) It does mean the macros won't be usable in non-inline assembly, without duplicating them, but do we care about that? I would have expected people compiling the kernel with distcc to be fairly common -- it certainly speeds up my kernel compiles quite significantly and thus saves me a lot of time. Logan