OLD | NEW |
1 #define LDSO_ARCH "powerpc" | 1 #define LDSO_ARCH "powerpc" |
2 | 2 |
3 #define TPOFF_K (-0x7000) | 3 #define TPOFF_K (-0x7000) |
4 | 4 |
5 #define REL_SYMBOLIC R_PPC_ADDR32 | 5 #define REL_SYMBOLIC R_PPC_ADDR32 |
6 #define REL_GOT R_PPC_GLOB_DAT | 6 #define REL_GOT R_PPC_GLOB_DAT |
7 #define REL_PLT R_PPC_JMP_SLOT | 7 #define REL_PLT R_PPC_JMP_SLOT |
8 #define REL_RELATIVE R_PPC_RELATIVE | 8 #define REL_RELATIVE R_PPC_RELATIVE |
9 #define REL_COPY R_PPC_COPY | 9 #define REL_COPY R_PPC_COPY |
10 #define REL_DTPMOD R_PPC_DTPMOD32 | 10 #define REL_DTPMOD R_PPC_DTPMOD32 |
11 #define REL_DTPOFF R_PPC_DTPREL32 | 11 #define REL_DTPOFF R_PPC_DTPREL32 |
12 #define REL_TPOFF R_PPC_TPREL32 | 12 #define REL_TPOFF R_PPC_TPREL32 |
13 | 13 |
14 #define CRTJMP(pc,sp) __asm__ __volatile__( \ | 14 #define CRTJMP(pc, sp) \ |
15 » "mr 1,%1 ; mtlr %0 ; blr" : : "r"(pc), "r"(sp) : "memory" ) | 15 __asm__ __volatile__("mr 1,%1 ; mtlr %0 ; blr" \ |
| 16 : \ |
| 17 : "r"(pc), "r"(sp) \ |
| 18 : "memory") |
16 | 19 |
17 #define GETFUNCSYM(fp, sym, got) __asm__ ( \ | 20 #define GETFUNCSYM(fp, sym, got) \ |
18 » ".hidden " #sym " \n" \ | 21 __asm__(".hidden " #sym \ |
19 » "» bl 1f \n" \ | 22 " \n" \ |
20 » "» .long " #sym "-. \n" \ | 23 "» bl 1f \n" \ |
21 » "1:» mflr %1 \n" \ | 24 "» .long " #sym \ |
22 » "» lwz %0, 0(%1) \n" \ | 25 "-. \n" \ |
23 » "» add %0, %0, %1 \n" \ | 26 "1:» mflr %1 \n" \ |
24 » : "=r"(*(fp)), "=r"((int){0}) : : "memory", "lr" ) | 27 "» lwz %0, 0(%1) \n" \ |
| 28 "» add %0, %0, %1 \n" \ |
| 29 : "=r"(*(fp)), "=r"((int){0}) \ |
| 30 : \ |
| 31 : "memory", "lr") |
OLD | NEW |