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 0 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