xref: /haiku/headers/private/system/arch/ppc/arch_elf.h (revision 46b7da1f4f40f7157d74fc7fb26ff9ec7f2416f2)
1 /*
2 ** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3 ** Distributed under the terms of the MIT License.
4 */
5 #ifndef _KERNEL_ARCH_PPC_ELF_H
6 #define _KERNEL_ARCH_PPC_ELF_H
7 
8 /* relocation types */
9 
10 #define	R_PPC_NONE				0
11 #define	R_PPC_ADDR32			1
12 #define	R_PPC_ADDR24			2
13 #define	R_PPC_ADDR16			3
14 #define	R_PPC_ADDR16_LO			4
15 #define	R_PPC_ADDR16_HI			5
16 #define	R_PPC_ADDR16_HA			6
17 #define	R_PPC_ADDR14			7
18 #define	R_PPC_ADDR14_BRTAKEN	8
19 #define	R_PPC_ADDR14_BRNTAKEN	9
20 #define	R_PPC_REL24				10
21 #define	R_PPC_REL14				11
22 #define	R_PPC_REL14_BRTAKEN		12
23 #define	R_PPC_REL14_BRNTAKEN	13
24 #define	R_PPC_GOT16				14
25 #define	R_PPC_GOT16_LO			15
26 #define	R_PPC_GOT16_HI			16
27 #define	R_PPC_GOT16_HA			17
28 #define	R_PPC_PLTREL24			18
29 #define	R_PPC_COPY				19
30 #define	R_PPC_GLOB_DAT			20
31 #define	R_PPC_JMP_SLOT			21
32 #define	R_PPC_RELATIVE			22
33 #define	R_PPC_LOCAL24PC			23
34 #define	R_PPC_UADDR32			24
35 #define	R_PPC_UADDR16			25
36 #define	R_PPC_REL32				26
37 #define	R_PPC_PLT32				27
38 #define	R_PPC_PLTREL32			28
39 #define	R_PPC_PLT16_LO			29
40 #define	R_PPC_PLT16_HI			30
41 #define	R_PPC_PLT16_HA			31
42 #define	R_PPC_SDAREL16			32
43 #define	R_PPC_SECTOFF			33
44 #define	R_PPC_SECTOFF_LO		34
45 #define	R_PPC_SECTOFF_HI		35
46 #define	R_PPC_SECTOFF_HA		36
47 #define	R_PPC_ADDR30			37
48 
49 #define TLS_DTV_OFFSET 0
50 
51 #endif	/* _KERNEL_ARCH_PPC_ELF_H */
52