__STRING
#define STR(x) __STRING(x) /* shorter macro name for MD_RCRT0_START */
#define HIDDEN_STRING(x) "_libc_" __STRING(x)
#define CANCEL_STRING(x) "_libc_" __STRING(x) "_cancel"
#define WRAP_STRING(x) "_libc_" __STRING(x) "_wrap"
#define HIDDEN_STRING(x) "_libm_" __STRING(x)
#define HIDDEN_STRING(x) "_libpthread_" __STRING(x)
ATF_REQUIRE_EQ(result, (__STRING(func(_d)), _r)); \
__asm__ volatile ("tb0 0, %r0, " __STRING(num) ); \
#define __S(S) __STRING(S)
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
#define __S(S) __STRING(S)
#define __S(S) __STRING(S)
#define __S(S) __STRING(S)
#define __S(S) __STRING(S)
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__("bl " __STRING(_mcount) PLTSYM); \
__asm volatile("mrs %0, " __STRING(reg) : "=&r" (val)); \
__asm volatile("msr " __STRING(reg) ", %0" : : "r"((uint64_t)val))
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
" bl " __STRING(_mcount) PLTSYM ";" \
__asm__(".export " __STRING(alias) ", entry\n\t.global " \
__STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym))
__asm__(".export " __STRING(alias) ", entry\n\t.weak " \
__STRING(alias) "\n\t" __STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
" call " __STRING(_mcount) PLTSYM " \n" \
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
" = " __STRING(sym))
__asm__(".weak " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
__asm__(".section .gnu.warning." __STRING(sym) \
__asm__(".global " __STRING(alias) " ; " \
__STRING(alias) " = " __STRING(sym))
#define CMPL(x) __STRING(x),
#define SVAR(var) __STRING(var) /* to force expansion */