1
2 #ifndef __ASMSPARC_ELF_H
3 #define __ASMSPARC_ELF_H
4
5
6
7
8
9 #include <asm/ptrace.h>
10
11
12
13
14 #define STT_REGISTER 13
15
16
17
18
19 #define R_SPARC_NONE 0
20 #define R_SPARC_8 1
21 #define R_SPARC_16 2
22 #define R_SPARC_32 3
23 #define R_SPARC_DISP8 4
24 #define R_SPARC_DISP16 5
25 #define R_SPARC_DISP32 6
26 #define R_SPARC_WDISP30 7
27 #define R_SPARC_WDISP22 8
28 #define R_SPARC_HI22 9
29 #define R_SPARC_22 10
30 #define R_SPARC_13 11
31 #define R_SPARC_LO10 12
32 #define R_SPARC_GOT10 13
33 #define R_SPARC_GOT13 14
34 #define R_SPARC_GOT22 15
35 #define R_SPARC_PC10 16
36 #define R_SPARC_PC22 17
37 #define R_SPARC_WPLT30 18
38 #define R_SPARC_COPY 19
39 #define R_SPARC_GLOB_DAT 20
40 #define R_SPARC_JMP_SLOT 21
41 #define R_SPARC_RELATIVE 22
42 #define R_SPARC_UA32 23
43 #define R_SPARC_PLT32 24
44 #define R_SPARC_HIPLT22 25
45 #define R_SPARC_LOPLT10 26
46 #define R_SPARC_PCPLT32 27
47 #define R_SPARC_PCPLT22 28
48 #define R_SPARC_PCPLT10 29
49 #define R_SPARC_10 30
50 #define R_SPARC_11 31
51 #define R_SPARC_64 32
52 #define R_SPARC_OLO10 33
53 #define R_SPARC_WDISP16 40
54 #define R_SPARC_WDISP19 41
55 #define R_SPARC_7 43
56 #define R_SPARC_5 44
57 #define R_SPARC_6 45
58
59
60
61 #define HWCAP_SPARC_FLUSH 1
62 #define HWCAP_SPARC_STBAR 2
63 #define HWCAP_SPARC_SWAP 4
64 #define HWCAP_SPARC_MULDIV 8
65 #define HWCAP_SPARC_V9 16
66 #define HWCAP_SPARC_ULTRA3 32
67
68 #define CORE_DUMP_USE_REGSET
69
70
71
72
73
74
75
76
77 typedef unsigned long elf_greg_t;
78 #define ELF_NGREG 38
79 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
80
81 typedef struct {
82 union {
83 unsigned long pr_regs[32];
84 double pr_dregs[16];
85 } pr_fr;
86 unsigned long __unused;
87 unsigned long pr_fsr;
88 unsigned char pr_qcnt;
89 unsigned char pr_q_entrysize;
90 unsigned char pr_en;
91 unsigned int pr_q[64];
92 } elf_fpregset_t;
93
94 #include <asm/mbus.h>
95
96
97
98
99 #define elf_check_arch(x) ((x)->e_machine == EM_SPARC)
100
101
102
103
104 #define ELF_ARCH EM_SPARC
105 #define ELF_CLASS ELFCLASS32
106 #define ELF_DATA ELFDATA2MSB
107
108 #define ELF_EXEC_PAGESIZE 4096
109
110
111
112
113
114
115
116 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE)
117
118
119
120
121
122
123 #define ELF_HWCAP (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | \
124 HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV)
125
126
127
128
129
130 #define ELF_PLATFORM (NULL)
131
132 #endif