1570af302Sopenharmony_ci#if __HAVE_68881__ 2570af302Sopenharmony_ci#define FP_SUFFIX "" 3570af302Sopenharmony_ci#elif __mcffpu__ 4570af302Sopenharmony_ci#define FP_SUFFIX "-fp64" 5570af302Sopenharmony_ci#else 6570af302Sopenharmony_ci#define FP_SUFFIX "-sf" 7570af302Sopenharmony_ci#endif 8570af302Sopenharmony_ci 9570af302Sopenharmony_ci#define LDSO_ARCH "m68k" FP_SUFFIX 10570af302Sopenharmony_ci 11570af302Sopenharmony_ci#define TPOFF_K (-0x7000) 12570af302Sopenharmony_ci 13570af302Sopenharmony_ci#define REL_SYMBOLIC R_68K_32 14570af302Sopenharmony_ci#define REL_OFFSET R_68K_PC32 15570af302Sopenharmony_ci#define REL_GOT R_68K_GLOB_DAT 16570af302Sopenharmony_ci#define REL_PLT R_68K_JMP_SLOT 17570af302Sopenharmony_ci#define REL_RELATIVE R_68K_RELATIVE 18570af302Sopenharmony_ci#define REL_COPY R_68K_COPY 19570af302Sopenharmony_ci#define REL_DTPMOD R_68K_TLS_DTPMOD32 20570af302Sopenharmony_ci#define REL_DTPOFF R_68K_TLS_DTPREL32 21570af302Sopenharmony_ci#define REL_TPOFF R_68K_TLS_TPREL32 22570af302Sopenharmony_ci 23570af302Sopenharmony_ci#define CRTJMP(pc,sp) __asm__ __volatile__( \ 24570af302Sopenharmony_ci "move.l %1,%%sp ; jmp (%0)" : : "r"(pc), "r"(sp) : "memory" ) 25570af302Sopenharmony_ci 26570af302Sopenharmony_ci#define GETFUNCSYM(fp, sym, got) __asm__ ( \ 27570af302Sopenharmony_ci ".hidden " #sym "\n" \ 28570af302Sopenharmony_ci "lea " #sym "-.-8,%0 \n" \ 29570af302Sopenharmony_ci "lea (%%pc,%0),%0 \n" \ 30570af302Sopenharmony_ci : "=a"(*fp) : : "memory" ) 31