1570af302Sopenharmony_ci#define LDSO_ARCH "i386" 2570af302Sopenharmony_ci 3570af302Sopenharmony_ci#define REL_SYMBOLIC R_386_32 4570af302Sopenharmony_ci#define REL_OFFSET R_386_PC32 5570af302Sopenharmony_ci#define REL_GOT R_386_GLOB_DAT 6570af302Sopenharmony_ci#define REL_PLT R_386_JMP_SLOT 7570af302Sopenharmony_ci#define REL_RELATIVE R_386_RELATIVE 8570af302Sopenharmony_ci#define REL_COPY R_386_COPY 9570af302Sopenharmony_ci#define REL_DTPMOD R_386_TLS_DTPMOD32 10570af302Sopenharmony_ci#define REL_DTPOFF R_386_TLS_DTPOFF32 11570af302Sopenharmony_ci#define REL_TPOFF R_386_TLS_TPOFF 12570af302Sopenharmony_ci#define REL_TPOFF_NEG R_386_TLS_TPOFF32 13570af302Sopenharmony_ci#define REL_TLSDESC R_386_TLS_DESC 14570af302Sopenharmony_ci 15570af302Sopenharmony_ci#define CRTJMP(pc,sp) __asm__ __volatile__( \ 16570af302Sopenharmony_ci "mov %1,%%esp ; jmp *%0" : : "r"(pc), "r"(sp) : "memory" ) 17570af302Sopenharmony_ci 18570af302Sopenharmony_ci#define GETFUNCSYM(fp, sym, got) __asm__ ( \ 19570af302Sopenharmony_ci ".hidden " #sym "\n" \ 20570af302Sopenharmony_ci " call 1f\n" \ 21570af302Sopenharmony_ci "1: addl $" #sym "-.,(%%esp)\n" \ 22570af302Sopenharmony_ci " pop %0" \ 23570af302Sopenharmony_ci : "=r"(*fp) : : "memory" ) 24