| author | Rich Felker <dalias@aerifal.cx> | 2015年04月13日 02:56:26 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2015年04月13日 03:04:42 -0400 | 
| commit | f3ddd173806fd5c60b3f034528ca24542aecc5b9 (patch) | |
| tree | 63cc7432a3c40f011c4818de32ef6257acbf0e73 /arch/arm/reloc.h | |
| parent | 385c01112c083eb383d972da45836d497cc0556d (diff) | |
| download | musl-f3ddd173806fd5c60b3f034528ca24542aecc5b9.tar.gz  | |
| -rw-r--r-- | arch/arm/reloc.h | 36 | 
diff --git a/arch/arm/reloc.h b/arch/arm/reloc.h index ee39b7fd..dec0031e 100644 --- a/arch/arm/reloc.h +++ b/arch/arm/reloc.h @@ -1,5 +1,3 @@ -#include <string.h> -#include <elf.h>  #include <endian.h>  #if __BYTE_ORDER == __BIG_ENDIAN @@ -20,25 +18,15 @@  #define TPOFF_K 8 -static int remap_rel(int type) -{ -	switch(type) { -	case R_ARM_ABS32: -		return REL_SYMBOLIC; -	case R_ARM_GLOB_DAT: -		return REL_GOT; -	case R_ARM_JUMP_SLOT: -		return REL_PLT; -	case R_ARM_RELATIVE: -		return REL_RELATIVE; -	case R_ARM_COPY: -		return REL_COPY; -	case R_ARM_TLS_DTPMOD32: -		return REL_DTPMOD; -	case R_ARM_TLS_DTPOFF32: -		return REL_DTPOFF; -	case R_ARM_TLS_TPOFF32: -		return REL_TPOFF; -	} -	return 0; -} +#define REL_SYMBOLIC R_ARM_ABS32 +#define REL_GOT R_ARM_GLOB_DAT +#define REL_PLT R_ARM_JUMP_SLOT +#define REL_RELATIVE R_ARM_RELATIVE +#define REL_COPY R_ARM_COPY +#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 CRTJMP(pc,sp) __asm__ __volatile__( \ +	"mov sp,%1 ; tst %0,#1 ; moveq pc,%0 ; bx %0" : : "r"(pc), "r"(sp) : "memory" )  |