~ubuntu-branches/ubuntu/trusty/musl/trusty-proposed

« back to all changes in this revision

Viewing changes to include/elf.h

  • Committer: Package Import Robot
  • Author(s): Kevin Bortis
  • Date: 2013-09-20 20:54:14 UTC
  • Revision ID: package-import@ubuntu.com-20130920205414-5b61trtmma18w58o
Tags: upstream-0.9.13
ImportĀ upstreamĀ versionĀ 0.9.13

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _ELF_H
 
2
#define _ELF_H
 
3
 
 
4
#ifdef __cplusplus
 
5
extern "C" {
 
6
#endif
 
7
 
 
8
#include <stdint.h>
 
9
 
 
10
typedef uint16_t Elf32_Half;
 
11
typedef uint16_t Elf64_Half;
 
12
 
 
13
typedef uint32_t Elf32_Word;
 
14
typedef int32_t  Elf32_Sword;
 
15
typedef uint32_t Elf64_Word;
 
16
typedef int32_t  Elf64_Sword;
 
17
 
 
18
typedef uint64_t Elf32_Xword;
 
19
typedef int64_t  Elf32_Sxword;
 
20
typedef uint64_t Elf64_Xword;
 
21
typedef int64_t  Elf64_Sxword;
 
22
 
 
23
typedef uint32_t Elf32_Addr;
 
24
typedef uint64_t Elf64_Addr;
 
25
 
 
26
typedef uint32_t Elf32_Off;
 
27
typedef uint64_t Elf64_Off;
 
28
 
 
29
typedef uint16_t Elf32_Section;
 
30
typedef uint16_t Elf64_Section;
 
31
 
 
32
typedef Elf32_Half Elf32_Versym;
 
33
typedef Elf64_Half Elf64_Versym;
 
34
 
 
35
#define EI_NIDENT (16)
 
36
 
 
37
typedef struct {
 
38
  unsigned char e_ident[EI_NIDENT];
 
39
  Elf32_Half    e_type;
 
40
  Elf32_Half    e_machine;
 
41
  Elf32_Word    e_version;
 
42
  Elf32_Addr    e_entry;
 
43
  Elf32_Off     e_phoff;
 
44
  Elf32_Off     e_shoff;
 
45
  Elf32_Word    e_flags;
 
46
  Elf32_Half    e_ehsize;
 
47
  Elf32_Half    e_phentsize;
 
48
  Elf32_Half    e_phnum;
 
49
  Elf32_Half    e_shentsize;
 
50
  Elf32_Half    e_shnum;
 
51
  Elf32_Half    e_shstrndx;
 
52
} Elf32_Ehdr;
 
53
 
 
54
typedef struct {
 
55
  unsigned char e_ident[EI_NIDENT];
 
56
  Elf64_Half    e_type;
 
57
  Elf64_Half    e_machine;
 
58
  Elf64_Word    e_version;
 
59
  Elf64_Addr    e_entry;
 
60
  Elf64_Off     e_phoff;
 
61
  Elf64_Off     e_shoff;
 
62
  Elf64_Word    e_flags;
 
63
  Elf64_Half    e_ehsize;
 
64
  Elf64_Half    e_phentsize;
 
65
  Elf64_Half    e_phnum;
 
66
  Elf64_Half    e_shentsize;
 
67
  Elf64_Half    e_shnum;
 
68
  Elf64_Half    e_shstrndx;
 
69
} Elf64_Ehdr;
 
70
 
 
71
#define EI_MAG0         0
 
72
#define ELFMAG0         0x7f
 
73
 
 
74
#define EI_MAG1         1
 
75
#define ELFMAG1         'E'
 
76
 
 
77
#define EI_MAG2         2
 
78
#define ELFMAG2         'L'
 
79
 
 
80
#define EI_MAG3         3
 
81
#define ELFMAG3         'F'
 
82
 
 
83
 
 
84
#define ELFMAG          "\177ELF"
 
85
#define SELFMAG         4
 
86
 
 
87
#define EI_CLASS        4
 
88
#define ELFCLASSNONE    0
 
89
#define ELFCLASS32      1
 
90
#define ELFCLASS64      2
 
91
#define ELFCLASSNUM     3
 
92
 
 
93
#define EI_DATA         5
 
94
#define ELFDATANONE     0
 
95
#define ELFDATA2LSB     1
 
96
#define ELFDATA2MSB     2
 
97
#define ELFDATANUM      3
 
98
 
 
99
#define EI_VERSION      6
 
100
 
 
101
 
 
102
#define EI_OSABI        7
 
103
#define ELFOSABI_NONE           0
 
104
#define ELFOSABI_SYSV           0
 
105
#define ELFOSABI_HPUX           1
 
106
#define ELFOSABI_NETBSD         2
 
107
#define ELFOSABI_LINUX          3
 
108
#define ELFOSABI_SOLARIS        6
 
109
#define ELFOSABI_AIX            7
 
110
#define ELFOSABI_IRIX           8
 
111
#define ELFOSABI_FREEBSD        9
 
112
#define ELFOSABI_TRU64          10
 
113
#define ELFOSABI_MODESTO        11
 
114
#define ELFOSABI_OPENBSD        12
 
115
#define ELFOSABI_ARM            97
 
116
#define ELFOSABI_STANDALONE     255
 
117
 
 
118
#define EI_ABIVERSION   8
 
119
 
 
120
#define EI_PAD          9
 
121
 
 
122
 
 
123
 
 
124
#define ET_NONE         0
 
125
#define ET_REL          1
 
126
#define ET_EXEC         2
 
127
#define ET_DYN          3
 
128
#define ET_CORE         4
 
129
#define ET_NUM          5
 
130
#define ET_LOOS         0xfe00
 
131
#define ET_HIOS         0xfeff
 
132
#define ET_LOPROC       0xff00
 
133
#define ET_HIPROC       0xffff
 
134
 
 
135
 
 
136
 
 
137
#define EM_NONE          0
 
138
#define EM_M32           1
 
139
#define EM_SPARC         2
 
140
#define EM_386           3
 
141
#define EM_68K           4
 
142
#define EM_88K           5
 
143
#define EM_860           7
 
144
#define EM_MIPS          8
 
145
#define EM_S370          9
 
146
#define EM_MIPS_RS3_LE  10
 
147
 
 
148
#define EM_PARISC       15
 
149
#define EM_VPP500       17
 
150
#define EM_SPARC32PLUS  18
 
151
#define EM_960          19
 
152
#define EM_PPC          20
 
153
#define EM_PPC64        21
 
154
#define EM_S390         22
 
155
 
 
156
#define EM_V800         36
 
157
#define EM_FR20         37
 
158
#define EM_RH32         38
 
159
#define EM_RCE          39
 
160
#define EM_ARM          40
 
161
#define EM_FAKE_ALPHA   41
 
162
#define EM_SH           42
 
163
#define EM_SPARCV9      43
 
164
#define EM_TRICORE      44
 
165
#define EM_ARC          45
 
166
#define EM_H8_300       46
 
167
#define EM_H8_300H      47
 
168
#define EM_H8S          48
 
169
#define EM_H8_500       49
 
170
#define EM_IA_64        50
 
171
#define EM_MIPS_X       51
 
172
#define EM_COLDFIRE     52
 
173
#define EM_68HC12       53
 
174
#define EM_MMA          54
 
175
#define EM_PCP          55
 
176
#define EM_NCPU         56
 
177
#define EM_NDR1         57
 
178
#define EM_STARCORE     58
 
179
#define EM_ME16         59
 
180
#define EM_ST100        60
 
181
#define EM_TINYJ        61
 
182
#define EM_X86_64       62
 
183
#define EM_PDSP         63
 
184
 
 
185
#define EM_FX66         66
 
186
#define EM_ST9PLUS      67
 
187
#define EM_ST7          68
 
188
#define EM_68HC16       69
 
189
#define EM_68HC11       70
 
190
#define EM_68HC08       71
 
191
#define EM_68HC05       72
 
192
#define EM_SVX          73
 
193
#define EM_ST19         74
 
194
#define EM_VAX          75
 
195
#define EM_CRIS         76
 
196
#define EM_JAVELIN      77
 
197
#define EM_FIREPATH     78
 
198
#define EM_ZSP          79
 
199
#define EM_MMIX         80
 
200
#define EM_HUANY        81
 
201
#define EM_PRISM        82
 
202
#define EM_AVR          83
 
203
#define EM_FR30         84
 
204
#define EM_D10V         85
 
205
#define EM_D30V         86
 
206
#define EM_V850         87
 
207
#define EM_M32R         88
 
208
#define EM_MN10300      89
 
209
#define EM_MN10200      90
 
210
#define EM_PJ           91
 
211
#define EM_OPENRISC     92
 
212
#define EM_ARC_A5       93
 
213
#define EM_XTENSA       94
 
214
#define EM_NUM          95
 
215
#define EM_ALPHA        0x9026
 
216
 
 
217
#define EV_NONE         0
 
218
#define EV_CURRENT      1
 
219
#define EV_NUM          2
 
220
 
 
221
typedef struct {
 
222
  Elf32_Word    sh_name;
 
223
  Elf32_Word    sh_type;
 
224
  Elf32_Word    sh_flags;
 
225
  Elf32_Addr    sh_addr;
 
226
  Elf32_Off     sh_offset;
 
227
  Elf32_Word    sh_size;
 
228
  Elf32_Word    sh_link;
 
229
  Elf32_Word    sh_info;
 
230
  Elf32_Word    sh_addralign;
 
231
  Elf32_Word    sh_entsize;
 
232
} Elf32_Shdr;
 
233
 
 
234
typedef struct {
 
235
  Elf64_Word    sh_name;
 
236
  Elf64_Word    sh_type;
 
237
  Elf64_Xword   sh_flags;
 
238
  Elf64_Addr    sh_addr;
 
239
  Elf64_Off     sh_offset;
 
240
  Elf64_Xword   sh_size;
 
241
  Elf64_Word    sh_link;
 
242
  Elf64_Word    sh_info;
 
243
  Elf64_Xword   sh_addralign;
 
244
  Elf64_Xword   sh_entsize;
 
245
} Elf64_Shdr;
 
246
 
 
247
 
 
248
 
 
249
#define SHN_UNDEF       0
 
250
#define SHN_LORESERVE   0xff00
 
251
#define SHN_LOPROC      0xff00
 
252
#define SHN_BEFORE      0xff00
 
253
 
 
254
#define SHN_AFTER       0xff01
 
255
 
 
256
#define SHN_HIPROC      0xff1f
 
257
#define SHN_LOOS        0xff20
 
258
#define SHN_HIOS        0xff3f
 
259
#define SHN_ABS         0xfff1
 
260
#define SHN_COMMON      0xfff2
 
261
#define SHN_XINDEX      0xffff
 
262
#define SHN_HIRESERVE   0xffff
 
263
 
 
264
 
 
265
 
 
266
#define SHT_NULL          0
 
267
#define SHT_PROGBITS      1
 
268
#define SHT_SYMTAB        2
 
269
#define SHT_STRTAB        3
 
270
#define SHT_RELA          4
 
271
#define SHT_HASH          5
 
272
#define SHT_DYNAMIC       6
 
273
#define SHT_NOTE          7
 
274
#define SHT_NOBITS        8
 
275
#define SHT_REL           9
 
276
#define SHT_SHLIB         10
 
277
#define SHT_DYNSYM        11
 
278
#define SHT_INIT_ARRAY    14
 
279
#define SHT_FINI_ARRAY    15
 
280
#define SHT_PREINIT_ARRAY 16
 
281
#define SHT_GROUP         17
 
282
#define SHT_SYMTAB_SHNDX  18
 
283
#define SHT_NUM           19
 
284
#define SHT_LOOS          0x60000000
 
285
#define SHT_GNU_ATTRIBUTES 0x6ffffff5
 
286
#define SHT_GNU_HASH      0x6ffffff6
 
287
#define SHT_GNU_LIBLIST   0x6ffffff7
 
288
#define SHT_CHECKSUM      0x6ffffff8
 
289
#define SHT_LOSUNW        0x6ffffffa
 
290
#define SHT_SUNW_move     0x6ffffffa
 
291
#define SHT_SUNW_COMDAT   0x6ffffffb
 
292
#define SHT_SUNW_syminfo  0x6ffffffc
 
293
#define SHT_GNU_verdef    0x6ffffffd
 
294
#define SHT_GNU_verneed   0x6ffffffe
 
295
#define SHT_GNU_versym    0x6fffffff
 
296
#define SHT_HISUNW        0x6fffffff
 
297
#define SHT_HIOS          0x6fffffff
 
298
#define SHT_LOPROC        0x70000000
 
299
#define SHT_HIPROC        0x7fffffff
 
300
#define SHT_LOUSER        0x80000000
 
301
#define SHT_HIUSER        0x8fffffff
 
302
 
 
303
#define SHF_WRITE            (1 << 0)
 
304
#define SHF_ALLOC            (1 << 1)
 
305
#define SHF_EXECINSTR        (1 << 2)
 
306
#define SHF_MERGE            (1 << 4)
 
307
#define SHF_STRINGS          (1 << 5)
 
308
#define SHF_INFO_LINK        (1 << 6)
 
309
#define SHF_LINK_ORDER       (1 << 7)
 
310
#define SHF_OS_NONCONFORMING (1 << 8)
 
311
 
 
312
#define SHF_GROUP            (1 << 9)
 
313
#define SHF_TLS              (1 << 10)
 
314
#define SHF_MASKOS           0x0ff00000
 
315
#define SHF_MASKPROC         0xf0000000
 
316
#define SHF_ORDERED          (1 << 30)
 
317
#define SHF_EXCLUDE          (1 << 31)
 
318
 
 
319
#define GRP_COMDAT      0x1
 
320
 
 
321
typedef struct {
 
322
  Elf32_Word    st_name;
 
323
  Elf32_Addr    st_value;
 
324
  Elf32_Word    st_size;
 
325
  unsigned char st_info;
 
326
  unsigned char st_other;
 
327
  Elf32_Section st_shndx;
 
328
} Elf32_Sym;
 
329
 
 
330
typedef struct {
 
331
  Elf64_Word    st_name;
 
332
  unsigned char st_info;
 
333
  unsigned char st_other;
 
334
  Elf64_Section st_shndx;
 
335
  Elf64_Addr    st_value;
 
336
  Elf64_Xword   st_size;
 
337
} Elf64_Sym;
 
338
 
 
339
typedef struct {
 
340
  Elf32_Half si_boundto;
 
341
  Elf32_Half si_flags;
 
342
} Elf32_Syminfo;
 
343
 
 
344
typedef struct {
 
345
  Elf64_Half si_boundto;
 
346
  Elf64_Half si_flags;
 
347
} Elf64_Syminfo;
 
348
 
 
349
#define SYMINFO_BT_SELF         0xffff
 
350
#define SYMINFO_BT_PARENT       0xfffe
 
351
#define SYMINFO_BT_LOWRESERVE   0xff00
 
352
 
 
353
#define SYMINFO_FLG_DIRECT      0x0001
 
354
#define SYMINFO_FLG_PASSTHRU    0x0002
 
355
#define SYMINFO_FLG_COPY        0x0004
 
356
#define SYMINFO_FLG_LAZYLOAD    0x0008
 
357
 
 
358
#define SYMINFO_NONE            0
 
359
#define SYMINFO_CURRENT         1
 
360
#define SYMINFO_NUM             2
 
361
 
 
362
#define ELF32_ST_BIND(val)              (((unsigned char) (val)) >> 4)
 
363
#define ELF32_ST_TYPE(val)              ((val) & 0xf)
 
364
#define ELF32_ST_INFO(bind, type)       (((bind) << 4) + ((type) & 0xf))
 
365
 
 
366
#define ELF64_ST_BIND(val)              ELF32_ST_BIND (val)
 
367
#define ELF64_ST_TYPE(val)              ELF32_ST_TYPE (val)
 
368
#define ELF64_ST_INFO(bind, type)       ELF32_ST_INFO ((bind), (type))
 
369
 
 
370
#define STB_LOCAL       0
 
371
#define STB_GLOBAL      1
 
372
#define STB_WEAK        2
 
373
#define STB_NUM         3
 
374
#define STB_LOOS        10
 
375
#define STB_GNU_UNIQUE  10
 
376
#define STB_HIOS        12
 
377
#define STB_LOPROC      13
 
378
#define STB_HIPROC      15
 
379
 
 
380
#define STT_NOTYPE      0
 
381
#define STT_OBJECT      1
 
382
#define STT_FUNC        2
 
383
#define STT_SECTION     3
 
384
#define STT_FILE        4
 
385
#define STT_COMMON      5
 
386
#define STT_TLS         6
 
387
#define STT_NUM         7
 
388
#define STT_LOOS        10
 
389
#define STT_GNU_IFUNC   10
 
390
#define STT_HIOS        12
 
391
#define STT_LOPROC      13
 
392
#define STT_HIPROC      15
 
393
 
 
394
#define STN_UNDEF       0
 
395
 
 
396
#define ELF32_ST_VISIBILITY(o)  ((o) & 0x03)
 
397
#define ELF64_ST_VISIBILITY(o)  ELF32_ST_VISIBILITY (o)
 
398
 
 
399
#define STV_DEFAULT     0
 
400
#define STV_INTERNAL    1
 
401
#define STV_HIDDEN      2
 
402
#define STV_PROTECTED   3
 
403
 
 
404
 
 
405
 
 
406
 
 
407
typedef struct
 
408
{
 
409
  Elf32_Addr    r_offset;
 
410
  Elf32_Word    r_info;
 
411
} Elf32_Rel;
 
412
 
 
413
typedef struct {
 
414
  Elf64_Addr    r_offset;
 
415
  Elf64_Xword   r_info;
 
416
} Elf64_Rel;
 
417
 
 
418
 
 
419
 
 
420
typedef struct {
 
421
  Elf32_Addr    r_offset;
 
422
  Elf32_Word    r_info;
 
423
  Elf32_Sword   r_addend;
 
424
} Elf32_Rela;
 
425
 
 
426
typedef struct {
 
427
  Elf64_Addr    r_offset;
 
428
  Elf64_Xword   r_info;
 
429
  Elf64_Sxword  r_addend;
 
430
} Elf64_Rela;
 
431
 
 
432
 
 
433
 
 
434
#define ELF32_R_SYM(val)                ((val) >> 8)
 
435
#define ELF32_R_TYPE(val)               ((val) & 0xff)
 
436
#define ELF32_R_INFO(sym, type)         (((sym) << 8) + ((type) & 0xff))
 
437
 
 
438
#define ELF64_R_SYM(i)                  ((i) >> 32)
 
439
#define ELF64_R_TYPE(i)                 ((i) & 0xffffffff)
 
440
#define ELF64_R_INFO(sym,type)          ((((Elf64_Xword) (sym)) << 32) + (type))
 
441
 
 
442
 
 
443
 
 
444
typedef struct {
 
445
  Elf32_Word    p_type;
 
446
  Elf32_Off     p_offset;
 
447
  Elf32_Addr    p_vaddr;
 
448
  Elf32_Addr    p_paddr;
 
449
  Elf32_Word    p_filesz;
 
450
  Elf32_Word    p_memsz;
 
451
  Elf32_Word    p_flags;
 
452
  Elf32_Word    p_align;
 
453
} Elf32_Phdr;
 
454
 
 
455
typedef struct {
 
456
  Elf64_Word    p_type;
 
457
  Elf64_Word    p_flags;
 
458
  Elf64_Off     p_offset;
 
459
  Elf64_Addr    p_vaddr;
 
460
  Elf64_Addr    p_paddr;
 
461
  Elf64_Xword   p_filesz;
 
462
  Elf64_Xword   p_memsz;
 
463
  Elf64_Xword   p_align;
 
464
} Elf64_Phdr;
 
465
 
 
466
 
 
467
 
 
468
#define PT_NULL         0
 
469
#define PT_LOAD         1
 
470
#define PT_DYNAMIC      2
 
471
#define PT_INTERP       3
 
472
#define PT_NOTE         4
 
473
#define PT_SHLIB        5
 
474
#define PT_PHDR         6
 
475
#define PT_TLS          7
 
476
#define PT_NUM          8
 
477
#define PT_LOOS         0x60000000
 
478
#define PT_GNU_EH_FRAME 0x6474e550
 
479
#define PT_GNU_STACK    0x6474e551
 
480
#define PT_GNU_RELRO    0x6474e552
 
481
#define PT_LOSUNW       0x6ffffffa
 
482
#define PT_SUNWBSS      0x6ffffffa
 
483
#define PT_SUNWSTACK    0x6ffffffb
 
484
#define PT_HISUNW       0x6fffffff
 
485
#define PT_HIOS         0x6fffffff
 
486
#define PT_LOPROC       0x70000000
 
487
#define PT_HIPROC       0x7fffffff
 
488
 
 
489
 
 
490
 
 
491
#define PF_X            (1 << 0)
 
492
#define PF_W            (1 << 1)
 
493
#define PF_R            (1 << 2)
 
494
#define PF_MASKOS       0x0ff00000
 
495
#define PF_MASKPROC     0xf0000000
 
496
 
 
497
 
 
498
 
 
499
#define NT_PRSTATUS     1
 
500
#define NT_FPREGSET     2
 
501
#define NT_PRPSINFO     3
 
502
#define NT_PRXREG       4
 
503
#define NT_TASKSTRUCT   4
 
504
#define NT_PLATFORM     5
 
505
#define NT_AUXV         6
 
506
#define NT_GWINDOWS     7
 
507
#define NT_ASRS         8
 
508
#define NT_PSTATUS      10
 
509
#define NT_PSINFO       13
 
510
#define NT_PRCRED       14
 
511
#define NT_UTSNAME      15
 
512
#define NT_LWPSTATUS    16
 
513
#define NT_LWPSINFO     17
 
514
#define NT_PRFPXREG     20
 
515
#define NT_PRXFPREG     0x46e62b7f
 
516
#define NT_PPC_VMX      0x100
 
517
#define NT_PPC_SPE      0x101
 
518
#define NT_PPC_VSX      0x102
 
519
#define NT_386_TLS      0x200
 
520
#define NT_386_IOPERM   0x201
 
521
#define NT_VERSION      1
 
522
 
 
523
 
 
524
 
 
525
 
 
526
typedef struct {
 
527
  Elf32_Sword d_tag;
 
528
  union {
 
529
      Elf32_Word d_val;
 
530
      Elf32_Addr d_ptr;
 
531
  } d_un;
 
532
} Elf32_Dyn;
 
533
 
 
534
typedef struct {
 
535
  Elf64_Sxword d_tag;
 
536
  union {
 
537
      Elf64_Xword d_val;
 
538
      Elf64_Addr d_ptr;
 
539
  } d_un;
 
540
} Elf64_Dyn;
 
541
 
 
542
 
 
543
 
 
544
#define DT_NULL         0
 
545
#define DT_NEEDED       1
 
546
#define DT_PLTRELSZ     2
 
547
#define DT_PLTGOT       3
 
548
#define DT_HASH         4
 
549
#define DT_STRTAB       5
 
550
#define DT_SYMTAB       6
 
551
#define DT_RELA         7
 
552
#define DT_RELASZ       8
 
553
#define DT_RELAENT      9
 
554
#define DT_STRSZ        10
 
555
#define DT_SYMENT       11
 
556
#define DT_INIT         12
 
557
#define DT_FINI         13
 
558
#define DT_SONAME       14
 
559
#define DT_RPATH        15
 
560
#define DT_SYMBOLIC     16
 
561
#define DT_REL          17
 
562
#define DT_RELSZ        18
 
563
#define DT_RELENT       19
 
564
#define DT_PLTREL       20
 
565
#define DT_DEBUG        21
 
566
#define DT_TEXTREL      22
 
567
#define DT_JMPREL       23
 
568
#define DT_BIND_NOW     24
 
569
#define DT_INIT_ARRAY   25
 
570
#define DT_FINI_ARRAY   26
 
571
#define DT_INIT_ARRAYSZ 27
 
572
#define DT_FINI_ARRAYSZ 28
 
573
#define DT_RUNPATH      29
 
574
#define DT_FLAGS        30
 
575
#define DT_ENCODING     32
 
576
#define DT_PREINIT_ARRAY 32
 
577
#define DT_PREINIT_ARRAYSZ 33
 
578
#define DT_NUM          34
 
579
#define DT_LOOS         0x6000000d
 
580
#define DT_HIOS         0x6ffff000
 
581
#define DT_LOPROC       0x70000000
 
582
#define DT_HIPROC       0x7fffffff
 
583
#define DT_PROCNUM      DT_MIPS_NUM
 
584
 
 
585
#define DT_VALRNGLO     0x6ffffd00
 
586
#define DT_GNU_PRELINKED 0x6ffffdf5
 
587
#define DT_GNU_CONFLICTSZ 0x6ffffdf6
 
588
#define DT_GNU_LIBLISTSZ 0x6ffffdf7
 
589
#define DT_CHECKSUM     0x6ffffdf8
 
590
#define DT_PLTPADSZ     0x6ffffdf9
 
591
#define DT_MOVEENT      0x6ffffdfa
 
592
#define DT_MOVESZ       0x6ffffdfb
 
593
#define DT_FEATURE_1    0x6ffffdfc
 
594
#define DT_POSFLAG_1    0x6ffffdfd
 
595
 
 
596
#define DT_SYMINSZ      0x6ffffdfe
 
597
#define DT_SYMINENT     0x6ffffdff
 
598
#define DT_VALRNGHI     0x6ffffdff
 
599
#define DT_VALTAGIDX(tag)       (DT_VALRNGHI - (tag))
 
600
#define DT_VALNUM 12
 
601
 
 
602
#define DT_ADDRRNGLO    0x6ffffe00
 
603
#define DT_GNU_HASH     0x6ffffef5
 
604
#define DT_TLSDESC_PLT  0x6ffffef6
 
605
#define DT_TLSDESC_GOT  0x6ffffef7
 
606
#define DT_GNU_CONFLICT 0x6ffffef8
 
607
#define DT_GNU_LIBLIST  0x6ffffef9
 
608
#define DT_CONFIG       0x6ffffefa
 
609
#define DT_DEPAUDIT     0x6ffffefb
 
610
#define DT_AUDIT        0x6ffffefc
 
611
#define DT_PLTPAD       0x6ffffefd
 
612
#define DT_MOVETAB      0x6ffffefe
 
613
#define DT_SYMINFO      0x6ffffeff
 
614
#define DT_ADDRRNGHI    0x6ffffeff
 
615
#define DT_ADDRTAGIDX(tag)      (DT_ADDRRNGHI - (tag))
 
616
#define DT_ADDRNUM 11
 
617
 
 
618
 
 
619
 
 
620
#define DT_VERSYM       0x6ffffff0
 
621
 
 
622
#define DT_RELACOUNT    0x6ffffff9
 
623
#define DT_RELCOUNT     0x6ffffffa
 
624
 
 
625
 
 
626
#define DT_FLAGS_1      0x6ffffffb
 
627
#define DT_VERDEF       0x6ffffffc
 
628
 
 
629
#define DT_VERDEFNUM    0x6ffffffd
 
630
#define DT_VERNEED      0x6ffffffe
 
631
 
 
632
#define DT_VERNEEDNUM   0x6fffffff
 
633
#define DT_VERSIONTAGIDX(tag)   (DT_VERNEEDNUM - (tag))
 
634
#define DT_VERSIONTAGNUM 16
 
635
 
 
636
 
 
637
 
 
638
#define DT_AUXILIARY    0x7ffffffd
 
639
#define DT_FILTER       0x7fffffff
 
640
#define DT_EXTRATAGIDX(tag)     ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
 
641
#define DT_EXTRANUM     3
 
642
 
 
643
 
 
644
#define DF_ORIGIN       0x00000001
 
645
#define DF_SYMBOLIC     0x00000002
 
646
#define DF_TEXTREL      0x00000004
 
647
#define DF_BIND_NOW     0x00000008
 
648
#define DF_STATIC_TLS   0x00000010
 
649
 
 
650
 
 
651
 
 
652
#define DF_1_NOW        0x00000001
 
653
#define DF_1_GLOBAL     0x00000002
 
654
#define DF_1_GROUP      0x00000004
 
655
#define DF_1_NODELETE   0x00000008
 
656
#define DF_1_LOADFLTR   0x00000010
 
657
#define DF_1_INITFIRST  0x00000020
 
658
#define DF_1_NOOPEN     0x00000040
 
659
#define DF_1_ORIGIN     0x00000080
 
660
#define DF_1_DIRECT     0x00000100
 
661
#define DF_1_TRANS      0x00000200
 
662
#define DF_1_INTERPOSE  0x00000400
 
663
#define DF_1_NODEFLIB   0x00000800
 
664
#define DF_1_NODUMP     0x00001000
 
665
#define DF_1_CONFALT    0x00002000
 
666
#define DF_1_ENDFILTEE  0x00004000
 
667
#define DF_1_DISPRELDNE 0x00008000
 
668
#define DF_1_DISPRELPND 0x00010000
 
669
 
 
670
 
 
671
#define DTF_1_PARINIT   0x00000001
 
672
#define DTF_1_CONFEXP   0x00000002
 
673
 
 
674
 
 
675
#define DF_P1_LAZYLOAD  0x00000001
 
676
#define DF_P1_GROUPPERM 0x00000002
 
677
 
 
678
 
 
679
 
 
680
 
 
681
typedef struct {
 
682
  Elf32_Half    vd_version;
 
683
  Elf32_Half    vd_flags;
 
684
  Elf32_Half    vd_ndx;
 
685
  Elf32_Half    vd_cnt;
 
686
  Elf32_Word    vd_hash;
 
687
  Elf32_Word    vd_aux;
 
688
  Elf32_Word    vd_next;
 
689
} Elf32_Verdef;
 
690
 
 
691
typedef struct {
 
692
  Elf64_Half    vd_version;
 
693
  Elf64_Half    vd_flags;
 
694
  Elf64_Half    vd_ndx;
 
695
  Elf64_Half    vd_cnt;
 
696
  Elf64_Word    vd_hash;
 
697
  Elf64_Word    vd_aux;
 
698
  Elf64_Word    vd_next;
 
699
} Elf64_Verdef;
 
700
 
 
701
 
 
702
 
 
703
#define VER_DEF_NONE    0
 
704
#define VER_DEF_CURRENT 1
 
705
#define VER_DEF_NUM     2
 
706
 
 
707
 
 
708
#define VER_FLG_BASE    0x1
 
709
#define VER_FLG_WEAK    0x2
 
710
 
 
711
 
 
712
#define VER_NDX_LOCAL           0
 
713
#define VER_NDX_GLOBAL          1
 
714
#define VER_NDX_LORESERVE       0xff00
 
715
#define VER_NDX_ELIMINATE       0xff01
 
716
 
 
717
 
 
718
 
 
719
typedef struct {
 
720
  Elf32_Word    vda_name;
 
721
  Elf32_Word    vda_next;
 
722
} Elf32_Verdaux;
 
723
 
 
724
typedef struct {
 
725
  Elf64_Word    vda_name;
 
726
  Elf64_Word    vda_next;
 
727
} Elf64_Verdaux;
 
728
 
 
729
 
 
730
 
 
731
 
 
732
typedef struct {
 
733
  Elf32_Half    vn_version;
 
734
  Elf32_Half    vn_cnt;
 
735
  Elf32_Word    vn_file;
 
736
  Elf32_Word    vn_aux;
 
737
  Elf32_Word    vn_next;
 
738
} Elf32_Verneed;
 
739
 
 
740
typedef struct {
 
741
  Elf64_Half    vn_version;
 
742
  Elf64_Half    vn_cnt;
 
743
  Elf64_Word    vn_file;
 
744
  Elf64_Word    vn_aux;
 
745
  Elf64_Word    vn_next;
 
746
} Elf64_Verneed;
 
747
 
 
748
 
 
749
 
 
750
#define VER_NEED_NONE    0
 
751
#define VER_NEED_CURRENT 1
 
752
#define VER_NEED_NUM     2
 
753
 
 
754
 
 
755
 
 
756
typedef struct {
 
757
  Elf32_Word    vna_hash;
 
758
  Elf32_Half    vna_flags;
 
759
  Elf32_Half    vna_other;
 
760
  Elf32_Word    vna_name;
 
761
  Elf32_Word    vna_next;
 
762
} Elf32_Vernaux;
 
763
 
 
764
typedef struct {
 
765
  Elf64_Word    vna_hash;
 
766
  Elf64_Half    vna_flags;
 
767
  Elf64_Half    vna_other;
 
768
  Elf64_Word    vna_name;
 
769
  Elf64_Word    vna_next;
 
770
} Elf64_Vernaux;
 
771
 
 
772
 
 
773
 
 
774
#define VER_FLG_WEAK    0x2
 
775
 
 
776
 
 
777
 
 
778
typedef struct {
 
779
  uint32_t a_type;
 
780
  union {
 
781
      uint32_t a_val;
 
782
  } a_un;
 
783
} Elf32_auxv_t;
 
784
 
 
785
typedef struct {
 
786
  uint64_t a_type;
 
787
  union {
 
788
      uint64_t a_val;
 
789
  } a_un;
 
790
} Elf64_auxv_t;
 
791
 
 
792
 
 
793
 
 
794
#define AT_NULL         0
 
795
#define AT_IGNORE       1
 
796
#define AT_EXECFD       2
 
797
#define AT_PHDR         3
 
798
#define AT_PHENT        4
 
799
#define AT_PHNUM        5
 
800
#define AT_PAGESZ       6
 
801
#define AT_BASE         7
 
802
#define AT_FLAGS        8
 
803
#define AT_ENTRY        9
 
804
#define AT_NOTELF       10
 
805
#define AT_UID          11
 
806
#define AT_EUID         12
 
807
#define AT_GID          13
 
808
#define AT_EGID         14
 
809
#define AT_CLKTCK       17
 
810
 
 
811
 
 
812
#define AT_PLATFORM     15
 
813
#define AT_HWCAP        16
 
814
 
 
815
 
 
816
 
 
817
 
 
818
#define AT_FPUCW        18
 
819
 
 
820
 
 
821
#define AT_DCACHEBSIZE  19
 
822
#define AT_ICACHEBSIZE  20
 
823
#define AT_UCACHEBSIZE  21
 
824
 
 
825
 
 
826
 
 
827
#define AT_IGNOREPPC    22
 
828
 
 
829
#define AT_SECURE       23
 
830
 
 
831
#define AT_BASE_PLATFORM 24
 
832
 
 
833
#define AT_RANDOM       25
 
834
 
 
835
#define AT_EXECFN       31
 
836
 
 
837
 
 
838
 
 
839
#define AT_SYSINFO      32
 
840
#define AT_SYSINFO_EHDR 33
 
841
 
 
842
 
 
843
 
 
844
#define AT_L1I_CACHESHAPE       34
 
845
#define AT_L1D_CACHESHAPE       35
 
846
#define AT_L2_CACHESHAPE        36
 
847
#define AT_L3_CACHESHAPE        37
 
848
 
 
849
 
 
850
 
 
851
 
 
852
typedef struct {
 
853
  Elf32_Word n_namesz;
 
854
  Elf32_Word n_descsz;
 
855
  Elf32_Word n_type;
 
856
} Elf32_Nhdr;
 
857
 
 
858
typedef struct {
 
859
  Elf64_Word n_namesz;
 
860
  Elf64_Word n_descsz;
 
861
  Elf64_Word n_type;
 
862
} Elf64_Nhdr;
 
863
 
 
864
 
 
865
 
 
866
 
 
867
#define ELF_NOTE_SOLARIS        "SUNW Solaris"
 
868
 
 
869
 
 
870
#define ELF_NOTE_GNU            "GNU"
 
871
 
 
872
 
 
873
 
 
874
 
 
875
 
 
876
#define ELF_NOTE_PAGESIZE_HINT  1
 
877
 
 
878
 
 
879
#define NT_GNU_ABI_TAG  1
 
880
#define ELF_NOTE_ABI    NT_GNU_ABI_TAG
 
881
 
 
882
 
 
883
 
 
884
#define ELF_NOTE_OS_LINUX       0
 
885
#define ELF_NOTE_OS_GNU         1
 
886
#define ELF_NOTE_OS_SOLARIS2    2
 
887
#define ELF_NOTE_OS_FREEBSD     3
 
888
 
 
889
#define NT_GNU_BUILD_ID 3
 
890
#define NT_GNU_GOLD_VERSION     4
 
891
 
 
892
 
 
893
 
 
894
typedef struct {
 
895
  Elf32_Xword m_value;
 
896
  Elf32_Word m_info;
 
897
  Elf32_Word m_poffset;
 
898
  Elf32_Half m_repeat;
 
899
  Elf32_Half m_stride;
 
900
} Elf32_Move;
 
901
 
 
902
typedef struct {
 
903
  Elf64_Xword m_value;
 
904
  Elf64_Xword m_info;
 
905
  Elf64_Xword m_poffset;
 
906
  Elf64_Half m_repeat;
 
907
  Elf64_Half m_stride;
 
908
} Elf64_Move;
 
909
 
 
910
 
 
911
#define ELF32_M_SYM(info)       ((info) >> 8)
 
912
#define ELF32_M_SIZE(info)      ((unsigned char) (info))
 
913
#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size))
 
914
 
 
915
#define ELF64_M_SYM(info)       ELF32_M_SYM (info)
 
916
#define ELF64_M_SIZE(info)      ELF32_M_SIZE (info)
 
917
#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size)
 
918
 
 
919
#define EF_CPU32        0x00810000
 
920
 
 
921
#define R_68K_NONE      0
 
922
#define R_68K_32        1
 
923
#define R_68K_16        2
 
924
#define R_68K_8         3
 
925
#define R_68K_PC32      4
 
926
#define R_68K_PC16      5
 
927
#define R_68K_PC8       6
 
928
#define R_68K_GOT32     7
 
929
#define R_68K_GOT16     8
 
930
#define R_68K_GOT8      9
 
931
#define R_68K_GOT32O    10
 
932
#define R_68K_GOT16O    11
 
933
#define R_68K_GOT8O     12
 
934
#define R_68K_PLT32     13
 
935
#define R_68K_PLT16     14
 
936
#define R_68K_PLT8      15
 
937
#define R_68K_PLT32O    16
 
938
#define R_68K_PLT16O    17
 
939
#define R_68K_PLT8O     18
 
940
#define R_68K_COPY      19
 
941
#define R_68K_GLOB_DAT  20
 
942
#define R_68K_JMP_SLOT  21
 
943
#define R_68K_RELATIVE  22
 
944
#define R_68K_NUM       23
 
945
 
 
946
#define R_386_NONE         0
 
947
#define R_386_32           1
 
948
#define R_386_PC32         2
 
949
#define R_386_GOT32        3
 
950
#define R_386_PLT32        4
 
951
#define R_386_COPY         5
 
952
#define R_386_GLOB_DAT     6
 
953
#define R_386_JMP_SLOT     7
 
954
#define R_386_RELATIVE     8
 
955
#define R_386_GOTOFF       9
 
956
#define R_386_GOTPC        10
 
957
#define R_386_32PLT        11
 
958
#define R_386_TLS_TPOFF    14
 
959
#define R_386_TLS_IE       15
 
960
#define R_386_TLS_GOTIE    16
 
961
#define R_386_TLS_LE       17
 
962
#define R_386_TLS_GD       18
 
963
#define R_386_TLS_LDM      19
 
964
#define R_386_16           20
 
965
#define R_386_PC16         21
 
966
#define R_386_8            22
 
967
#define R_386_PC8          23
 
968
#define R_386_TLS_GD_32    24
 
969
#define R_386_TLS_GD_PUSH  25
 
970
#define R_386_TLS_GD_CALL  26
 
971
#define R_386_TLS_GD_POP   27
 
972
#define R_386_TLS_LDM_32   28
 
973
#define R_386_TLS_LDM_PUSH 29
 
974
#define R_386_TLS_LDM_CALL 30
 
975
#define R_386_TLS_LDM_POP  31
 
976
#define R_386_TLS_LDO_32   32
 
977
#define R_386_TLS_IE_32    33
 
978
#define R_386_TLS_LE_32    34
 
979
#define R_386_TLS_DTPMOD32 35
 
980
#define R_386_TLS_DTPOFF32 36
 
981
#define R_386_TLS_TPOFF32  37
 
982
#define R_386_TLS_GOTDESC  39
 
983
#define R_386_TLS_DESC_CALL 40
 
984
#define R_386_TLS_DESC     41
 
985
#define R_386_IRELATIVE    42
 
986
#define R_386_NUM          43
 
987
 
 
988
 
 
989
 
 
990
 
 
991
 
 
992
#define STT_SPARC_REGISTER      13
 
993
 
 
994
 
 
995
 
 
996
#define EF_SPARCV9_MM           3
 
997
#define EF_SPARCV9_TSO          0
 
998
#define EF_SPARCV9_PSO          1
 
999
#define EF_SPARCV9_RMO          2
 
1000
#define EF_SPARC_LEDATA         0x800000
 
1001
#define EF_SPARC_EXT_MASK       0xFFFF00
 
1002
#define EF_SPARC_32PLUS         0x000100
 
1003
#define EF_SPARC_SUN_US1        0x000200
 
1004
#define EF_SPARC_HAL_R1         0x000400
 
1005
#define EF_SPARC_SUN_US3        0x000800
 
1006
 
 
1007
 
 
1008
 
 
1009
#define R_SPARC_NONE            0
 
1010
#define R_SPARC_8               1
 
1011
#define R_SPARC_16              2
 
1012
#define R_SPARC_32              3
 
1013
#define R_SPARC_DISP8           4
 
1014
#define R_SPARC_DISP16          5
 
1015
#define R_SPARC_DISP32          6
 
1016
#define R_SPARC_WDISP30         7
 
1017
#define R_SPARC_WDISP22         8
 
1018
#define R_SPARC_HI22            9
 
1019
#define R_SPARC_22              10
 
1020
#define R_SPARC_13              11
 
1021
#define R_SPARC_LO10            12
 
1022
#define R_SPARC_GOT10           13
 
1023
#define R_SPARC_GOT13           14
 
1024
#define R_SPARC_GOT22           15
 
1025
#define R_SPARC_PC10            16
 
1026
#define R_SPARC_PC22            17
 
1027
#define R_SPARC_WPLT30          18
 
1028
#define R_SPARC_COPY            19
 
1029
#define R_SPARC_GLOB_DAT        20
 
1030
#define R_SPARC_JMP_SLOT        21
 
1031
#define R_SPARC_RELATIVE        22
 
1032
#define R_SPARC_UA32            23
 
1033
 
 
1034
 
 
1035
 
 
1036
#define R_SPARC_PLT32           24
 
1037
#define R_SPARC_HIPLT22         25
 
1038
#define R_SPARC_LOPLT10         26
 
1039
#define R_SPARC_PCPLT32         27
 
1040
#define R_SPARC_PCPLT22         28
 
1041
#define R_SPARC_PCPLT10         29
 
1042
#define R_SPARC_10              30
 
1043
#define R_SPARC_11              31
 
1044
#define R_SPARC_64              32
 
1045
#define R_SPARC_OLO10           33
 
1046
#define R_SPARC_HH22            34
 
1047
#define R_SPARC_HM10            35
 
1048
#define R_SPARC_LM22            36
 
1049
#define R_SPARC_PC_HH22         37
 
1050
#define R_SPARC_PC_HM10         38
 
1051
#define R_SPARC_PC_LM22         39
 
1052
#define R_SPARC_WDISP16         40
 
1053
#define R_SPARC_WDISP19         41
 
1054
#define R_SPARC_GLOB_JMP        42
 
1055
#define R_SPARC_7               43
 
1056
#define R_SPARC_5               44
 
1057
#define R_SPARC_6               45
 
1058
#define R_SPARC_DISP64          46
 
1059
#define R_SPARC_PLT64           47
 
1060
#define R_SPARC_HIX22           48
 
1061
#define R_SPARC_LOX10           49
 
1062
#define R_SPARC_H44             50
 
1063
#define R_SPARC_M44             51
 
1064
#define R_SPARC_L44             52
 
1065
#define R_SPARC_REGISTER        53
 
1066
#define R_SPARC_UA64            54
 
1067
#define R_SPARC_UA16            55
 
1068
#define R_SPARC_TLS_GD_HI22     56
 
1069
#define R_SPARC_TLS_GD_LO10     57
 
1070
#define R_SPARC_TLS_GD_ADD      58
 
1071
#define R_SPARC_TLS_GD_CALL     59
 
1072
#define R_SPARC_TLS_LDM_HI22    60
 
1073
#define R_SPARC_TLS_LDM_LO10    61
 
1074
#define R_SPARC_TLS_LDM_ADD     62
 
1075
#define R_SPARC_TLS_LDM_CALL    63
 
1076
#define R_SPARC_TLS_LDO_HIX22   64
 
1077
#define R_SPARC_TLS_LDO_LOX10   65
 
1078
#define R_SPARC_TLS_LDO_ADD     66
 
1079
#define R_SPARC_TLS_IE_HI22     67
 
1080
#define R_SPARC_TLS_IE_LO10     68
 
1081
#define R_SPARC_TLS_IE_LD       69
 
1082
#define R_SPARC_TLS_IE_LDX      70
 
1083
#define R_SPARC_TLS_IE_ADD      71
 
1084
#define R_SPARC_TLS_LE_HIX22    72
 
1085
#define R_SPARC_TLS_LE_LOX10    73
 
1086
#define R_SPARC_TLS_DTPMOD32    74
 
1087
#define R_SPARC_TLS_DTPMOD64    75
 
1088
#define R_SPARC_TLS_DTPOFF32    76
 
1089
#define R_SPARC_TLS_DTPOFF64    77
 
1090
#define R_SPARC_TLS_TPOFF32     78
 
1091
#define R_SPARC_TLS_TPOFF64     79
 
1092
#define R_SPARC_GOTDATA_HIX22   80
 
1093
#define R_SPARC_GOTDATA_LOX10   81
 
1094
#define R_SPARC_GOTDATA_OP_HIX22        82
 
1095
#define R_SPARC_GOTDATA_OP_LOX10        83
 
1096
#define R_SPARC_GOTDATA_OP      84
 
1097
#define R_SPARC_H34             85
 
1098
#define R_SPARC_SIZE32          86
 
1099
#define R_SPARC_SIZE64          87
 
1100
#define R_SPARC_GNU_VTINHERIT   250
 
1101
#define R_SPARC_GNU_VTENTRY     251
 
1102
#define R_SPARC_REV32           252
 
1103
 
 
1104
#define R_SPARC_NUM             253
 
1105
 
 
1106
 
 
1107
 
 
1108
#define DT_SPARC_REGISTER 0x70000001
 
1109
#define DT_SPARC_NUM    2
 
1110
 
 
1111
 
 
1112
 
 
1113
#define HWCAP_SPARC_FLUSH       1
 
1114
#define HWCAP_SPARC_STBAR       2
 
1115
#define HWCAP_SPARC_SWAP        4
 
1116
#define HWCAP_SPARC_MULDIV      8
 
1117
#define HWCAP_SPARC_V9          16
 
1118
#define HWCAP_SPARC_ULTRA3      32
 
1119
#define HWCAP_SPARC_BLKINIT     64
 
1120
#define HWCAP_SPARC_N2          128
 
1121
 
 
1122
 
 
1123
 
 
1124
 
 
1125
 
 
1126
#define EF_MIPS_NOREORDER   1
 
1127
#define EF_MIPS_PIC         2
 
1128
#define EF_MIPS_CPIC        4
 
1129
#define EF_MIPS_XGOT        8
 
1130
#define EF_MIPS_64BIT_WHIRL 16
 
1131
#define EF_MIPS_ABI2        32
 
1132
#define EF_MIPS_ABI_ON32    64
 
1133
#define EF_MIPS_ARCH        0xf0000000
 
1134
 
 
1135
 
 
1136
 
 
1137
#define EF_MIPS_ARCH_1      0x00000000
 
1138
#define EF_MIPS_ARCH_2      0x10000000
 
1139
#define EF_MIPS_ARCH_3      0x20000000
 
1140
#define EF_MIPS_ARCH_4      0x30000000
 
1141
#define EF_MIPS_ARCH_5      0x40000000
 
1142
#define EF_MIPS_ARCH_32     0x60000000
 
1143
#define EF_MIPS_ARCH_64     0x70000000
 
1144
 
 
1145
 
 
1146
 
 
1147
#define E_MIPS_ARCH_1     0x00000000
 
1148
#define E_MIPS_ARCH_2     0x10000000
 
1149
#define E_MIPS_ARCH_3     0x20000000
 
1150
#define E_MIPS_ARCH_4     0x30000000
 
1151
#define E_MIPS_ARCH_5     0x40000000
 
1152
#define E_MIPS_ARCH_32    0x60000000
 
1153
#define E_MIPS_ARCH_64    0x70000000
 
1154
 
 
1155
 
 
1156
 
 
1157
#define SHN_MIPS_ACOMMON    0xff00
 
1158
#define SHN_MIPS_TEXT       0xff01
 
1159
#define SHN_MIPS_DATA       0xff02
 
1160
#define SHN_MIPS_SCOMMON    0xff03
 
1161
#define SHN_MIPS_SUNDEFINED 0xff04
 
1162
 
 
1163
 
 
1164
 
 
1165
#define SHT_MIPS_LIBLIST       0x70000000
 
1166
#define SHT_MIPS_MSYM          0x70000001
 
1167
#define SHT_MIPS_CONFLICT      0x70000002
 
1168
#define SHT_MIPS_GPTAB         0x70000003
 
1169
#define SHT_MIPS_UCODE         0x70000004
 
1170
#define SHT_MIPS_DEBUG         0x70000005
 
1171
#define SHT_MIPS_REGINFO       0x70000006
 
1172
#define SHT_MIPS_PACKAGE       0x70000007
 
1173
#define SHT_MIPS_PACKSYM       0x70000008
 
1174
#define SHT_MIPS_RELD          0x70000009
 
1175
#define SHT_MIPS_IFACE         0x7000000b
 
1176
#define SHT_MIPS_CONTENT       0x7000000c
 
1177
#define SHT_MIPS_OPTIONS       0x7000000d
 
1178
#define SHT_MIPS_SHDR          0x70000010
 
1179
#define SHT_MIPS_FDESC         0x70000011
 
1180
#define SHT_MIPS_EXTSYM        0x70000012
 
1181
#define SHT_MIPS_DENSE         0x70000013
 
1182
#define SHT_MIPS_PDESC         0x70000014
 
1183
#define SHT_MIPS_LOCSYM        0x70000015
 
1184
#define SHT_MIPS_AUXSYM        0x70000016
 
1185
#define SHT_MIPS_OPTSYM        0x70000017
 
1186
#define SHT_MIPS_LOCSTR        0x70000018
 
1187
#define SHT_MIPS_LINE          0x70000019
 
1188
#define SHT_MIPS_RFDESC        0x7000001a
 
1189
#define SHT_MIPS_DELTASYM      0x7000001b
 
1190
#define SHT_MIPS_DELTAINST     0x7000001c
 
1191
#define SHT_MIPS_DELTACLASS    0x7000001d
 
1192
#define SHT_MIPS_DWARF         0x7000001e
 
1193
#define SHT_MIPS_DELTADECL     0x7000001f
 
1194
#define SHT_MIPS_SYMBOL_LIB    0x70000020
 
1195
#define SHT_MIPS_EVENTS        0x70000021
 
1196
#define SHT_MIPS_TRANSLATE     0x70000022
 
1197
#define SHT_MIPS_PIXIE         0x70000023
 
1198
#define SHT_MIPS_XLATE         0x70000024
 
1199
#define SHT_MIPS_XLATE_DEBUG   0x70000025
 
1200
#define SHT_MIPS_WHIRL         0x70000026
 
1201
#define SHT_MIPS_EH_REGION     0x70000027
 
1202
#define SHT_MIPS_XLATE_OLD     0x70000028
 
1203
#define SHT_MIPS_PDR_EXCEPTION 0x70000029
 
1204
 
 
1205
 
 
1206
 
 
1207
#define SHF_MIPS_GPREL   0x10000000
 
1208
#define SHF_MIPS_MERGE   0x20000000
 
1209
#define SHF_MIPS_ADDR    0x40000000
 
1210
#define SHF_MIPS_STRINGS 0x80000000
 
1211
#define SHF_MIPS_NOSTRIP 0x08000000
 
1212
#define SHF_MIPS_LOCAL   0x04000000
 
1213
#define SHF_MIPS_NAMES   0x02000000
 
1214
#define SHF_MIPS_NODUPE  0x01000000
 
1215
 
 
1216
 
 
1217
 
 
1218
 
 
1219
 
 
1220
#define STO_MIPS_DEFAULT                0x0
 
1221
#define STO_MIPS_INTERNAL               0x1
 
1222
#define STO_MIPS_HIDDEN                 0x2
 
1223
#define STO_MIPS_PROTECTED              0x3
 
1224
#define STO_MIPS_PLT                    0x8
 
1225
#define STO_MIPS_SC_ALIGN_UNUSED        0xff
 
1226
 
 
1227
 
 
1228
#define STB_MIPS_SPLIT_COMMON           13
 
1229
 
 
1230
 
 
1231
 
 
1232
typedef union {
 
1233
  struct {
 
1234
      Elf32_Word gt_current_g_value;
 
1235
      Elf32_Word gt_unused;
 
1236
  } gt_header;
 
1237
  struct {
 
1238
      Elf32_Word gt_g_value;
 
1239
      Elf32_Word gt_bytes;
 
1240
  } gt_entry;
 
1241
} Elf32_gptab;
 
1242
 
 
1243
 
 
1244
 
 
1245
typedef struct {
 
1246
  Elf32_Word    ri_gprmask;
 
1247
  Elf32_Word    ri_cprmask[4];
 
1248
  Elf32_Sword   ri_gp_value;
 
1249
} Elf32_RegInfo;
 
1250
 
 
1251
 
 
1252
 
 
1253
typedef struct {
 
1254
  unsigned char kind;
 
1255
 
 
1256
  unsigned char size;
 
1257
  Elf32_Section section;
 
1258
 
 
1259
  Elf32_Word info;
 
1260
} Elf_Options;
 
1261
 
 
1262
 
 
1263
 
 
1264
#define ODK_NULL        0
 
1265
#define ODK_REGINFO     1
 
1266
#define ODK_EXCEPTIONS  2
 
1267
#define ODK_PAD         3
 
1268
#define ODK_HWPATCH     4
 
1269
#define ODK_FILL        5
 
1270
#define ODK_TAGS        6
 
1271
#define ODK_HWAND       7
 
1272
#define ODK_HWOR        8
 
1273
 
 
1274
 
 
1275
 
 
1276
#define OEX_FPU_MIN     0x1f
 
1277
#define OEX_FPU_MAX     0x1f00
 
1278
#define OEX_PAGE0       0x10000
 
1279
#define OEX_SMM         0x20000
 
1280
#define OEX_FPDBUG      0x40000
 
1281
#define OEX_PRECISEFP   OEX_FPDBUG
 
1282
#define OEX_DISMISS     0x80000
 
1283
 
 
1284
#define OEX_FPU_INVAL   0x10
 
1285
#define OEX_FPU_DIV0    0x08
 
1286
#define OEX_FPU_OFLO    0x04
 
1287
#define OEX_FPU_UFLO    0x02
 
1288
#define OEX_FPU_INEX    0x01
 
1289
 
 
1290
 
 
1291
 
 
1292
#define OHW_R4KEOP      0x1
 
1293
#define OHW_R8KPFETCH   0x2
 
1294
#define OHW_R5KEOP      0x4
 
1295
#define OHW_R5KCVTL     0x8
 
1296
 
 
1297
#define OPAD_PREFIX     0x1
 
1298
#define OPAD_POSTFIX    0x2
 
1299
#define OPAD_SYMBOL     0x4
 
1300
 
 
1301
 
 
1302
 
 
1303
typedef struct {
 
1304
  Elf32_Word hwp_flags1;
 
1305
  Elf32_Word hwp_flags2;
 
1306
} Elf_Options_Hw;
 
1307
 
 
1308
 
 
1309
 
 
1310
#define OHWA0_R4KEOP_CHECKED    0x00000001
 
1311
#define OHWA1_R4KEOP_CLEAN      0x00000002
 
1312
 
 
1313
 
 
1314
 
 
1315
#define R_MIPS_NONE             0
 
1316
#define R_MIPS_16               1
 
1317
#define R_MIPS_32               2
 
1318
#define R_MIPS_REL32            3
 
1319
#define R_MIPS_26               4
 
1320
#define R_MIPS_HI16             5
 
1321
#define R_MIPS_LO16             6
 
1322
#define R_MIPS_GPREL16          7
 
1323
#define R_MIPS_LITERAL          8
 
1324
#define R_MIPS_GOT16            9
 
1325
#define R_MIPS_PC16             10
 
1326
#define R_MIPS_CALL16           11
 
1327
#define R_MIPS_GPREL32          12
 
1328
 
 
1329
#define R_MIPS_SHIFT5           16
 
1330
#define R_MIPS_SHIFT6           17
 
1331
#define R_MIPS_64               18
 
1332
#define R_MIPS_GOT_DISP         19
 
1333
#define R_MIPS_GOT_PAGE         20
 
1334
#define R_MIPS_GOT_OFST         21
 
1335
#define R_MIPS_GOT_HI16         22
 
1336
#define R_MIPS_GOT_LO16         23
 
1337
#define R_MIPS_SUB              24
 
1338
#define R_MIPS_INSERT_A         25
 
1339
#define R_MIPS_INSERT_B         26
 
1340
#define R_MIPS_DELETE           27
 
1341
#define R_MIPS_HIGHER           28
 
1342
#define R_MIPS_HIGHEST          29
 
1343
#define R_MIPS_CALL_HI16        30
 
1344
#define R_MIPS_CALL_LO16        31
 
1345
#define R_MIPS_SCN_DISP         32
 
1346
#define R_MIPS_REL16            33
 
1347
#define R_MIPS_ADD_IMMEDIATE    34
 
1348
#define R_MIPS_PJUMP            35
 
1349
#define R_MIPS_RELGOT           36
 
1350
#define R_MIPS_JALR             37
 
1351
#define R_MIPS_TLS_DTPMOD32     38
 
1352
#define R_MIPS_TLS_DTPREL32     39
 
1353
#define R_MIPS_TLS_DTPMOD64     40
 
1354
#define R_MIPS_TLS_DTPREL64     41
 
1355
#define R_MIPS_TLS_GD           42
 
1356
#define R_MIPS_TLS_LDM          43
 
1357
#define R_MIPS_TLS_DTPREL_HI16  44
 
1358
#define R_MIPS_TLS_DTPREL_LO16  45
 
1359
#define R_MIPS_TLS_GOTTPREL     46
 
1360
#define R_MIPS_TLS_TPREL32      47
 
1361
#define R_MIPS_TLS_TPREL64      48
 
1362
#define R_MIPS_TLS_TPREL_HI16   49
 
1363
#define R_MIPS_TLS_TPREL_LO16   50
 
1364
#define R_MIPS_GLOB_DAT         51
 
1365
#define R_MIPS_COPY             126
 
1366
#define R_MIPS_JUMP_SLOT        127
 
1367
 
 
1368
#define R_MIPS_NUM              128
 
1369
 
 
1370
 
 
1371
 
 
1372
#define PT_MIPS_REGINFO 0x70000000
 
1373
#define PT_MIPS_RTPROC  0x70000001
 
1374
#define PT_MIPS_OPTIONS 0x70000002
 
1375
 
 
1376
 
 
1377
 
 
1378
#define PF_MIPS_LOCAL   0x10000000
 
1379
 
 
1380
 
 
1381
 
 
1382
#define DT_MIPS_RLD_VERSION  0x70000001
 
1383
#define DT_MIPS_TIME_STAMP   0x70000002
 
1384
#define DT_MIPS_ICHECKSUM    0x70000003
 
1385
#define DT_MIPS_IVERSION     0x70000004
 
1386
#define DT_MIPS_FLAGS        0x70000005
 
1387
#define DT_MIPS_BASE_ADDRESS 0x70000006
 
1388
#define DT_MIPS_MSYM         0x70000007
 
1389
#define DT_MIPS_CONFLICT     0x70000008
 
1390
#define DT_MIPS_LIBLIST      0x70000009
 
1391
#define DT_MIPS_LOCAL_GOTNO  0x7000000a
 
1392
#define DT_MIPS_CONFLICTNO   0x7000000b
 
1393
#define DT_MIPS_LIBLISTNO    0x70000010
 
1394
#define DT_MIPS_SYMTABNO     0x70000011
 
1395
#define DT_MIPS_UNREFEXTNO   0x70000012
 
1396
#define DT_MIPS_GOTSYM       0x70000013
 
1397
#define DT_MIPS_HIPAGENO     0x70000014
 
1398
#define DT_MIPS_RLD_MAP      0x70000016
 
1399
#define DT_MIPS_DELTA_CLASS  0x70000017
 
1400
#define DT_MIPS_DELTA_CLASS_NO    0x70000018
 
1401
 
 
1402
#define DT_MIPS_DELTA_INSTANCE    0x70000019
 
1403
#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
 
1404
 
 
1405
#define DT_MIPS_DELTA_RELOC  0x7000001b
 
1406
#define DT_MIPS_DELTA_RELOC_NO 0x7000001c
 
1407
 
 
1408
#define DT_MIPS_DELTA_SYM    0x7000001d
 
1409
 
 
1410
#define DT_MIPS_DELTA_SYM_NO 0x7000001e
 
1411
 
 
1412
#define DT_MIPS_DELTA_CLASSSYM 0x70000020
 
1413
 
 
1414
#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
 
1415
 
 
1416
#define DT_MIPS_CXX_FLAGS    0x70000022
 
1417
#define DT_MIPS_PIXIE_INIT   0x70000023
 
1418
#define DT_MIPS_SYMBOL_LIB   0x70000024
 
1419
#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
 
1420
#define DT_MIPS_LOCAL_GOTIDX 0x70000026
 
1421
#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
 
1422
#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
 
1423
#define DT_MIPS_OPTIONS      0x70000029
 
1424
#define DT_MIPS_INTERFACE    0x7000002a
 
1425
#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
 
1426
#define DT_MIPS_INTERFACE_SIZE 0x7000002c
 
1427
#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
 
1428
 
 
1429
#define DT_MIPS_PERF_SUFFIX  0x7000002e
 
1430
 
 
1431
#define DT_MIPS_COMPACT_SIZE 0x7000002f
 
1432
#define DT_MIPS_GP_VALUE     0x70000030
 
1433
#define DT_MIPS_AUX_DYNAMIC  0x70000031
 
1434
 
 
1435
#define DT_MIPS_PLTGOT       0x70000032
 
1436
 
 
1437
#define DT_MIPS_RWPLT        0x70000034
 
1438
#define DT_MIPS_NUM          0x35
 
1439
 
 
1440
 
 
1441
 
 
1442
#define RHF_NONE                   0
 
1443
#define RHF_QUICKSTART             (1 << 0)
 
1444
#define RHF_NOTPOT                 (1 << 1)
 
1445
#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
 
1446
#define RHF_NO_MOVE                (1 << 3)
 
1447
#define RHF_SGI_ONLY               (1 << 4)
 
1448
#define RHF_GUARANTEE_INIT         (1 << 5)
 
1449
#define RHF_DELTA_C_PLUS_PLUS      (1 << 6)
 
1450
#define RHF_GUARANTEE_START_INIT   (1 << 7)
 
1451
#define RHF_PIXIE                  (1 << 8)
 
1452
#define RHF_DEFAULT_DELAY_LOAD     (1 << 9)
 
1453
#define RHF_REQUICKSTART           (1 << 10)
 
1454
#define RHF_REQUICKSTARTED         (1 << 11)
 
1455
#define RHF_CORD                   (1 << 12)
 
1456
#define RHF_NO_UNRES_UNDEF         (1 << 13)
 
1457
#define RHF_RLD_ORDER_SAFE         (1 << 14)
 
1458
 
 
1459
 
 
1460
 
 
1461
typedef struct
 
1462
{
 
1463
  Elf32_Word l_name;
 
1464
  Elf32_Word l_time_stamp;
 
1465
  Elf32_Word l_checksum;
 
1466
  Elf32_Word l_version;
 
1467
  Elf32_Word l_flags;
 
1468
} Elf32_Lib;
 
1469
 
 
1470
typedef struct
 
1471
{
 
1472
  Elf64_Word l_name;
 
1473
  Elf64_Word l_time_stamp;
 
1474
  Elf64_Word l_checksum;
 
1475
  Elf64_Word l_version;
 
1476
  Elf64_Word l_flags;
 
1477
} Elf64_Lib;
 
1478
 
 
1479
 
 
1480
 
 
1481
 
 
1482
#define LL_NONE           0
 
1483
#define LL_EXACT_MATCH    (1 << 0)
 
1484
#define LL_IGNORE_INT_VER (1 << 1)
 
1485
#define LL_REQUIRE_MINOR  (1 << 2)
 
1486
#define LL_EXPORTS        (1 << 3)
 
1487
#define LL_DELAY_LOAD     (1 << 4)
 
1488
#define LL_DELTA          (1 << 5)
 
1489
 
 
1490
 
 
1491
 
 
1492
typedef Elf32_Addr Elf32_Conflict;
 
1493
 
 
1494
 
 
1495
 
 
1496
 
 
1497
 
 
1498
 
 
1499
#define EF_PARISC_TRAPNIL       0x00010000
 
1500
#define EF_PARISC_EXT           0x00020000
 
1501
#define EF_PARISC_LSB           0x00040000
 
1502
#define EF_PARISC_WIDE          0x00080000
 
1503
#define EF_PARISC_NO_KABP       0x00100000
 
1504
 
 
1505
#define EF_PARISC_LAZYSWAP      0x00400000
 
1506
#define EF_PARISC_ARCH          0x0000ffff
 
1507
 
 
1508
 
 
1509
 
 
1510
#define EFA_PARISC_1_0              0x020b
 
1511
#define EFA_PARISC_1_1              0x0210
 
1512
#define EFA_PARISC_2_0              0x0214
 
1513
 
 
1514
 
 
1515
 
 
1516
#define SHN_PARISC_ANSI_COMMON  0xff00
 
1517
 
 
1518
#define SHN_PARISC_HUGE_COMMON  0xff01
 
1519
 
 
1520
 
 
1521
 
 
1522
#define SHT_PARISC_EXT          0x70000000
 
1523
#define SHT_PARISC_UNWIND       0x70000001
 
1524
#define SHT_PARISC_DOC          0x70000002
 
1525
 
 
1526
 
 
1527
 
 
1528
#define SHF_PARISC_SHORT        0x20000000
 
1529
#define SHF_PARISC_HUGE         0x40000000
 
1530
#define SHF_PARISC_SBP          0x80000000
 
1531
 
 
1532
 
 
1533
 
 
1534
#define STT_PARISC_MILLICODE    13
 
1535
 
 
1536
#define STT_HP_OPAQUE           (STT_LOOS + 0x1)
 
1537
#define STT_HP_STUB             (STT_LOOS + 0x2)
 
1538
 
 
1539
 
 
1540
 
 
1541
#define R_PARISC_NONE           0
 
1542
#define R_PARISC_DIR32          1
 
1543
#define R_PARISC_DIR21L         2
 
1544
#define R_PARISC_DIR17R         3
 
1545
#define R_PARISC_DIR17F         4
 
1546
#define R_PARISC_DIR14R         6
 
1547
#define R_PARISC_PCREL32        9
 
1548
#define R_PARISC_PCREL21L       10
 
1549
#define R_PARISC_PCREL17R       11
 
1550
#define R_PARISC_PCREL17F       12
 
1551
#define R_PARISC_PCREL14R       14
 
1552
#define R_PARISC_DPREL21L       18
 
1553
#define R_PARISC_DPREL14R       22
 
1554
#define R_PARISC_GPREL21L       26
 
1555
#define R_PARISC_GPREL14R       30
 
1556
#define R_PARISC_LTOFF21L       34
 
1557
#define R_PARISC_LTOFF14R       38
 
1558
#define R_PARISC_SECREL32       41
 
1559
#define R_PARISC_SEGBASE        48
 
1560
#define R_PARISC_SEGREL32       49
 
1561
#define R_PARISC_PLTOFF21L      50
 
1562
#define R_PARISC_PLTOFF14R      54
 
1563
#define R_PARISC_LTOFF_FPTR32   57
 
1564
#define R_PARISC_LTOFF_FPTR21L  58
 
1565
#define R_PARISC_LTOFF_FPTR14R  62
 
1566
#define R_PARISC_FPTR64         64
 
1567
#define R_PARISC_PLABEL32       65
 
1568
#define R_PARISC_PLABEL21L      66
 
1569
#define R_PARISC_PLABEL14R      70
 
1570
#define R_PARISC_PCREL64        72
 
1571
#define R_PARISC_PCREL22F       74
 
1572
#define R_PARISC_PCREL14WR      75
 
1573
#define R_PARISC_PCREL14DR      76
 
1574
#define R_PARISC_PCREL16F       77
 
1575
#define R_PARISC_PCREL16WF      78
 
1576
#define R_PARISC_PCREL16DF      79
 
1577
#define R_PARISC_DIR64          80
 
1578
#define R_PARISC_DIR14WR        83
 
1579
#define R_PARISC_DIR14DR        84
 
1580
#define R_PARISC_DIR16F         85
 
1581
#define R_PARISC_DIR16WF        86
 
1582
#define R_PARISC_DIR16DF        87
 
1583
#define R_PARISC_GPREL64        88
 
1584
#define R_PARISC_GPREL14WR      91
 
1585
#define R_PARISC_GPREL14DR      92
 
1586
#define R_PARISC_GPREL16F       93
 
1587
#define R_PARISC_GPREL16WF      94
 
1588
#define R_PARISC_GPREL16DF      95
 
1589
#define R_PARISC_LTOFF64        96
 
1590
#define R_PARISC_LTOFF14WR      99
 
1591
#define R_PARISC_LTOFF14DR      100
 
1592
#define R_PARISC_LTOFF16F       101
 
1593
#define R_PARISC_LTOFF16WF      102
 
1594
#define R_PARISC_LTOFF16DF      103
 
1595
#define R_PARISC_SECREL64       104
 
1596
#define R_PARISC_SEGREL64       112
 
1597
#define R_PARISC_PLTOFF14WR     115
 
1598
#define R_PARISC_PLTOFF14DR     116
 
1599
#define R_PARISC_PLTOFF16F      117
 
1600
#define R_PARISC_PLTOFF16WF     118
 
1601
#define R_PARISC_PLTOFF16DF     119
 
1602
#define R_PARISC_LTOFF_FPTR64   120
 
1603
#define R_PARISC_LTOFF_FPTR14WR 123
 
1604
#define R_PARISC_LTOFF_FPTR14DR 124
 
1605
#define R_PARISC_LTOFF_FPTR16F  125
 
1606
#define R_PARISC_LTOFF_FPTR16WF 126
 
1607
#define R_PARISC_LTOFF_FPTR16DF 127
 
1608
#define R_PARISC_LORESERVE      128
 
1609
#define R_PARISC_COPY           128
 
1610
#define R_PARISC_IPLT           129
 
1611
#define R_PARISC_EPLT           130
 
1612
#define R_PARISC_TPREL32        153
 
1613
#define R_PARISC_TPREL21L       154
 
1614
#define R_PARISC_TPREL14R       158
 
1615
#define R_PARISC_LTOFF_TP21L    162
 
1616
#define R_PARISC_LTOFF_TP14R    166
 
1617
#define R_PARISC_LTOFF_TP14F    167
 
1618
#define R_PARISC_TPREL64        216
 
1619
#define R_PARISC_TPREL14WR      219
 
1620
#define R_PARISC_TPREL14DR      220
 
1621
#define R_PARISC_TPREL16F       221
 
1622
#define R_PARISC_TPREL16WF      222
 
1623
#define R_PARISC_TPREL16DF      223
 
1624
#define R_PARISC_LTOFF_TP64     224
 
1625
#define R_PARISC_LTOFF_TP14WR   227
 
1626
#define R_PARISC_LTOFF_TP14DR   228
 
1627
#define R_PARISC_LTOFF_TP16F    229
 
1628
#define R_PARISC_LTOFF_TP16WF   230
 
1629
#define R_PARISC_LTOFF_TP16DF   231
 
1630
#define R_PARISC_GNU_VTENTRY    232
 
1631
#define R_PARISC_GNU_VTINHERIT  233
 
1632
#define R_PARISC_TLS_GD21L      234
 
1633
#define R_PARISC_TLS_GD14R      235
 
1634
#define R_PARISC_TLS_GDCALL     236
 
1635
#define R_PARISC_TLS_LDM21L     237
 
1636
#define R_PARISC_TLS_LDM14R     238
 
1637
#define R_PARISC_TLS_LDMCALL    239
 
1638
#define R_PARISC_TLS_LDO21L     240
 
1639
#define R_PARISC_TLS_LDO14R     241
 
1640
#define R_PARISC_TLS_DTPMOD32   242
 
1641
#define R_PARISC_TLS_DTPMOD64   243
 
1642
#define R_PARISC_TLS_DTPOFF32   244
 
1643
#define R_PARISC_TLS_DTPOFF64   245
 
1644
#define R_PARISC_TLS_LE21L      R_PARISC_TPREL21L
 
1645
#define R_PARISC_TLS_LE14R      R_PARISC_TPREL14R
 
1646
#define R_PARISC_TLS_IE21L      R_PARISC_LTOFF_TP21L
 
1647
#define R_PARISC_TLS_IE14R      R_PARISC_LTOFF_TP14R
 
1648
#define R_PARISC_TLS_TPREL32    R_PARISC_TPREL32
 
1649
#define R_PARISC_TLS_TPREL64    R_PARISC_TPREL64
 
1650
#define R_PARISC_HIRESERVE      255
 
1651
 
 
1652
 
 
1653
 
 
1654
#define PT_HP_TLS               (PT_LOOS + 0x0)
 
1655
#define PT_HP_CORE_NONE         (PT_LOOS + 0x1)
 
1656
#define PT_HP_CORE_VERSION      (PT_LOOS + 0x2)
 
1657
#define PT_HP_CORE_KERNEL       (PT_LOOS + 0x3)
 
1658
#define PT_HP_CORE_COMM         (PT_LOOS + 0x4)
 
1659
#define PT_HP_CORE_PROC         (PT_LOOS + 0x5)
 
1660
#define PT_HP_CORE_LOADABLE     (PT_LOOS + 0x6)
 
1661
#define PT_HP_CORE_STACK        (PT_LOOS + 0x7)
 
1662
#define PT_HP_CORE_SHM          (PT_LOOS + 0x8)
 
1663
#define PT_HP_CORE_MMF          (PT_LOOS + 0x9)
 
1664
#define PT_HP_PARALLEL          (PT_LOOS + 0x10)
 
1665
#define PT_HP_FASTBIND          (PT_LOOS + 0x11)
 
1666
#define PT_HP_OPT_ANNOT         (PT_LOOS + 0x12)
 
1667
#define PT_HP_HSL_ANNOT         (PT_LOOS + 0x13)
 
1668
#define PT_HP_STACK             (PT_LOOS + 0x14)
 
1669
 
 
1670
#define PT_PARISC_ARCHEXT       0x70000000
 
1671
#define PT_PARISC_UNWIND        0x70000001
 
1672
 
 
1673
 
 
1674
 
 
1675
#define PF_PARISC_SBP           0x08000000
 
1676
 
 
1677
#define PF_HP_PAGE_SIZE         0x00100000
 
1678
#define PF_HP_FAR_SHARED        0x00200000
 
1679
#define PF_HP_NEAR_SHARED       0x00400000
 
1680
#define PF_HP_CODE              0x01000000
 
1681
#define PF_HP_MODIFY            0x02000000
 
1682
#define PF_HP_LAZYSWAP          0x04000000
 
1683
#define PF_HP_SBP               0x08000000
 
1684
 
 
1685
 
 
1686
 
 
1687
 
 
1688
 
 
1689
 
 
1690
#define EF_ALPHA_32BIT          1
 
1691
#define EF_ALPHA_CANRELAX       2
 
1692
 
 
1693
 
 
1694
 
 
1695
 
 
1696
#define SHT_ALPHA_DEBUG         0x70000001
 
1697
#define SHT_ALPHA_REGINFO       0x70000002
 
1698
 
 
1699
 
 
1700
 
 
1701
#define SHF_ALPHA_GPREL         0x10000000
 
1702
 
 
1703
 
 
1704
#define STO_ALPHA_NOPV          0x80
 
1705
#define STO_ALPHA_STD_GPLOAD    0x88
 
1706
 
 
1707
 
 
1708
 
 
1709
#define R_ALPHA_NONE            0
 
1710
#define R_ALPHA_REFLONG         1
 
1711
#define R_ALPHA_REFQUAD         2
 
1712
#define R_ALPHA_GPREL32         3
 
1713
#define R_ALPHA_LITERAL         4
 
1714
#define R_ALPHA_LITUSE          5
 
1715
#define R_ALPHA_GPDISP          6
 
1716
#define R_ALPHA_BRADDR          7
 
1717
#define R_ALPHA_HINT            8
 
1718
#define R_ALPHA_SREL16          9
 
1719
#define R_ALPHA_SREL32          10
 
1720
#define R_ALPHA_SREL64          11
 
1721
#define R_ALPHA_GPRELHIGH       17
 
1722
#define R_ALPHA_GPRELLOW        18
 
1723
#define R_ALPHA_GPREL16         19
 
1724
#define R_ALPHA_COPY            24
 
1725
#define R_ALPHA_GLOB_DAT        25
 
1726
#define R_ALPHA_JMP_SLOT        26
 
1727
#define R_ALPHA_RELATIVE        27
 
1728
#define R_ALPHA_TLS_GD_HI       28
 
1729
#define R_ALPHA_TLSGD           29
 
1730
#define R_ALPHA_TLS_LDM         30
 
1731
#define R_ALPHA_DTPMOD64        31
 
1732
#define R_ALPHA_GOTDTPREL       32
 
1733
#define R_ALPHA_DTPREL64        33
 
1734
#define R_ALPHA_DTPRELHI        34
 
1735
#define R_ALPHA_DTPRELLO        35
 
1736
#define R_ALPHA_DTPREL16        36
 
1737
#define R_ALPHA_GOTTPREL        37
 
1738
#define R_ALPHA_TPREL64         38
 
1739
#define R_ALPHA_TPRELHI         39
 
1740
#define R_ALPHA_TPRELLO         40
 
1741
#define R_ALPHA_TPREL16         41
 
1742
 
 
1743
#define R_ALPHA_NUM             46
 
1744
 
 
1745
 
 
1746
#define LITUSE_ALPHA_ADDR       0
 
1747
#define LITUSE_ALPHA_BASE       1
 
1748
#define LITUSE_ALPHA_BYTOFF     2
 
1749
#define LITUSE_ALPHA_JSR        3
 
1750
#define LITUSE_ALPHA_TLS_GD     4
 
1751
#define LITUSE_ALPHA_TLS_LDM    5
 
1752
 
 
1753
 
 
1754
#define DT_ALPHA_PLTRO          (DT_LOPROC + 0)
 
1755
#define DT_ALPHA_NUM            1
 
1756
 
 
1757
 
 
1758
 
 
1759
 
 
1760
#define EF_PPC_EMB              0x80000000
 
1761
 
 
1762
 
 
1763
#define EF_PPC_RELOCATABLE      0x00010000
 
1764
#define EF_PPC_RELOCATABLE_LIB  0x00008000
 
1765
 
 
1766
 
 
1767
 
 
1768
#define R_PPC_NONE              0
 
1769
#define R_PPC_ADDR32            1
 
1770
#define R_PPC_ADDR24            2
 
1771
#define R_PPC_ADDR16            3
 
1772
#define R_PPC_ADDR16_LO         4
 
1773
#define R_PPC_ADDR16_HI         5
 
1774
#define R_PPC_ADDR16_HA         6
 
1775
#define R_PPC_ADDR14            7
 
1776
#define R_PPC_ADDR14_BRTAKEN    8
 
1777
#define R_PPC_ADDR14_BRNTAKEN   9
 
1778
#define R_PPC_REL24             10
 
1779
#define R_PPC_REL14             11
 
1780
#define R_PPC_REL14_BRTAKEN     12
 
1781
#define R_PPC_REL14_BRNTAKEN    13
 
1782
#define R_PPC_GOT16             14
 
1783
#define R_PPC_GOT16_LO          15
 
1784
#define R_PPC_GOT16_HI          16
 
1785
#define R_PPC_GOT16_HA          17
 
1786
#define R_PPC_PLTREL24          18
 
1787
#define R_PPC_COPY              19
 
1788
#define R_PPC_GLOB_DAT          20
 
1789
#define R_PPC_JMP_SLOT          21
 
1790
#define R_PPC_RELATIVE          22
 
1791
#define R_PPC_LOCAL24PC         23
 
1792
#define R_PPC_UADDR32           24
 
1793
#define R_PPC_UADDR16           25
 
1794
#define R_PPC_REL32             26
 
1795
#define R_PPC_PLT32             27
 
1796
#define R_PPC_PLTREL32          28
 
1797
#define R_PPC_PLT16_LO          29
 
1798
#define R_PPC_PLT16_HI          30
 
1799
#define R_PPC_PLT16_HA          31
 
1800
#define R_PPC_SDAREL16          32
 
1801
#define R_PPC_SECTOFF           33
 
1802
#define R_PPC_SECTOFF_LO        34
 
1803
#define R_PPC_SECTOFF_HI        35
 
1804
#define R_PPC_SECTOFF_HA        36
 
1805
 
 
1806
 
 
1807
#define R_PPC_TLS               67
 
1808
#define R_PPC_DTPMOD32          68
 
1809
#define R_PPC_TPREL16           69
 
1810
#define R_PPC_TPREL16_LO        70
 
1811
#define R_PPC_TPREL16_HI        71
 
1812
#define R_PPC_TPREL16_HA        72
 
1813
#define R_PPC_TPREL32           73
 
1814
#define R_PPC_DTPREL16          74
 
1815
#define R_PPC_DTPREL16_LO       75
 
1816
#define R_PPC_DTPREL16_HI       76
 
1817
#define R_PPC_DTPREL16_HA       77
 
1818
#define R_PPC_DTPREL32          78
 
1819
#define R_PPC_GOT_TLSGD16       79
 
1820
#define R_PPC_GOT_TLSGD16_LO    80
 
1821
#define R_PPC_GOT_TLSGD16_HI    81
 
1822
#define R_PPC_GOT_TLSGD16_HA    82
 
1823
#define R_PPC_GOT_TLSLD16       83
 
1824
#define R_PPC_GOT_TLSLD16_LO    84
 
1825
#define R_PPC_GOT_TLSLD16_HI    85
 
1826
#define R_PPC_GOT_TLSLD16_HA    86
 
1827
#define R_PPC_GOT_TPREL16       87
 
1828
#define R_PPC_GOT_TPREL16_LO    88
 
1829
#define R_PPC_GOT_TPREL16_HI    89
 
1830
#define R_PPC_GOT_TPREL16_HA    90
 
1831
#define R_PPC_GOT_DTPREL16      91
 
1832
#define R_PPC_GOT_DTPREL16_LO   92
 
1833
#define R_PPC_GOT_DTPREL16_HI   93
 
1834
#define R_PPC_GOT_DTPREL16_HA   94
 
1835
 
 
1836
 
 
1837
 
 
1838
#define R_PPC_EMB_NADDR32       101
 
1839
#define R_PPC_EMB_NADDR16       102
 
1840
#define R_PPC_EMB_NADDR16_LO    103
 
1841
#define R_PPC_EMB_NADDR16_HI    104
 
1842
#define R_PPC_EMB_NADDR16_HA    105
 
1843
#define R_PPC_EMB_SDAI16        106
 
1844
#define R_PPC_EMB_SDA2I16       107
 
1845
#define R_PPC_EMB_SDA2REL       108
 
1846
#define R_PPC_EMB_SDA21         109
 
1847
#define R_PPC_EMB_MRKREF        110
 
1848
#define R_PPC_EMB_RELSEC16      111
 
1849
#define R_PPC_EMB_RELST_LO      112
 
1850
#define R_PPC_EMB_RELST_HI      113
 
1851
#define R_PPC_EMB_RELST_HA      114
 
1852
#define R_PPC_EMB_BIT_FLD       115
 
1853
#define R_PPC_EMB_RELSDA        116
 
1854
 
 
1855
 
 
1856
#define R_PPC_DIAB_SDA21_LO     180
 
1857
#define R_PPC_DIAB_SDA21_HI     181
 
1858
#define R_PPC_DIAB_SDA21_HA     182
 
1859
#define R_PPC_DIAB_RELSDA_LO    183
 
1860
#define R_PPC_DIAB_RELSDA_HI    184
 
1861
#define R_PPC_DIAB_RELSDA_HA    185
 
1862
 
 
1863
 
 
1864
#define R_PPC_IRELATIVE         248
 
1865
 
 
1866
 
 
1867
#define R_PPC_REL16             249
 
1868
#define R_PPC_REL16_LO          250
 
1869
#define R_PPC_REL16_HI          251
 
1870
#define R_PPC_REL16_HA          252
 
1871
 
 
1872
 
 
1873
 
 
1874
#define R_PPC_TOC16             255
 
1875
 
 
1876
 
 
1877
#define DT_PPC_GOT              (DT_LOPROC + 0)
 
1878
#define DT_PPC_NUM              1
 
1879
 
 
1880
 
 
1881
#define R_PPC64_NONE            R_PPC_NONE
 
1882
#define R_PPC64_ADDR32          R_PPC_ADDR32
 
1883
#define R_PPC64_ADDR24          R_PPC_ADDR24
 
1884
#define R_PPC64_ADDR16          R_PPC_ADDR16
 
1885
#define R_PPC64_ADDR16_LO       R_PPC_ADDR16_LO
 
1886
#define R_PPC64_ADDR16_HI       R_PPC_ADDR16_HI
 
1887
#define R_PPC64_ADDR16_HA       R_PPC_ADDR16_HA
 
1888
#define R_PPC64_ADDR14          R_PPC_ADDR14
 
1889
#define R_PPC64_ADDR14_BRTAKEN  R_PPC_ADDR14_BRTAKEN
 
1890
#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
 
1891
#define R_PPC64_REL24           R_PPC_REL24
 
1892
#define R_PPC64_REL14           R_PPC_REL14
 
1893
#define R_PPC64_REL14_BRTAKEN   R_PPC_REL14_BRTAKEN
 
1894
#define R_PPC64_REL14_BRNTAKEN  R_PPC_REL14_BRNTAKEN
 
1895
#define R_PPC64_GOT16           R_PPC_GOT16
 
1896
#define R_PPC64_GOT16_LO        R_PPC_GOT16_LO
 
1897
#define R_PPC64_GOT16_HI        R_PPC_GOT16_HI
 
1898
#define R_PPC64_GOT16_HA        R_PPC_GOT16_HA
 
1899
 
 
1900
#define R_PPC64_COPY            R_PPC_COPY
 
1901
#define R_PPC64_GLOB_DAT        R_PPC_GLOB_DAT
 
1902
#define R_PPC64_JMP_SLOT        R_PPC_JMP_SLOT
 
1903
#define R_PPC64_RELATIVE        R_PPC_RELATIVE
 
1904
 
 
1905
#define R_PPC64_UADDR32         R_PPC_UADDR32
 
1906
#define R_PPC64_UADDR16         R_PPC_UADDR16
 
1907
#define R_PPC64_REL32           R_PPC_REL32
 
1908
#define R_PPC64_PLT32           R_PPC_PLT32
 
1909
#define R_PPC64_PLTREL32        R_PPC_PLTREL32
 
1910
#define R_PPC64_PLT16_LO        R_PPC_PLT16_LO
 
1911
#define R_PPC64_PLT16_HI        R_PPC_PLT16_HI
 
1912
#define R_PPC64_PLT16_HA        R_PPC_PLT16_HA
 
1913
 
 
1914
#define R_PPC64_SECTOFF         R_PPC_SECTOFF
 
1915
#define R_PPC64_SECTOFF_LO      R_PPC_SECTOFF_LO
 
1916
#define R_PPC64_SECTOFF_HI      R_PPC_SECTOFF_HI
 
1917
#define R_PPC64_SECTOFF_HA      R_PPC_SECTOFF_HA
 
1918
#define R_PPC64_ADDR30          37
 
1919
#define R_PPC64_ADDR64          38
 
1920
#define R_PPC64_ADDR16_HIGHER   39
 
1921
#define R_PPC64_ADDR16_HIGHERA  40
 
1922
#define R_PPC64_ADDR16_HIGHEST  41
 
1923
#define R_PPC64_ADDR16_HIGHESTA 42
 
1924
#define R_PPC64_UADDR64         43
 
1925
#define R_PPC64_REL64           44
 
1926
#define R_PPC64_PLT64           45
 
1927
#define R_PPC64_PLTREL64        46
 
1928
#define R_PPC64_TOC16           47
 
1929
#define R_PPC64_TOC16_LO        48
 
1930
#define R_PPC64_TOC16_HI        49
 
1931
#define R_PPC64_TOC16_HA        50
 
1932
#define R_PPC64_TOC             51
 
1933
#define R_PPC64_PLTGOT16        52
 
1934
#define R_PPC64_PLTGOT16_LO     53
 
1935
#define R_PPC64_PLTGOT16_HI     54
 
1936
#define R_PPC64_PLTGOT16_HA     55
 
1937
 
 
1938
#define R_PPC64_ADDR16_DS       56
 
1939
#define R_PPC64_ADDR16_LO_DS    57
 
1940
#define R_PPC64_GOT16_DS        58
 
1941
#define R_PPC64_GOT16_LO_DS     59
 
1942
#define R_PPC64_PLT16_LO_DS     60
 
1943
#define R_PPC64_SECTOFF_DS      61
 
1944
#define R_PPC64_SECTOFF_LO_DS   62
 
1945
#define R_PPC64_TOC16_DS        63
 
1946
#define R_PPC64_TOC16_LO_DS     64
 
1947
#define R_PPC64_PLTGOT16_DS     65
 
1948
#define R_PPC64_PLTGOT16_LO_DS  66
 
1949
 
 
1950
 
 
1951
#define R_PPC64_TLS             67
 
1952
#define R_PPC64_DTPMOD64        68
 
1953
#define R_PPC64_TPREL16         69
 
1954
#define R_PPC64_TPREL16_LO      70
 
1955
#define R_PPC64_TPREL16_HI      71
 
1956
#define R_PPC64_TPREL16_HA      72
 
1957
#define R_PPC64_TPREL64         73
 
1958
#define R_PPC64_DTPREL16        74
 
1959
#define R_PPC64_DTPREL16_LO     75
 
1960
#define R_PPC64_DTPREL16_HI     76
 
1961
#define R_PPC64_DTPREL16_HA     77
 
1962
#define R_PPC64_DTPREL64        78
 
1963
#define R_PPC64_GOT_TLSGD16     79
 
1964
#define R_PPC64_GOT_TLSGD16_LO  80
 
1965
#define R_PPC64_GOT_TLSGD16_HI  81
 
1966
#define R_PPC64_GOT_TLSGD16_HA  82
 
1967
#define R_PPC64_GOT_TLSLD16     83
 
1968
#define R_PPC64_GOT_TLSLD16_LO  84
 
1969
#define R_PPC64_GOT_TLSLD16_HI  85
 
1970
#define R_PPC64_GOT_TLSLD16_HA  86
 
1971
#define R_PPC64_GOT_TPREL16_DS  87
 
1972
#define R_PPC64_GOT_TPREL16_LO_DS 88
 
1973
#define R_PPC64_GOT_TPREL16_HI  89
 
1974
#define R_PPC64_GOT_TPREL16_HA  90
 
1975
#define R_PPC64_GOT_DTPREL16_DS 91
 
1976
#define R_PPC64_GOT_DTPREL16_LO_DS 92
 
1977
#define R_PPC64_GOT_DTPREL16_HI 93
 
1978
#define R_PPC64_GOT_DTPREL16_HA 94
 
1979
#define R_PPC64_TPREL16_DS      95
 
1980
#define R_PPC64_TPREL16_LO_DS   96
 
1981
#define R_PPC64_TPREL16_HIGHER  97
 
1982
#define R_PPC64_TPREL16_HIGHERA 98
 
1983
#define R_PPC64_TPREL16_HIGHEST 99
 
1984
#define R_PPC64_TPREL16_HIGHESTA 100
 
1985
#define R_PPC64_DTPREL16_DS     101
 
1986
#define R_PPC64_DTPREL16_LO_DS  102
 
1987
#define R_PPC64_DTPREL16_HIGHER 103
 
1988
#define R_PPC64_DTPREL16_HIGHERA 104
 
1989
#define R_PPC64_DTPREL16_HIGHEST 105
 
1990
#define R_PPC64_DTPREL16_HIGHESTA 106
 
1991
 
 
1992
 
 
1993
#define R_PPC64_JMP_IREL        247
 
1994
#define R_PPC64_IRELATIVE       248
 
1995
#define R_PPC64_REL16           249
 
1996
#define R_PPC64_REL16_LO        250
 
1997
#define R_PPC64_REL16_HI        251
 
1998
#define R_PPC64_REL16_HA        252
 
1999
 
 
2000
 
 
2001
#define DT_PPC64_GLINK  (DT_LOPROC + 0)
 
2002
#define DT_PPC64_OPD    (DT_LOPROC + 1)
 
2003
#define DT_PPC64_OPDSZ  (DT_LOPROC + 2)
 
2004
#define DT_PPC64_NUM    3
 
2005
 
 
2006
 
 
2007
 
 
2008
 
 
2009
 
 
2010
#define EF_ARM_RELEXEC          0x01
 
2011
#define EF_ARM_HASENTRY         0x02
 
2012
#define EF_ARM_INTERWORK        0x04
 
2013
#define EF_ARM_APCS_26          0x08
 
2014
#define EF_ARM_APCS_FLOAT       0x10
 
2015
#define EF_ARM_PIC              0x20
 
2016
#define EF_ARM_ALIGN8           0x40
 
2017
#define EF_ARM_NEW_ABI          0x80
 
2018
#define EF_ARM_OLD_ABI          0x100
 
2019
#define EF_ARM_SOFT_FLOAT       0x200
 
2020
#define EF_ARM_VFP_FLOAT        0x400
 
2021
#define EF_ARM_MAVERICK_FLOAT   0x800
 
2022
 
 
2023
 
 
2024
 
 
2025
 
 
2026
#define EF_ARM_SYMSARESORTED    0x04
 
2027
#define EF_ARM_DYNSYMSUSESEGIDX 0x08
 
2028
#define EF_ARM_MAPSYMSFIRST     0x10
 
2029
#define EF_ARM_EABIMASK         0XFF000000
 
2030
 
 
2031
 
 
2032
#define EF_ARM_BE8          0x00800000
 
2033
#define EF_ARM_LE8          0x00400000
 
2034
 
 
2035
#define EF_ARM_EABI_VERSION(flags)      ((flags) & EF_ARM_EABIMASK)
 
2036
#define EF_ARM_EABI_UNKNOWN     0x00000000
 
2037
#define EF_ARM_EABI_VER1        0x01000000
 
2038
#define EF_ARM_EABI_VER2        0x02000000
 
2039
#define EF_ARM_EABI_VER3        0x03000000
 
2040
#define EF_ARM_EABI_VER4        0x04000000
 
2041
#define EF_ARM_EABI_VER5        0x05000000
 
2042
 
 
2043
 
 
2044
#define STT_ARM_TFUNC           STT_LOPROC
 
2045
#define STT_ARM_16BIT           STT_HIPROC
 
2046
 
 
2047
 
 
2048
#define SHF_ARM_ENTRYSECT       0x10000000
 
2049
#define SHF_ARM_COMDEF          0x80000000
 
2050
 
 
2051
 
 
2052
 
 
2053
#define PF_ARM_SB               0x10000000
 
2054
 
 
2055
#define PF_ARM_PI               0x20000000
 
2056
#define PF_ARM_ABS              0x40000000
 
2057
 
 
2058
 
 
2059
#define PT_ARM_EXIDX            (PT_LOPROC + 1)
 
2060
 
 
2061
 
 
2062
#define SHT_ARM_EXIDX           (SHT_LOPROC + 1)
 
2063
#define SHT_ARM_PREEMPTMAP      (SHT_LOPROC + 2)
 
2064
#define SHT_ARM_ATTRIBUTES      (SHT_LOPROC + 3)
 
2065
 
 
2066
 
 
2067
 
 
2068
 
 
2069
#define R_ARM_NONE              0
 
2070
#define R_ARM_PC24              1
 
2071
#define R_ARM_ABS32             2
 
2072
#define R_ARM_REL32             3
 
2073
#define R_ARM_PC13              4
 
2074
#define R_ARM_ABS16             5
 
2075
#define R_ARM_ABS12             6
 
2076
#define R_ARM_THM_ABS5          7
 
2077
#define R_ARM_ABS8              8
 
2078
#define R_ARM_SBREL32           9
 
2079
#define R_ARM_THM_PC22          10
 
2080
#define R_ARM_THM_PC8           11
 
2081
#define R_ARM_AMP_VCALL9        12
 
2082
#define R_ARM_SWI24             13
 
2083
#define R_ARM_THM_SWI8          14
 
2084
#define R_ARM_XPC25             15
 
2085
#define R_ARM_THM_XPC22         16
 
2086
#define R_ARM_TLS_DTPMOD32      17
 
2087
#define R_ARM_TLS_DTPOFF32      18
 
2088
#define R_ARM_TLS_TPOFF32       19
 
2089
#define R_ARM_COPY              20
 
2090
#define R_ARM_GLOB_DAT          21
 
2091
#define R_ARM_JUMP_SLOT         22
 
2092
#define R_ARM_RELATIVE          23
 
2093
#define R_ARM_GOTOFF            24
 
2094
#define R_ARM_GOTPC             25
 
2095
#define R_ARM_GOT32             26
 
2096
#define R_ARM_PLT32             27
 
2097
#define R_ARM_ALU_PCREL_7_0     32
 
2098
#define R_ARM_ALU_PCREL_15_8    33
 
2099
#define R_ARM_ALU_PCREL_23_15   34
 
2100
#define R_ARM_LDR_SBREL_11_0    35
 
2101
#define R_ARM_ALU_SBREL_19_12   36
 
2102
#define R_ARM_ALU_SBREL_27_20   37
 
2103
#define R_ARM_GNU_VTENTRY       100
 
2104
#define R_ARM_GNU_VTINHERIT     101
 
2105
#define R_ARM_THM_PC11          102
 
2106
#define R_ARM_THM_PC9           103
 
2107
#define R_ARM_TLS_GD32          104
 
2108
 
 
2109
#define R_ARM_TLS_LDM32         105
 
2110
 
 
2111
#define R_ARM_TLS_LDO32         106
 
2112
 
 
2113
#define R_ARM_TLS_IE32          107
 
2114
 
 
2115
#define R_ARM_TLS_LE32          108
 
2116
 
 
2117
#define R_ARM_RXPC25            249
 
2118
#define R_ARM_RSBREL32          250
 
2119
#define R_ARM_THM_RPC22         251
 
2120
#define R_ARM_RREL32            252
 
2121
#define R_ARM_RABS22            253
 
2122
#define R_ARM_RPC24             254
 
2123
#define R_ARM_RBASE             255
 
2124
 
 
2125
#define R_ARM_NUM               256
 
2126
 
 
2127
 
 
2128
 
 
2129
 
 
2130
#define EF_IA_64_MASKOS         0x0000000f
 
2131
#define EF_IA_64_ABI64          0x00000010
 
2132
#define EF_IA_64_ARCH           0xff000000
 
2133
 
 
2134
 
 
2135
#define PT_IA_64_ARCHEXT        (PT_LOPROC + 0)
 
2136
#define PT_IA_64_UNWIND         (PT_LOPROC + 1)
 
2137
#define PT_IA_64_HP_OPT_ANOT    (PT_LOOS + 0x12)
 
2138
#define PT_IA_64_HP_HSL_ANOT    (PT_LOOS + 0x13)
 
2139
#define PT_IA_64_HP_STACK       (PT_LOOS + 0x14)
 
2140
 
 
2141
 
 
2142
#define PF_IA_64_NORECOV        0x80000000
 
2143
 
 
2144
 
 
2145
#define SHT_IA_64_EXT           (SHT_LOPROC + 0)
 
2146
#define SHT_IA_64_UNWIND        (SHT_LOPROC + 1)
 
2147
 
 
2148
 
 
2149
#define SHF_IA_64_SHORT         0x10000000
 
2150
#define SHF_IA_64_NORECOV       0x20000000
 
2151
 
 
2152
 
 
2153
#define DT_IA_64_PLT_RESERVE    (DT_LOPROC + 0)
 
2154
#define DT_IA_64_NUM            1
 
2155
 
 
2156
 
 
2157
#define R_IA64_NONE             0x00
 
2158
#define R_IA64_IMM14            0x21
 
2159
#define R_IA64_IMM22            0x22
 
2160
#define R_IA64_IMM64            0x23
 
2161
#define R_IA64_DIR32MSB         0x24
 
2162
#define R_IA64_DIR32LSB         0x25
 
2163
#define R_IA64_DIR64MSB         0x26
 
2164
#define R_IA64_DIR64LSB         0x27
 
2165
#define R_IA64_GPREL22          0x2a
 
2166
#define R_IA64_GPREL64I         0x2b
 
2167
#define R_IA64_GPREL32MSB       0x2c
 
2168
#define R_IA64_GPREL32LSB       0x2d
 
2169
#define R_IA64_GPREL64MSB       0x2e
 
2170
#define R_IA64_GPREL64LSB       0x2f
 
2171
#define R_IA64_LTOFF22          0x32
 
2172
#define R_IA64_LTOFF64I         0x33
 
2173
#define R_IA64_PLTOFF22         0x3a
 
2174
#define R_IA64_PLTOFF64I        0x3b
 
2175
#define R_IA64_PLTOFF64MSB      0x3e
 
2176
#define R_IA64_PLTOFF64LSB      0x3f
 
2177
#define R_IA64_FPTR64I          0x43
 
2178
#define R_IA64_FPTR32MSB        0x44
 
2179
#define R_IA64_FPTR32LSB        0x45
 
2180
#define R_IA64_FPTR64MSB        0x46
 
2181
#define R_IA64_FPTR64LSB        0x47
 
2182
#define R_IA64_PCREL60B         0x48
 
2183
#define R_IA64_PCREL21B         0x49
 
2184
#define R_IA64_PCREL21M         0x4a
 
2185
#define R_IA64_PCREL21F         0x4b
 
2186
#define R_IA64_PCREL32MSB       0x4c
 
2187
#define R_IA64_PCREL32LSB       0x4d
 
2188
#define R_IA64_PCREL64MSB       0x4e
 
2189
#define R_IA64_PCREL64LSB       0x4f
 
2190
#define R_IA64_LTOFF_FPTR22     0x52
 
2191
#define R_IA64_LTOFF_FPTR64I    0x53
 
2192
#define R_IA64_LTOFF_FPTR32MSB  0x54
 
2193
#define R_IA64_LTOFF_FPTR32LSB  0x55
 
2194
#define R_IA64_LTOFF_FPTR64MSB  0x56
 
2195
#define R_IA64_LTOFF_FPTR64LSB  0x57
 
2196
#define R_IA64_SEGREL32MSB      0x5c
 
2197
#define R_IA64_SEGREL32LSB      0x5d
 
2198
#define R_IA64_SEGREL64MSB      0x5e
 
2199
#define R_IA64_SEGREL64LSB      0x5f
 
2200
#define R_IA64_SECREL32MSB      0x64
 
2201
#define R_IA64_SECREL32LSB      0x65
 
2202
#define R_IA64_SECREL64MSB      0x66
 
2203
#define R_IA64_SECREL64LSB      0x67
 
2204
#define R_IA64_REL32MSB         0x6c
 
2205
#define R_IA64_REL32LSB         0x6d
 
2206
#define R_IA64_REL64MSB         0x6e
 
2207
#define R_IA64_REL64LSB         0x6f
 
2208
#define R_IA64_LTV32MSB         0x74
 
2209
#define R_IA64_LTV32LSB         0x75
 
2210
#define R_IA64_LTV64MSB         0x76
 
2211
#define R_IA64_LTV64LSB         0x77
 
2212
#define R_IA64_PCREL21BI        0x79
 
2213
#define R_IA64_PCREL22          0x7a
 
2214
#define R_IA64_PCREL64I         0x7b
 
2215
#define R_IA64_IPLTMSB          0x80
 
2216
#define R_IA64_IPLTLSB          0x81
 
2217
#define R_IA64_COPY             0x84
 
2218
#define R_IA64_SUB              0x85
 
2219
#define R_IA64_LTOFF22X         0x86
 
2220
#define R_IA64_LDXMOV           0x87
 
2221
#define R_IA64_TPREL14          0x91
 
2222
#define R_IA64_TPREL22          0x92
 
2223
#define R_IA64_TPREL64I         0x93
 
2224
#define R_IA64_TPREL64MSB       0x96
 
2225
#define R_IA64_TPREL64LSB       0x97
 
2226
#define R_IA64_LTOFF_TPREL22    0x9a
 
2227
#define R_IA64_DTPMOD64MSB      0xa6
 
2228
#define R_IA64_DTPMOD64LSB      0xa7
 
2229
#define R_IA64_LTOFF_DTPMOD22   0xaa
 
2230
#define R_IA64_DTPREL14         0xb1
 
2231
#define R_IA64_DTPREL22         0xb2
 
2232
#define R_IA64_DTPREL64I        0xb3
 
2233
#define R_IA64_DTPREL32MSB      0xb4
 
2234
#define R_IA64_DTPREL32LSB      0xb5
 
2235
#define R_IA64_DTPREL64MSB      0xb6
 
2236
#define R_IA64_DTPREL64LSB      0xb7
 
2237
#define R_IA64_LTOFF_DTPREL22   0xba
 
2238
 
 
2239
 
 
2240
 
 
2241
 
 
2242
#define R_SH_NONE               0
 
2243
#define R_SH_DIR32              1
 
2244
#define R_SH_REL32              2
 
2245
#define R_SH_DIR8WPN            3
 
2246
#define R_SH_IND12W             4
 
2247
#define R_SH_DIR8WPL            5
 
2248
#define R_SH_DIR8WPZ            6
 
2249
#define R_SH_DIR8BP             7
 
2250
#define R_SH_DIR8W              8
 
2251
#define R_SH_DIR8L              9
 
2252
#define R_SH_SWITCH16           25
 
2253
#define R_SH_SWITCH32           26
 
2254
#define R_SH_USES               27
 
2255
#define R_SH_COUNT              28
 
2256
#define R_SH_ALIGN              29
 
2257
#define R_SH_CODE               30
 
2258
#define R_SH_DATA               31
 
2259
#define R_SH_LABEL              32
 
2260
#define R_SH_SWITCH8            33
 
2261
#define R_SH_GNU_VTINHERIT      34
 
2262
#define R_SH_GNU_VTENTRY        35
 
2263
#define R_SH_TLS_GD_32          144
 
2264
#define R_SH_TLS_LD_32          145
 
2265
#define R_SH_TLS_LDO_32         146
 
2266
#define R_SH_TLS_IE_32          147
 
2267
#define R_SH_TLS_LE_32          148
 
2268
#define R_SH_TLS_DTPMOD32       149
 
2269
#define R_SH_TLS_DTPOFF32       150
 
2270
#define R_SH_TLS_TPOFF32        151
 
2271
#define R_SH_GOT32              160
 
2272
#define R_SH_PLT32              161
 
2273
#define R_SH_COPY               162
 
2274
#define R_SH_GLOB_DAT           163
 
2275
#define R_SH_JMP_SLOT           164
 
2276
#define R_SH_RELATIVE           165
 
2277
#define R_SH_GOTOFF             166
 
2278
#define R_SH_GOTPC              167
 
2279
 
 
2280
#define R_SH_NUM                256
 
2281
 
 
2282
 
 
2283
 
 
2284
#define R_390_NONE              0
 
2285
#define R_390_8                 1
 
2286
#define R_390_12                2
 
2287
#define R_390_16                3
 
2288
#define R_390_32                4
 
2289
#define R_390_PC32              5
 
2290
#define R_390_GOT12             6
 
2291
#define R_390_GOT32             7
 
2292
#define R_390_PLT32             8
 
2293
#define R_390_COPY              9
 
2294
#define R_390_GLOB_DAT          10
 
2295
#define R_390_JMP_SLOT          11
 
2296
#define R_390_RELATIVE          12
 
2297
#define R_390_GOTOFF32          13
 
2298
#define R_390_GOTPC             14
 
2299
#define R_390_GOT16             15
 
2300
#define R_390_PC16              16
 
2301
#define R_390_PC16DBL           17
 
2302
#define R_390_PLT16DBL          18
 
2303
#define R_390_PC32DBL           19
 
2304
#define R_390_PLT32DBL          20
 
2305
#define R_390_GOTPCDBL          21
 
2306
#define R_390_64                22
 
2307
#define R_390_PC64              23
 
2308
#define R_390_GOT64             24
 
2309
#define R_390_PLT64             25
 
2310
#define R_390_GOTENT            26
 
2311
#define R_390_GOTOFF16          27
 
2312
#define R_390_GOTOFF64          28
 
2313
#define R_390_GOTPLT12          29
 
2314
#define R_390_GOTPLT16          30
 
2315
#define R_390_GOTPLT32          31
 
2316
#define R_390_GOTPLT64          32
 
2317
#define R_390_GOTPLTENT         33
 
2318
#define R_390_PLTOFF16          34
 
2319
#define R_390_PLTOFF32          35
 
2320
#define R_390_PLTOFF64          36
 
2321
#define R_390_TLS_LOAD          37
 
2322
#define R_390_TLS_GDCALL        38
 
2323
 
 
2324
#define R_390_TLS_LDCALL        39
 
2325
 
 
2326
#define R_390_TLS_GD32          40
 
2327
 
 
2328
#define R_390_TLS_GD64          41
 
2329
 
 
2330
#define R_390_TLS_GOTIE12       42
 
2331
 
 
2332
#define R_390_TLS_GOTIE32       43
 
2333
 
 
2334
#define R_390_TLS_GOTIE64       44
 
2335
 
 
2336
#define R_390_TLS_LDM32         45
 
2337
 
 
2338
#define R_390_TLS_LDM64         46
 
2339
 
 
2340
#define R_390_TLS_IE32          47
 
2341
 
 
2342
#define R_390_TLS_IE64          48
 
2343
 
 
2344
#define R_390_TLS_IEENT         49
 
2345
 
 
2346
#define R_390_TLS_LE32          50
 
2347
 
 
2348
#define R_390_TLS_LE64          51
 
2349
 
 
2350
#define R_390_TLS_LDO32         52
 
2351
 
 
2352
#define R_390_TLS_LDO64         53
 
2353
 
 
2354
#define R_390_TLS_DTPMOD        54
 
2355
#define R_390_TLS_DTPOFF        55
 
2356
#define R_390_TLS_TPOFF         56
 
2357
 
 
2358
#define R_390_20                57
 
2359
#define R_390_GOT20             58
 
2360
#define R_390_GOTPLT20          59
 
2361
#define R_390_TLS_GOTIE20       60
 
2362
 
 
2363
 
 
2364
#define R_390_NUM               61
 
2365
 
 
2366
 
 
2367
 
 
2368
#define R_CRIS_NONE             0
 
2369
#define R_CRIS_8                1
 
2370
#define R_CRIS_16               2
 
2371
#define R_CRIS_32               3
 
2372
#define R_CRIS_8_PCREL          4
 
2373
#define R_CRIS_16_PCREL         5
 
2374
#define R_CRIS_32_PCREL         6
 
2375
#define R_CRIS_GNU_VTINHERIT    7
 
2376
#define R_CRIS_GNU_VTENTRY      8
 
2377
#define R_CRIS_COPY             9
 
2378
#define R_CRIS_GLOB_DAT         10
 
2379
#define R_CRIS_JUMP_SLOT        11
 
2380
#define R_CRIS_RELATIVE         12
 
2381
#define R_CRIS_16_GOT           13
 
2382
#define R_CRIS_32_GOT           14
 
2383
#define R_CRIS_16_GOTPLT        15
 
2384
#define R_CRIS_32_GOTPLT        16
 
2385
#define R_CRIS_32_GOTREL        17
 
2386
#define R_CRIS_32_PLT_GOTREL    18
 
2387
#define R_CRIS_32_PLT_PCREL     19
 
2388
 
 
2389
#define R_CRIS_NUM              20
 
2390
 
 
2391
 
 
2392
 
 
2393
#define R_X86_64_NONE           0
 
2394
#define R_X86_64_64             1
 
2395
#define R_X86_64_PC32           2
 
2396
#define R_X86_64_GOT32          3
 
2397
#define R_X86_64_PLT32          4
 
2398
#define R_X86_64_COPY           5
 
2399
#define R_X86_64_GLOB_DAT       6
 
2400
#define R_X86_64_JUMP_SLOT      7
 
2401
#define R_X86_64_RELATIVE       8
 
2402
#define R_X86_64_GOTPCREL       9
 
2403
 
 
2404
#define R_X86_64_32             10
 
2405
#define R_X86_64_32S            11
 
2406
#define R_X86_64_16             12
 
2407
#define R_X86_64_PC16           13
 
2408
#define R_X86_64_8              14
 
2409
#define R_X86_64_PC8            15
 
2410
#define R_X86_64_DTPMOD64       16
 
2411
#define R_X86_64_DTPOFF64       17
 
2412
#define R_X86_64_TPOFF64        18
 
2413
#define R_X86_64_TLSGD          19
 
2414
 
 
2415
#define R_X86_64_TLSLD          20
 
2416
 
 
2417
#define R_X86_64_DTPOFF32       21
 
2418
#define R_X86_64_GOTTPOFF       22
 
2419
 
 
2420
#define R_X86_64_TPOFF32        23
 
2421
#define R_X86_64_PC64           24
 
2422
#define R_X86_64_GOTOFF64       25
 
2423
#define R_X86_64_GOTPC32        26
 
2424
 
 
2425
 
 
2426
#define R_X86_64_GOTPC32_TLSDESC 34
 
2427
#define R_X86_64_TLSDESC_CALL   35
 
2428
 
 
2429
#define R_X86_64_TLSDESC        36
 
2430
#define R_X86_64_IRELATIVE      37
 
2431
 
 
2432
#define R_X86_64_NUM            38
 
2433
 
 
2434
 
 
2435
 
 
2436
#define R_MN10300_NONE          0
 
2437
#define R_MN10300_32            1
 
2438
#define R_MN10300_16            2
 
2439
#define R_MN10300_8             3
 
2440
#define R_MN10300_PCREL32       4
 
2441
#define R_MN10300_PCREL16       5
 
2442
#define R_MN10300_PCREL8        6
 
2443
#define R_MN10300_GNU_VTINHERIT 7
 
2444
#define R_MN10300_GNU_VTENTRY   8
 
2445
#define R_MN10300_24            9
 
2446
#define R_MN10300_GOTPC32       10
 
2447
#define R_MN10300_GOTPC16       11
 
2448
#define R_MN10300_GOTOFF32      12
 
2449
#define R_MN10300_GOTOFF24      13
 
2450
#define R_MN10300_GOTOFF16      14
 
2451
#define R_MN10300_PLT32         15
 
2452
#define R_MN10300_PLT16         16
 
2453
#define R_MN10300_GOT32         17
 
2454
#define R_MN10300_GOT24         18
 
2455
#define R_MN10300_GOT16         19
 
2456
#define R_MN10300_COPY          20
 
2457
#define R_MN10300_GLOB_DAT      21
 
2458
#define R_MN10300_JMP_SLOT      22
 
2459
#define R_MN10300_RELATIVE      23
 
2460
 
 
2461
#define R_MN10300_NUM           24
 
2462
 
 
2463
 
 
2464
 
 
2465
#define R_M32R_NONE             0
 
2466
#define R_M32R_16               1
 
2467
#define R_M32R_32               2
 
2468
#define R_M32R_24               3
 
2469
#define R_M32R_10_PCREL         4
 
2470
#define R_M32R_18_PCREL         5
 
2471
#define R_M32R_26_PCREL         6
 
2472
#define R_M32R_HI16_ULO         7
 
2473
#define R_M32R_HI16_SLO         8
 
2474
#define R_M32R_LO16             9
 
2475
#define R_M32R_SDA16            10
 
2476
#define R_M32R_GNU_VTINHERIT    11
 
2477
#define R_M32R_GNU_VTENTRY      12
 
2478
 
 
2479
#define R_M32R_16_RELA          33
 
2480
#define R_M32R_32_RELA          34
 
2481
#define R_M32R_24_RELA          35
 
2482
#define R_M32R_10_PCREL_RELA    36
 
2483
#define R_M32R_18_PCREL_RELA    37
 
2484
#define R_M32R_26_PCREL_RELA    38
 
2485
#define R_M32R_HI16_ULO_RELA    39
 
2486
#define R_M32R_HI16_SLO_RELA    40
 
2487
#define R_M32R_LO16_RELA        41
 
2488
#define R_M32R_SDA16_RELA       42
 
2489
#define R_M32R_RELA_GNU_VTINHERIT       43
 
2490
#define R_M32R_RELA_GNU_VTENTRY 44
 
2491
#define R_M32R_REL32            45
 
2492
 
 
2493
#define R_M32R_GOT24            48
 
2494
#define R_M32R_26_PLTREL        49
 
2495
#define R_M32R_COPY             50
 
2496
#define R_M32R_GLOB_DAT         51
 
2497
#define R_M32R_JMP_SLOT         52
 
2498
#define R_M32R_RELATIVE         53
 
2499
#define R_M32R_GOTOFF           54
 
2500
#define R_M32R_GOTPC24          55
 
2501
#define R_M32R_GOT16_HI_ULO     56
 
2502
 
 
2503
#define R_M32R_GOT16_HI_SLO     57
 
2504
 
 
2505
#define R_M32R_GOT16_LO         58
 
2506
#define R_M32R_GOTPC_HI_ULO     59
 
2507
 
 
2508
#define R_M32R_GOTPC_HI_SLO     60
 
2509
 
 
2510
#define R_M32R_GOTPC_LO         61
 
2511
 
 
2512
#define R_M32R_GOTOFF_HI_ULO    62
 
2513
 
 
2514
#define R_M32R_GOTOFF_HI_SLO    63
 
2515
 
 
2516
#define R_M32R_GOTOFF_LO        64
 
2517
#define R_M32R_NUM              256
 
2518
 
 
2519
#define R_MICROBLAZE_NONE 0
 
2520
#define R_MICROBLAZE_32 1
 
2521
#define R_MICROBLAZE_32_PCREL 2
 
2522
#define R_MICROBLAZE_64_PCREL 3
 
2523
#define R_MICROBLAZE_32_PCREL_LO 4
 
2524
#define R_MICROBLAZE_64 5
 
2525
#define R_MICROBLAZE_32_LO 6
 
2526
#define R_MICROBLAZE_SRO32 7
 
2527
#define R_MICROBLAZE_SRW32 8
 
2528
#define R_MICROBLAZE_64_NONE 9
 
2529
#define R_MICROBLAZE_32_SYM_OP_SYM 10
 
2530
#define R_MICROBLAZE_GNU_VTINHERIT 11
 
2531
#define R_MICROBLAZE_GNU_VTENTRY 12
 
2532
#define R_MICROBLAZE_GOTPC_64 13
 
2533
#define R_MICROBLAZE_GOT_64 14
 
2534
#define R_MICROBLAZE_PLT_64 15
 
2535
#define R_MICROBLAZE_REL 16
 
2536
#define R_MICROBLAZE_JUMP_SLOT 17
 
2537
#define R_MICROBLAZE_GLOB_DAT 18
 
2538
#define R_MICROBLAZE_GOTOFF_64 19
 
2539
#define R_MICROBLAZE_GOTOFF_32 20
 
2540
#define R_MICROBLAZE_COPY 21
 
2541
#define R_MICROBLAZE_TLS 22
 
2542
#define R_MICROBLAZE_TLSGD 23
 
2543
#define R_MICROBLAZE_TLSLD 24
 
2544
#define R_MICROBLAZE_TLSDTPMOD32 25
 
2545
#define R_MICROBLAZE_TLSDTPREL32 26
 
2546
#define R_MICROBLAZE_TLSDTPREL64 27
 
2547
#define R_MICROBLAZE_TLSGOTTPREL32 28
 
2548
#define R_MICROBLAZE_TLSTPREL32  29
 
2549
 
 
2550
#ifdef __cplusplus
 
2551
}
 
2552
#endif
 
2553
 
 
2554
 
 
2555
#endif