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

     1  #if __HAVE_68881__
     2  #define FP_SUFFIX ""
     3  #elif __mcffpu__
     4  #define FP_SUFFIX "-fp64"
     5  #else
     6  #define FP_SUFFIX "-sf"
     7  #endif
     8  
     9  #define LDSO_ARCH "m68k" FP_SUFFIX
    10  
    11  #define TPOFF_K (-0x7000)
    12  
    13  #define REL_SYMBOLIC    R_68K_32
    14  #define REL_OFFSET      R_68K_PC32
    15  #define REL_GOT         R_68K_GLOB_DAT
    16  #define REL_PLT         R_68K_JMP_SLOT
    17  #define REL_RELATIVE    R_68K_RELATIVE
    18  #define REL_COPY        R_68K_COPY
    19  #define REL_DTPMOD      R_68K_TLS_DTPMOD32
    20  #define REL_DTPOFF      R_68K_TLS_DTPREL32
    21  #define REL_TPOFF       R_68K_TLS_TPREL32
    22  
    23  #define CRTJMP(pc,sp) __asm__ __volatile__( \
    24  	"move.l %1,%%sp ; jmp (%0)" : : "r"(pc), "r"(sp) : "memory" )
    25  
    26  #define GETFUNCSYM(fp, sym, got) __asm__ ( \
    27  	".hidden " #sym "\n" \
    28  	"lea " #sym "-.-8,%0 \n" \
    29  	"lea (%%pc,%0),%0 \n" \
    30  	: "=a"(*fp) : : "memory" )