OLD | NEW |
1 #include <endian.h> | 1 #include <endian.h> |
2 | 2 |
3 #if __BYTE_ORDER == __BIG_ENDIAN | 3 #if __BYTE_ORDER == __BIG_ENDIAN |
4 #define ENDIAN_SUFFIX "eb" | 4 #define ENDIAN_SUFFIX "eb" |
5 #else | 5 #else |
6 #define ENDIAN_SUFFIX "" | 6 #define ENDIAN_SUFFIX "" |
7 #endif | 7 #endif |
8 | 8 |
9 #if __ARM_PCS_VFP | 9 #if __ARM_PCS_VFP |
10 #define FP_SUFFIX "hf" | 10 #define FP_SUFFIX "hf" |
11 #else | 11 #else |
12 #define FP_SUFFIX "" | 12 #define FP_SUFFIX "" |
13 #endif | 13 #endif |
14 | 14 |
15 #define LDSO_ARCH "arm" ENDIAN_SUFFIX FP_SUFFIX | 15 #define LDSO_ARCH "arm" ENDIAN_SUFFIX FP_SUFFIX |
16 | 16 |
17 #define NO_LEGACY_INITFINI | 17 #define NO_LEGACY_INITFINI |
18 | 18 |
19 #define TPOFF_K 8 | 19 #define TPOFF_K 8 |
20 | 20 |
21 #define REL_SYMBOLIC R_ARM_ABS32 | 21 #define REL_SYMBOLIC R_ARM_ABS32 |
22 #define REL_GOT R_ARM_GLOB_DAT | 22 #define REL_GOT R_ARM_GLOB_DAT |
23 #define REL_PLT R_ARM_JUMP_SLOT | 23 #define REL_PLT R_ARM_JUMP_SLOT |
24 #define REL_RELATIVE R_ARM_RELATIVE | 24 #define REL_RELATIVE R_ARM_RELATIVE |
25 #define REL_COPY R_ARM_COPY | 25 #define REL_COPY R_ARM_COPY |
26 #define REL_DTPMOD R_ARM_TLS_DTPMOD32 | 26 #define REL_DTPMOD R_ARM_TLS_DTPMOD32 |
27 #define REL_DTPOFF R_ARM_TLS_DTPOFF32 | 27 #define REL_DTPOFF R_ARM_TLS_DTPOFF32 |
28 #define REL_TPOFF R_ARM_TLS_TPOFF32 | 28 #define REL_TPOFF R_ARM_TLS_TPOFF32 |
29 //#define REL_TLSDESC R_ARM_TLS_DESC | 29 //#define REL_TLSDESC R_ARM_TLS_DESC |
30 | 30 |
31 #define CRTJMP(pc,sp) __asm__ __volatile__( \ | 31 #define CRTJMP(pc, sp) \ |
32 » "mov sp,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory" ) | 32 __asm__ __volatile__("mov sp,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory") |
OLD | NEW |