diff options
Diffstat (limited to 'include/linux/kernel.h')
| -rw-r--r-- | include/linux/kernel.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 645231c373c8..c0d34420a913 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -480,15 +480,16 @@ do { \ | |||
| 480 | 480 | ||
| 481 | #define trace_printk(fmt, args...) \ | 481 | #define trace_printk(fmt, args...) \ |
| 482 | do { \ | 482 | do { \ |
| 483 | static const char *trace_printk_fmt \ | ||
| 484 | __attribute__((section("__trace_printk_fmt"))) = \ | ||
| 485 | __builtin_constant_p(fmt) ? fmt : NULL; \ | ||
| 486 | \ | ||
| 483 | __trace_printk_check_format(fmt, ##args); \ | 487 | __trace_printk_check_format(fmt, ##args); \ |
| 484 | if (__builtin_constant_p(fmt)) { \ | ||
| 485 | static const char *trace_printk_fmt \ | ||
| 486 | __attribute__((section("__trace_printk_fmt"))) = \ | ||
| 487 | __builtin_constant_p(fmt) ? fmt : NULL; \ | ||
| 488 | \ | 488 | \ |
| 489 | if (__builtin_constant_p(fmt)) \ | ||
| 489 | __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ | 490 | __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ |
| 490 | } else \ | 491 | else \ |
| 491 | __trace_printk(_THIS_IP_, fmt, ##args); \ | 492 | __trace_printk(_THIS_IP_, fmt, ##args); \ |
| 492 | } while (0) | 493 | } while (0) |
| 493 | 494 | ||
| 494 | extern __printf(2, 3) | 495 | extern __printf(2, 3) |
