/* Add the symbol prefix to the symbol as needed. Usage: SYMPFX(foo); */ #define __SYMPFX(pfx, sym) #pfx sym #define _SYMPFX(pfx, sym) __SYMPFX(pfx, sym) #define SYMPFX(sym) _SYMPFX(__USER_LABEL_PREFIX__, #sym) /* Generate a .symver reference with symbol prefixes. Usage: SYMVER(foo, foobar@ver); */ #define SYMVER(name, name2) __asm__(".symver " SYMPFX(name) "," SYMPFX(name2)) #if defined __powerpc64__ && defined _CALL_AIXDESC && !defined _CALL_LINUX #define FUNC_SYMVER(name, name2) SYMVER(name, name2); \ __asm__(".symver ." SYMPFX(name) ",." SYMPFX(name2)) #else #define FUNC_SYMVER(name, name2) SYMVER(name, name2) #endif