reloc.h 793 B

123456789101112131415161718192021222324252627282930
  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. #define LDSO_ARCH "m68k" FP_SUFFIX
  9. #define TPOFF_K (-0x7000)
  10. #define REL_SYMBOLIC R_68K_32
  11. #define REL_OFFSET R_68K_PC32
  12. #define REL_GOT R_68K_GLOB_DAT
  13. #define REL_PLT R_68K_JMP_SLOT
  14. #define REL_RELATIVE R_68K_RELATIVE
  15. #define REL_COPY R_68K_COPY
  16. #define REL_DTPMOD R_68K_TLS_DTPMOD32
  17. #define REL_DTPOFF R_68K_TLS_DTPREL32
  18. #define REL_TPOFF R_68K_TLS_TPREL32
  19. #define CRTJMP(pc,sp) __asm__ __volatile__( \
  20. "move.l %1,%%sp ; jmp (%0)" : : "r"(pc), "r"(sp) : "memory" )
  21. #define GETFUNCSYM(fp, sym, got) __asm__ ( \
  22. ".hidden " #sym "\n" \
  23. "lea " #sym "-.-8,%0 \n" \
  24. "lea (%%pc,%0),%0 \n" \
  25. : "=a"(*fp) : : "memory" )