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