reloc.h raw

   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" )
  31