X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Farm%2Freloc.h;h=d091d2ad92fbf9e54a8c6b55f4f57c6ee6cee54d;hb=59b64ff686cef2a87e9552658b2c8d2531f87176;hp=e1ef3506e0c960bffb41bb517afd92cc74ffc086;hpb=c0f10cf06725bd0de37f3ced7954a653bf9f1049;p=musl diff --git a/arch/arm/reloc.h b/arch/arm/reloc.h index e1ef3506..d091d2ad 100644 --- a/arch/arm/reloc.h +++ b/arch/arm/reloc.h @@ -1,22 +1,20 @@ -#include - #if __BYTE_ORDER == __BIG_ENDIAN #define ENDIAN_SUFFIX "eb" #else #define ENDIAN_SUFFIX "" #endif -#if __SOFTFP__ -#define FP_SUFFIX "" -#else +#if __ARM_PCS_VFP #define FP_SUFFIX "hf" +#else +#define FP_SUFFIX "" #endif #define LDSO_ARCH "arm" ENDIAN_SUFFIX FP_SUFFIX #define NO_LEGACY_INITFINI -#define TPOFF_K 8 +#define TPOFF_K 0 #define REL_SYMBOLIC R_ARM_ABS32 #define REL_GOT R_ARM_GLOB_DAT @@ -26,12 +24,9 @@ #define REL_DTPMOD R_ARM_TLS_DTPMOD32 #define REL_DTPOFF R_ARM_TLS_DTPOFF32 #define REL_TPOFF R_ARM_TLS_TPOFF32 -//#define REL_TLSDESC R_ARM_TLS_DESC +#define REL_TLSDESC R_ARM_TLS_DESC + +#define TLSDESC_BACKWARDS -#ifdef __thumb__ #define CRTJMP(pc,sp) __asm__ __volatile__( \ "mov sp,%1 ; bx %0" : : "r"(pc), "r"(sp) : "memory" ) -#else -#define CRTJMP(pc,sp) __asm__ __volatile__( \ - "mov sp,%1 ; tst %0,#1 ; moveq pc,%0 ; bx %0" : : "r"(pc), "r"(sp) : "memory" ) -#endif