ish/tools/staticdefine.h
2018-05-13 15:39:05 -07:00

17 lines
441 B
C

// credit goes to include/linux/kbuild.h
#define _DEFINE(sym, val) \
asm volatile("\n.ascii \"->" sym " %0 " #val "\"" : : "i" (val))
#define DEFINE(sym, val) \
_DEFINE(#sym, val)
#define BLANK() asm volatile("\n.ascii \"->\"" : : )
#define OFFSET(sym, str, mem) \
DEFINE(sym##_##mem, offsetof(struct str, mem))
#define MACRO(macro) \
_DEFINE(#macro, macro)
#define COMMENT(x) \
asm volatile("\n.ascii \"->#" x "\"")