110
110
#define ELFOSABI_OPENVMS 13 /* Open VMS */
111
111
#define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */
112
112
#define ELFOSABI_ARM 97 /* ARM */
113
#define ELFOSABI_NACL 123 /* Native Client */
114
113
#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
116
115
#define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */
263
262
/* Values for d_tag. */
264
263
#define DT_NULL 0 /* Terminating entry. */
265
#define DT_NEEDED 1 /* String table offset of a needed shared
264
/* String table offset of a needed shared library. */
267
266
#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */
268
267
#define DT_PLTGOT 3 /* Processor-dependent address. */
269
268
#define DT_HASH 4 /* Address of symbol hash table. */
276
275
#define DT_SYMENT 11 /* Size of each symbol table entry. */
277
276
#define DT_INIT 12 /* Address of initialization function. */
278
277
#define DT_FINI 13 /* Address of finalization function. */
279
#define DT_SONAME 14 /* String table offset of shared object
278
/* String table offset of shared object name. */
281
280
#define DT_RPATH 15 /* String table offset of library path. [sup] */
282
281
#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */
283
282
#define DT_REL 17 /* Address of ElfNN_Rel relocations. */
285
284
#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */
286
285
#define DT_PLTREL 20 /* Type of relocation used for PLT. */
287
286
#define DT_DEBUG 21 /* Reserved (not used). */
288
#define DT_TEXTREL 22 /* Indicates there may be relocations in
289
non-writable segments. [sup] */
287
/* Indicates there may be relocations in non-writable segments. [sup] */
288
#define DT_TEXTREL 22
290
289
#define DT_JMPREL 23 /* Address of PLT relocations. */
291
290
#define DT_BIND_NOW 24 /* [sup] */
292
#define DT_INIT_ARRAY 25 /* Address of the array of pointers to
293
initialization functions */
294
#define DT_FINI_ARRAY 26 /* Address of the array of pointers to
295
termination functions */
296
#define DT_INIT_ARRAYSZ 27 /* Size in bytes of the array of
297
initialization functions. */
298
#define DT_FINI_ARRAYSZ 28 /* Size in bytes of the array of
299
terminationfunctions. */
300
#define DT_RUNPATH 29 /* String table offset of a null-terminated
301
library search path string. */
291
/* Address of the array of pointers to initialization functions */
292
#define DT_INIT_ARRAY 25
293
/* Address of the array of pointers to termination functions */
294
#define DT_FINI_ARRAY 26
295
/* Size in bytes of the array of initialization functions. */
296
#define DT_INIT_ARRAYSZ 27
297
/* Size in bytes of the array of terminationfunctions. */
298
#define DT_FINI_ARRAYSZ 28
299
/* String table offset of a null-terminated library search path string. */
300
#define DT_RUNPATH 29
302
301
#define DT_FLAGS 30 /* Object specific flag values. */
303
#define DT_ENCODING 32 /* Values greater than or equal to DT_ENCODING
304
and less than DT_LOOS follow the rules for
305
the interpretation of the d_un union
306
as follows: even == 'd_ptr', even == 'd_val'
308
#define DT_PREINIT_ARRAY 32 /* Address of the array of pointers to
309
pre-initialization functions. */
310
#define DT_PREINIT_ARRAYSZ 33 /* Size in bytes of the array of
311
pre-initialization functions. */
302
/* Values greater than or equal to DT_ENCODING and less than
303
DT_LOOS follow the rules for the interpretation of the d_un
304
union as follows: even == 'd_ptr', even == 'd_val' or none */
305
#define DT_ENCODING 32
306
/* Address of the array of pointers to pre-initialization functions. */
307
#define DT_PREINIT_ARRAY 32
308
/* Size in bytes of the array of pre-initialization functions. */
309
#define DT_PREINIT_ARRAYSZ 33
312
310
#define DT_LOOS 0x6000000d /* First OS-specific */
313
311
#define DT_HIOS 0x6ffff000 /* Last OS-specific */
314
312
#define DT_LOPROC 0x70000000 /* First processor-specific type. */
319
317
#define DT_VERSYM 0x6ffffff0
321
319
/* Values for DT_FLAGS */
322
#define DF_ORIGIN 0x0001 /* Indicates that the object being loaded may
323
make reference to the $ORIGIN substitution
320
/* Indicates that the object being loaded may make reference to
321
the $ORIGIN substitution string */
322
#define DF_ORIGIN 0x0001
325
323
#define DF_SYMBOLIC 0x0002 /* Indicates "symbolic" linking. */
326
#define DF_TEXTREL 0x0004 /* Indicates there may be relocations in
327
non-writable segments. */
328
#define DF_BIND_NOW 0x0008 /* Indicates that the dynamic linker should
329
process all relocations for the object
330
containing this entry before transferring
331
control to the program. */
332
#define DF_STATIC_TLS 0x0010 /* Indicates that the shared object or
333
executable contains code using a static
334
thread-local storage scheme. */
324
/* Indicates there may be relocations in non-writable segments. */
325
#define DF_TEXTREL 0x0004
326
/* Indicates that the dynamic linker should process all
327
relocations for the object containing this entry before
328
transferring control to the program. */
329
#define DF_BIND_NOW 0x0008
330
/* Indicates that the shared object or executable contains code
331
using a static thread-local storage scheme. */
332
#define DF_STATIC_TLS 0x0010
336
334
/* Values for n_type. Used in core files. */
337
335
#define NT_PRSTATUS 1 /* Process status. */