github.com/afumu/libc@v0.0.6/musl/arch/arm/reloc.h (about)

     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 sp,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory" )