1 #include <linux/stddef.h> 2 #include <linux/sched.h> 3 #include <linux/elf.h> 4 #include <linux/crypto.h> 5 #include <asm/mman.h> 6 7 #define DEFINE(sym, val) \ 8 asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 9 10 #define STR(x) #x 11 #define DEFINE_STR(sym, val) asm volatile("\n->" #sym " " STR(val) " " #val: : ) 12 13 #define BLANK() asm volatile("\n->" : : ) 14 15 #define OFFSET(sym, str, mem) \ 16 DEFINE(sym, offsetof(struct str, mem)); 17 18 void foo(void) 19 { 20 #include <common-offsets.h> 21 } 22