Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / i386 / elf_machdep.h @ 13

History | View | Annotate | Download (1.55 KB)

1
/*        $NetBSD: elf_machdep.h,v 1.10 2009/05/30 05:56:52 skrll Exp $        */
2

    
3
#define        ELF32_MACHDEP_ENDIANNESS        ELFDATA2LSB
4
#define        ELF32_MACHDEP_ID_CASES                                                \
5
                case EM_386:                                                \
6
                case EM_486:                                                \
7
                        break;
8

    
9
#define        ELF64_MACHDEP_ENDIANNESS        XXX        /* break compilation */
10
#define        ELF64_MACHDEP_ID_CASES                                                \
11
                /* no 64-bit ELF machine types supported */
12

    
13
#define        ELF32_MACHDEP_ID                EM_386
14

    
15
#define ARCH_ELFSIZE                32        /* MD native binary size */
16

    
17
/* i386 relocations */
18
#define        R_386_NONE        0
19
#define        R_386_32        1
20
#define        R_386_PC32        2
21
#define        R_386_GOT32        3
22
#define        R_386_PLT32        4
23
#define        R_386_COPY        5
24
#define        R_386_GLOB_DAT        6
25
#define        R_386_JMP_SLOT        7
26
#define        R_386_RELATIVE        8
27
#define        R_386_GOTOFF        9
28
#define        R_386_GOTPC        10
29

    
30
/* TLS relocations */
31
#define        R_386_TLS_TPOFF        14
32
#define        R_386_TLS_IE        15
33
#define        R_386_TLS_GOTIE        16
34
#define        R_386_TLS_LE        17
35
#define        R_386_TLS_GD        18
36
#define        R_386_TLS_LDM        19
37

    
38
/* The following relocations are GNU extensions. */
39
#define        R_386_16        20
40
#define        R_386_PC16        21
41
#define        R_386_8                22
42
#define        R_386_PC8        23
43

    
44
/* More TLS relocations */
45
#define        R_386_TLS_GD_32                24
46
#define        R_386_TLS_GD_PUSH        25
47
#define        R_386_TLS_GD_CALL        26
48
#define        R_386_TLS_GD_POP        27
49
#define        R_386_TLS_LDM_32        28
50
#define        R_386_TLS_LDM_PUSH        29
51
#define        R_386_TLS_LDM_CALL        30
52
#define        R_386_TLS_LDM_POP        31
53
#define        R_386_TLS_LDO_32        32
54
#define        R_386_TLS_IE_32                33
55
#define        R_386_TLS_LE_32                34
56
#define        R_386_TLS_DTPMOD32        35
57
#define        R_386_TLS_DTPOFF32        36
58
#define        R_386_TLS_TPOFF32        37
59
#define        R_386_TLS_GOTDESC        39
60
#define        R_386_TLS_DESC_CALL        40
61
#define        R_386_TLS_DESC                41
62

    
63
#define        R_TYPE(name)        __CONCAT(R_386_,name)