xref: /haiku/headers/private/system/arch/arm64/arch_elf.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /*
2  * Copyright 2019 Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _KERNEL_ARCH_ARM64_ELF_H
6 #define _KERNEL_ARCH_ARM64_ELF_H
7 
8 #define	R_AARCH64_NONE			0		/* No relocation */
9 #define	R_AARCH64_ABS64			257		/* Absolute offset */
10 #define	R_AARCH64_ABS32			258		/* Absolute, 32-bit overflow check */
11 #define	R_AARCH64_ABS16			259		/* Absolute, 16-bit overflow check */
12 #define	R_AARCH64_PREL64		260		/* PC relative */
13 #define	R_AARCH64_PREL32		261		/* PC relative, 32-bit overflow check */
14 #define	R_AARCH64_PREL16		262		/* PC relative, 16-bit overflow check */
15 #define	R_AARCH64_TSTBR14		279		/* TBZ/TBNZ immediate */
16 #define	R_AARCH64_CONDBR19		280		/* Conditional branch immediate */
17 #define	R_AARCH64_JUMP26		282		/* Branch immediate */
18 #define	R_AARCH64_CALL26		283		/* Call immediate */
19 #define	R_AARCH64_COPY			1024	/* Copy data from shared object */
20 #define	R_AARCH64_GLOB_DAT		1025	/* Set GOT entry to data address */
21 #define	R_AARCH64_JUMP_SLOT		1026	/* Set GOT entry to code address */
22 #define	R_AARCH64_RELATIVE 		1027	/* Add load address of shared object */
23 #define	R_AARCH64_TLS_DTPREL64	1028	/* Module-relative offset, 64 bit.  */
24 #define	R_AARCH64_TLS_DTPMOD64	1029	/* Module number, 64 bit.  */
25 #define	R_AARCH64_TLS_TPREL64 	1030	/* TP-relative offset, 64 bit.  */
26 #define	R_AARCH64_TLSDESC 		1031	/* Identify the TLS descriptor */
27 #define	R_AARCH64_IRELATIVE		1032	/* STT_GNU_IFUNC relocation.  */
28 
29 #endif	/* _KERNEL_ARCH_ARM64_ELF_H */
30