elf_machdep.h revision 1.7
11.7Sskrll/*	$NetBSD: elf_machdep.h,v 1.7 2009/05/30 05:56:53 skrll 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.4Skleink#define	ELF64_MACHDEP_ENDIANNESS	ELFDATA2MSB
101.1Scgd#define	ELF64_MACHDEP_ID_CASES						\
111.4Skleink		case EM_SPARC32PLUS:					\
121.4Skleink		case EM_SPARCV9:					\
131.1Scgd		/* no 64-bit ELF machine types supported */
141.6Sthorpej
151.6Sthorpej#define	ELF32_MACHDEP_ID	EM_SPARC	/* XXX right? */
161.5Sminoura
171.5Sminoura#define ARCH_ELFSIZE		32	/* MD native binary size */
181.2Stv
191.2Stv#define R_SPARC_NONE		0
201.2Stv#define R_SPARC_8		1
211.2Stv#define R_SPARC_16		2
221.2Stv#define R_SPARC_32		3
231.2Stv#define R_SPARC_DISP8		4
241.2Stv#define R_SPARC_DISP16		5
251.2Stv#define R_SPARC_DISP32		6
261.2Stv#define R_SPARC_WDISP30		7
271.2Stv#define R_SPARC_WDISP22		8
281.2Stv#define R_SPARC_HI22		9
291.2Stv#define R_SPARC_22		10
301.2Stv#define R_SPARC_13		11
311.2Stv#define R_SPARC_LO10		12
321.2Stv#define R_SPARC_GOT10		13
331.2Stv#define R_SPARC_GOT13		14
341.2Stv#define R_SPARC_GOT22		15
351.2Stv#define R_SPARC_PC10		16
361.2Stv#define R_SPARC_PC22		17
371.2Stv#define R_SPARC_WPLT30		18
381.2Stv#define R_SPARC_COPY		19
391.2Stv#define R_SPARC_GLOB_DAT	20
401.2Stv#define R_SPARC_JMP_SLOT	21
411.2Stv#define R_SPARC_RELATIVE	22
421.2Stv#define R_SPARC_UA32		23
431.2Stv#define R_SPARC_PLT32		24
441.2Stv#define R_SPARC_HIPLT22		25
451.2Stv#define R_SPARC_LOPLT10		26
461.2Stv#define R_SPARC_PCPLT32		27
471.2Stv#define R_SPARC_PCPLT22		28
481.2Stv#define R_SPARC_PCPLT10		29
491.2Stv#define R_SPARC_10		30
501.2Stv#define R_SPARC_11		31
511.2Stv#define R_SPARC_64		32
521.2Stv#define R_SPARC_OLO10		33
531.2Stv#define R_SPARC_HH22		34
541.2Stv#define R_SPARC_HM10		35
551.2Stv#define R_SPARC_LM22		36
561.2Stv#define R_SPARC_PC_HH22		37
571.2Stv#define R_SPARC_PC_HM10		38
581.2Stv#define R_SPARC_PC_LM22		39
591.2Stv#define R_SPARC_WDISP16		40
601.2Stv#define R_SPARC_WDISP19		41
611.2Stv#define R_SPARC_GLOB_JMP	42
621.2Stv#define R_SPARC_7		43
631.2Stv#define R_SPARC_5		44
641.2Stv#define R_SPARC_6		45
651.2Stv
661.7Sskrll/* TLS relocations */
671.7Sskrll#define R_SPARC_TLS_GD_HI22	56
681.7Sskrll#define R_SPARC_TLS_GD_LO10	57
691.7Sskrll#define R_SPARC_TLS_GD_ADD	58
701.7Sskrll#define R_SPARC_TLS_GD_CALL	59
711.7Sskrll#define R_SPARC_TLS_LDM_HI22	60
721.7Sskrll#define R_SPARC_TLS_LDM_LO10	61
731.7Sskrll#define R_SPARC_TLS_LDM_ADD	62
741.7Sskrll#define R_SPARC_TLS_LDM_CALL	63
751.7Sskrll#define R_SPARC_TLS_LDO_HIX22	64
761.7Sskrll#define R_SPARC_TLS_LDO_LOX10	65
771.7Sskrll#define R_SPARC_TLS_LDO_ADD	66
781.7Sskrll#define R_SPARC_TLS_IE_HI22	67
791.7Sskrll#define R_SPARC_TLS_IE_LO10	68
801.7Sskrll#define R_SPARC_TLS_IE_LD	69
811.7Sskrll#define R_SPARC_TLS_IE_LDX	70
821.7Sskrll#define R_SPARC_TLS_IE_ADD	71
831.7Sskrll#define R_SPARC_TLS_LE_HIX22	72
841.7Sskrll#define R_SPARC_TLS_LE_LOX10	73
851.7Sskrll#define R_SPARC_TLS_DTPMOD32	74
861.7Sskrll#define R_SPARC_TLS_DTPMOD64	75
871.7Sskrll#define R_SPARC_TLS_DTPOFF32	76
881.7Sskrll#define R_SPARC_TLS_DTPOFF64	77
891.7Sskrll#define R_SPARC_TLS_TPOFF32	78
901.7Sskrll#define R_SPARC_TLS_TPOFF64	79
911.7Sskrll
921.2Stv#define R_TYPE(name)		__CONCAT(R_SPARC_,name)
93