1 #if __BYTE_ORDER == __BIG_ENDIAN 2 #define ENDIAN_SUFFIX "eb" 3 #else 4 #define ENDIAN_SUFFIX "" 5 #endif 6 7 #if __ARM_PCS_VFP 8 #define FP_SUFFIX "hf" 9 #else 10 #define FP_SUFFIX "" 11 #endif 12 13 #define LDSO_ARCH "arm" ENDIAN_SUFFIX FP_SUFFIX 14 15 #define NO_LEGACY_INITFINI 16 17 #define TPOFF_K 0 18 19 #define REL_SYMBOLIC R_ARM_ABS32 20 #define REL_GOT R_ARM_GLOB_DAT 21 #define REL_PLT R_ARM_JUMP_SLOT 22 #define REL_RELATIVE R_ARM_RELATIVE 23 #define REL_COPY R_ARM_COPY 24 #define REL_DTPMOD R_ARM_TLS_DTPMOD32 25 #define REL_DTPOFF R_ARM_TLS_DTPOFF32 26 #define REL_TPOFF R_ARM_TLS_TPOFF32 27 #define REL_TLSDESC R_ARM_TLS_DESC 28 29 #define TLSDESC_BACKWARDS 30 31 #define CRTJMP(pc,sp) __asm__ __volatile__( \ 32 "mov r0,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory", "r0" ) 33