1#include <endian.h> 2 3#if __BYTE_ORDER == __BIG_ENDIAN 4#define ENDIAN_SUFFIX "_be" 5#else 6#define ENDIAN_SUFFIX "" 7#endif 8 9#define LDSO_ARCH "aarch64" ENDIAN_SUFFIX 10 11#define NO_LEGACY_INITFINI 12 13#define TPOFF_K 16 14 15#define REL_SYMBOLIC R_AARCH64_ABS64 16#define REL_GOT R_AARCH64_GLOB_DAT 17#define REL_PLT R_AARCH64_JUMP_SLOT 18#define REL_RELATIVE R_AARCH64_RELATIVE 19#define REL_COPY R_AARCH64_COPY 20#define REL_DTPMOD R_AARCH64_TLS_DTPMOD64 21#define REL_DTPOFF R_AARCH64_TLS_DTPREL64 22#define REL_TPOFF R_AARCH64_TLS_TPREL64 23#define REL_TLSDESC R_AARCH64_TLSDESC 24 25#define CRTJMP(pc,sp) __asm__ __volatile__( \ 26 "mov sp,%1 ; br %0" : : "r"(pc), "r"(sp) : "memory" ) 27