#ifdef __aarch64__ # define STATIC_CHAIN_REG "x18" #elif defined(__alpha__) # define STATIC_CHAIN_REG "$1" #elif defined(__arm__) # define STATIC_CHAIN_REG "ip" #elif defined(__hppa__) # if defined(__LP64) # define define STATIC_CHAIN_REG "%r31" # else # define define STATIC_CHAIN_REG "%r29" /* %ret1 */ # endif #elif defined(__sparc__) # if defined(__arch64__) || defined(__sparcv9) # define STATIC_CHAIN_REG "g5" # else # define STATIC_CHAIN_REG "g2" # endif #elif defined(__x86_64__) # define STATIC_CHAIN_REG "r10" #elif defined(__i386__) # ifndef ABI_NUM # define STATIC_CHAIN_REG "ecx" /* FFI_DEFAULT_ABI only */ # endif #endif