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