Fixes the objtool warning seen with Clang: arch/x86/mm/fault.o: warning: objtool: no_context()+0x220: unreachable instruction Fixes commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive") Josh noted that the fallback definition was meant to work around a pre-gcc-4.6 bug. GCC still needs to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82365, so compiler-gcc.h defines its own version of unreachable(). Clang and ICC can use this shared definition.
Unified · Split
| @@ -124,7 +124,10 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val, · 123 unmodified lines | |||
| 124 | # define ASM_UNREACHABLE | 124 | # define ASM_UNREACHABLE |
| 125 | #endif | 125 | #endif |
| 126 | #ifndef unreachable | 126 | #ifndef unreachable |
| 127 | # define unreachable() do { annotate_reachable(); do { } while (1); } while (0) | 127 | # define unreachable() do { \ |
| 128 | annotate_unreachable(); \ | ||
| 129 | __builtin_unreachable(); \ | ||
| 130 | } while (0) | ||
| 128 | #endif | 131 | #endif |
| 129 | 132 | ||
| 130 | /* | 133 | /* |