1 /* $NetBSD: elf_machdep.h,v 1.7 2009/05/30 05:56:53 skrll Exp $ */ 2 3 #define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB 4 #define ELF32_MACHDEP_ID_CASES \ 5 case EM_SPARC: \ 6 case EM_SPARC32PLUS: \ 7 break; 8 9 #define ELF64_MACHDEP_ENDIANNESS ELFDATA2MSB 10 #define ELF64_MACHDEP_ID_CASES \ 11 case EM_SPARC32PLUS: \ 12 case EM_SPARCV9: \ 13 /* no 64-bit ELF machine types supported */ 14 15 #define ELF32_MACHDEP_ID EM_SPARC /* XXX right? */ 16 17 #define ARCH_ELFSIZE 32 /* MD native binary size */ 18 19 #define R_SPARC_NONE 0 20 #define R_SPARC_8 1 21 #define R_SPARC_16 2 22 #define R_SPARC_32 3 23 #define R_SPARC_DISP8 4 24 #define R_SPARC_DISP16 5 25 #define R_SPARC_DISP32 6 26 #define R_SPARC_WDISP30 7 27 #define R_SPARC_WDISP22 8 28 #define R_SPARC_HI22 9 29 #define R_SPARC_22 10 30 #define R_SPARC_13 11 31 #define R_SPARC_LO10 12 32 #define R_SPARC_GOT10 13 33 #define R_SPARC_GOT13 14 34 #define R_SPARC_GOT22 15 35 #define R_SPARC_PC10 16 36 #define R_SPARC_PC22 17 37 #define R_SPARC_WPLT30 18 38 #define R_SPARC_COPY 19 39 #define R_SPARC_GLOB_DAT 20 40 #define R_SPARC_JMP_SLOT 21 41 #define R_SPARC_RELATIVE 22 42 #define R_SPARC_UA32 23 43 #define R_SPARC_PLT32 24 44 #define R_SPARC_HIPLT22 25 45 #define R_SPARC_LOPLT10 26 46 #define R_SPARC_PCPLT32 27 47 #define R_SPARC_PCPLT22 28 48 #define R_SPARC_PCPLT10 29 49 #define R_SPARC_10 30 50 #define R_SPARC_11 31 51 #define R_SPARC_64 32 52 #define R_SPARC_OLO10 33 53 #define R_SPARC_HH22 34 54 #define R_SPARC_HM10 35 55 #define R_SPARC_LM22 36 56 #define R_SPARC_PC_HH22 37 57 #define R_SPARC_PC_HM10 38 58 #define R_SPARC_PC_LM22 39 59 #define R_SPARC_WDISP16 40 60 #define R_SPARC_WDISP19 41 61 #define R_SPARC_GLOB_JMP 42 62 #define R_SPARC_7 43 63 #define R_SPARC_5 44 64 #define R_SPARC_6 45 65 66 /* TLS relocations */ 67 #define R_SPARC_TLS_GD_HI22 56 68 #define R_SPARC_TLS_GD_LO10 57 69 #define R_SPARC_TLS_GD_ADD 58 70 #define R_SPARC_TLS_GD_CALL 59 71 #define R_SPARC_TLS_LDM_HI22 60 72 #define R_SPARC_TLS_LDM_LO10 61 73 #define R_SPARC_TLS_LDM_ADD 62 74 #define R_SPARC_TLS_LDM_CALL 63 75 #define R_SPARC_TLS_LDO_HIX22 64 76 #define R_SPARC_TLS_LDO_LOX10 65 77 #define R_SPARC_TLS_LDO_ADD 66 78 #define R_SPARC_TLS_IE_HI22 67 79 #define R_SPARC_TLS_IE_LO10 68 80 #define R_SPARC_TLS_IE_LD 69 81 #define R_SPARC_TLS_IE_LDX 70 82 #define R_SPARC_TLS_IE_ADD 71 83 #define R_SPARC_TLS_LE_HIX22 72 84 #define R_SPARC_TLS_LE_LOX10 73 85 #define R_SPARC_TLS_DTPMOD32 74 86 #define R_SPARC_TLS_DTPMOD64 75 87 #define R_SPARC_TLS_DTPOFF32 76 88 #define R_SPARC_TLS_DTPOFF64 77 89 #define R_SPARC_TLS_TPOFF32 78 90 #define R_SPARC_TLS_TPOFF64 79 91 92 #define R_TYPE(name) __CONCAT(R_SPARC_,name) 93