| 1 | /* Add the symbol prefix to the symbol as needed. |
| 2 | Usage: SYMPFX(foo); */ |
| 3 | #define __SYMPFX(pfx, sym) #pfx sym |
| 4 | #define _SYMPFX(pfx, sym) __SYMPFX(pfx, sym) |
| 5 | #define SYMPFX(sym) _SYMPFX(__USER_LABEL_PREFIX__, #sym) |
| 6 | |
| 7 | /* Generate a .symver reference with symbol prefixes. |
| 8 | Usage: SYMVER(foo, foobar@ver); */ |
| 9 | #define SYMVER(name, name2) __asm__(".symver " SYMPFX(name) "," SYMPFX(name2)) |
| 10 | |
| 11 | #if defined __powerpc64__ && defined _CALL_AIXDESC && !defined _CALL_LINUX |
| 12 | #define FUNC_SYMVER(name, name2) SYMVER(name, name2); \ |
| 13 | __asm__(".symver ." SYMPFX(name) ",." SYMPFX(name2)) |
| 14 | #else |
| 15 | #define FUNC_SYMVER(name, name2) SYMVER(name, name2) |
| 16 | #endif |