xref: /haiku/headers/private/system/arch/m68k/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_M68K_ELF_H
6 #define _KERNEL_ARCH_M68K_ELF_H
7 
8 /* relocation types */
9 
10 #define	R_68K_NONE				0
11 #define	R_68K_32 1            /* Direct 32 bit  */
12 #define	R_68K_16 2            /* Direct 16 bit  */
13 #define	R_68K_8 3             /* Direct 8 bit  */
14 #define	R_68K_PC32 4          /* PC relative 32 bit */
15 #define	R_68K_PC16 5          /* PC relative 16 bit */
16 #define	R_68K_PC8 6           /* PC relative 8 bit */
17 #define	R_68K_GOT32 7         /* 32 bit PC relative GOT entry */
18 #define	R_68K_GOT16 8         /* 16 bit PC relative GOT entry */
19 #define	R_68K_GOT8 9          /* 8 bit PC relative GOT entry */
20 #define	R_68K_GOT32O 10       /* 32 bit GOT offset */
21 #define	R_68K_GOT16O 11       /* 16 bit GOT offset */
22 #define	R_68K_GOT8O 12        /* 8 bit GOT offset */
23 #define	R_68K_PLT32 13        /* 32 bit PC relative PLT address */
24 #define	R_68K_PLT16 14        /* 16 bit PC relative PLT address */
25 #define	R_68K_PLT8 15         /* 8 bit PC relative PLT address */
26 #define	R_68K_PLT32O 16       /* 32 bit PLT offset */
27 #define	R_68K_PLT16O 17       /* 16 bit PLT offset */
28 #define	R_68K_PLT8O 18        /* 8 bit PLT offset */
29 #define	R_68K_COPY 19         /* Copy symbol at runtime */
30 #define	R_68K_GLOB_DAT 20     /* Create GOT entry */
31 #define	R_68K_JMP_SLOT 21     /* Create PLT entry */
32 #define	R_68K_RELATIVE 22     /* Adjust by program base */
33 /* These are GNU extensions to enable C++ vtable garbage collection.  */
34 #define	R_68K_GNU_VTINHERIT 23
35 #define	R_68K_GNU_VTENTRY 24
36 
37 #define TLS_DTV_OFFSET 0
38 
39 #endif	/* _KERNEL_ARCH_M68K_ELF_H */
40