11.10Schristos/* $NetBSD: elf_machdep.h,v 1.10 2017/11/06 03:47:48 christos Exp $ */ 21.1Scgd 31.4Skleink#define ELF32_MACHDEP_ENDIANNESS ELFDATA2MSB 41.1Scgd#define ELF32_MACHDEP_ID_CASES \ 51.4Skleink case EM_SPARC: \ 61.4Skleink case EM_SPARC32PLUS: \ 71.1Scgd break; 81.1Scgd 91.8Smartin#define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */ 101.1Scgd#define ELF64_MACHDEP_ID_CASES \ 111.1Scgd /* no 64-bit ELF machine types supported */ 121.6Sthorpej 131.8Smartin#define ELF32_MACHDEP_ID EM_SPARC 141.5Sminoura 151.10Schristos#define KERN_ELFSIZE 32 161.5Sminoura#define ARCH_ELFSIZE 32 /* MD native binary size */ 171.2Stv 181.2Stv#define R_SPARC_NONE 0 191.2Stv#define R_SPARC_8 1 201.2Stv#define R_SPARC_16 2 211.2Stv#define R_SPARC_32 3 221.2Stv#define R_SPARC_DISP8 4 231.2Stv#define R_SPARC_DISP16 5 241.2Stv#define R_SPARC_DISP32 6 251.2Stv#define R_SPARC_WDISP30 7 261.2Stv#define R_SPARC_WDISP22 8 271.2Stv#define R_SPARC_HI22 9 281.2Stv#define R_SPARC_22 10 291.2Stv#define R_SPARC_13 11 301.2Stv#define R_SPARC_LO10 12 311.2Stv#define R_SPARC_GOT10 13 321.2Stv#define R_SPARC_GOT13 14 331.2Stv#define R_SPARC_GOT22 15 341.2Stv#define R_SPARC_PC10 16 351.2Stv#define R_SPARC_PC22 17 361.2Stv#define R_SPARC_WPLT30 18 371.2Stv#define R_SPARC_COPY 19 381.2Stv#define R_SPARC_GLOB_DAT 20 391.2Stv#define R_SPARC_JMP_SLOT 21 401.2Stv#define R_SPARC_RELATIVE 22 411.2Stv#define R_SPARC_UA32 23 421.2Stv#define R_SPARC_PLT32 24 431.2Stv#define R_SPARC_HIPLT22 25 441.2Stv#define R_SPARC_LOPLT10 26 451.2Stv#define R_SPARC_PCPLT32 27 461.2Stv#define R_SPARC_PCPLT22 28 471.2Stv#define R_SPARC_PCPLT10 29 481.2Stv#define R_SPARC_10 30 491.2Stv#define R_SPARC_11 31 501.2Stv#define R_SPARC_64 32 511.2Stv#define R_SPARC_OLO10 33 521.2Stv#define R_SPARC_HH22 34 531.2Stv#define R_SPARC_HM10 35 541.2Stv#define R_SPARC_LM22 36 551.2Stv#define R_SPARC_PC_HH22 37 561.2Stv#define R_SPARC_PC_HM10 38 571.2Stv#define R_SPARC_PC_LM22 39 581.2Stv#define R_SPARC_WDISP16 40 591.2Stv#define R_SPARC_WDISP19 41 601.2Stv#define R_SPARC_GLOB_JMP 42 611.2Stv#define R_SPARC_7 43 621.2Stv#define R_SPARC_5 44 631.2Stv#define R_SPARC_6 45 641.2Stv 651.7Sskrll/* TLS relocations */ 661.7Sskrll#define R_SPARC_TLS_GD_HI22 56 671.7Sskrll#define R_SPARC_TLS_GD_LO10 57 681.7Sskrll#define R_SPARC_TLS_GD_ADD 58 691.7Sskrll#define R_SPARC_TLS_GD_CALL 59 701.7Sskrll#define R_SPARC_TLS_LDM_HI22 60 711.7Sskrll#define R_SPARC_TLS_LDM_LO10 61 721.7Sskrll#define R_SPARC_TLS_LDM_ADD 62 731.7Sskrll#define R_SPARC_TLS_LDM_CALL 63 741.7Sskrll#define R_SPARC_TLS_LDO_HIX22 64 751.7Sskrll#define R_SPARC_TLS_LDO_LOX10 65 761.7Sskrll#define R_SPARC_TLS_LDO_ADD 66 771.7Sskrll#define R_SPARC_TLS_IE_HI22 67 781.7Sskrll#define R_SPARC_TLS_IE_LO10 68 791.7Sskrll#define R_SPARC_TLS_IE_LD 69 801.7Sskrll#define R_SPARC_TLS_IE_LDX 70 811.7Sskrll#define R_SPARC_TLS_IE_ADD 71 821.7Sskrll#define R_SPARC_TLS_LE_HIX22 72 831.7Sskrll#define R_SPARC_TLS_LE_LOX10 73 841.7Sskrll#define R_SPARC_TLS_DTPMOD32 74 851.7Sskrll#define R_SPARC_TLS_DTPMOD64 75 861.7Sskrll#define R_SPARC_TLS_DTPOFF32 76 871.7Sskrll#define R_SPARC_TLS_DTPOFF64 77 881.7Sskrll#define R_SPARC_TLS_TPOFF32 78 891.7Sskrll#define R_SPARC_TLS_TPOFF64 79 901.7Sskrll 911.9Sjoerg#define R_SPARC_JMP_IREL 248 921.9Sjoerg#define R_SPARC_IRELATIVE 249 931.9Sjoerg 941.2Stv#define R_TYPE(name) __CONCAT(R_SPARC_,name) 95