Back to index

glibc  2.9
Classes | Defines | Enumerations
a.out.h File Reference
#include <bits/a.out.h>

Go to the source code of this file.

Classes

struct  exec
struct  nlist
struct  relocation_info
union  nlist.n_un

Defines

#define __GNU_EXEC_MACROS__
#define N_MAGIC(exec)   ((exec).a_info & 0xffff)
#define N_MACHTYPE(exec)   ((enum machine_type)(((exec).a_info >> 16) & 0xff))
#define N_FLAGS(exec)   (((exec).a_info >> 24) & 0xff)
#define N_SET_INFO(exec, magic, type, flags)
#define N_SET_MAGIC(exec, magic)   ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
#define N_SET_MACHTYPE(exec, machtype)
#define N_SET_FLAGS(exec, flags)
#define OMAGIC   0407
#define NMAGIC   0410
#define ZMAGIC   0413
#define QMAGIC   0314
#define CMAGIC   0421
#define N_TRSIZE(a)   ((a).a_trsize)
#define N_DRSIZE(a)   ((a).a_drsize)
#define N_SYMSIZE(a)   ((a).a_syms)
#define N_BADMAG(x)
#define _N_HDROFF(x)   (1024 - sizeof (struct exec))
#define N_TXTOFF(x)   (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))
#define N_DATOFF(x)   (N_TXTOFF(x) + (x).a_text)
#define N_TRELOFF(x)   (N_DATOFF(x) + (x).a_data)
#define N_DRELOFF(x)   (N_TRELOFF(x) + N_TRSIZE(x))
#define N_SYMOFF(x)   (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize)
#define N_STROFF(x)   (N_SYMOFF(x) + N_SYMSIZE(x))
#define SPARC_PGSIZE   0x2000
#define N_TXTADDR(x)
#define SEGMENT_SIZE   SPARC_PGSIZE
#define _N_SEGMENT_ROUND(x)   (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
#define _N_TXTENDADDR(x)   (N_TXTADDR(x)+(x).a_text)
#define N_DATADDR(x)
#define N_BSSADDR(x)   (N_DATADDR(x) + (x).a_data)
#define N_UNDF   0
#define N_ABS   2
#define N_TEXT   4
#define N_DATA   6
#define N_BSS   8
#define N_FN   15
#define N_EXT   1
#define N_TYPE   036
#define N_STAB   0340
#define N_INDR   0xa
#define N_SETA   0x14 /* Absolute set element symbol. */
#define N_SETT   0x16 /* Text set element symbol. */
#define N_SETD   0x18 /* Data set element symbol. */
#define N_SETB   0x1A /* Bss set element symbol. */
#define N_SETV   0x1C /* Pointer to set vector in data area. */

Enumerations

enum  machine_type {
  M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2, M_SPARC = 3,
  M_386 = 100, M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2,
  M_SPARC = 3, M_386 = 100, M_MIPS1 = 151, M_MIPS2 = 152,
  M_OLDSUN2 = 0, M_68010 = 1, M_68020 = 2, M_SPARC = 3,
  M_386 = 100, M_MIPS1 = 151, M_MIPS2 = 152, M_OLDSUN2 = 0,
  M_68010 = 1, M_68020 = 2, M_SPARC = 3, M_386 = 100,
  M_MIPS1 = 151, M_MIPS2 = 152
}
enum  reloc_type {
  RELOC_8, RELOC_16, RELOC_32, RELOC_DISP8,
  RELOC_DISP16, RELOC_DISP32, RELOC_WDISP30, RELOC_WDISP22,
  RELOC_HI22, RELOC_22, RELOC_13, RELOC_LO10,
  RELOC_SFA_BASE, RELOC_SFA_OFF13, RELOC_BASE10, RELOC_BASE13,
  RELOC_BASE22, RELOC_PC10, RELOC_PC22, RELOC_JMP_TBL,
  RELOC_SEGOFF16, RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE
}

Class Documentation

struct exec

Definition at line 12 of file a.out.h.

Class Members
unsigned int a_bss
unsigned a_bss
unsigned int a_data
unsigned a_data
unsigned int a_drsize
unsigned a_drsize
unsigned char a_dynamic:1
unsigned int a_entry
unsigned a_entry
unsigned short a_info
unsigned long a_info
unsigned char a_machtype
unsigned int a_syms
unsigned a_syms
unsigned int a_text
unsigned a_text
unsigned char a_toolversion:7
unsigned int a_trsize
unsigned a_trsize
struct nlist

Definition at line 228 of file a.out.h.

Class Members
short n_desc
char n_other
unsigned char n_type
union nlist n_un
union nlist n_un
union nlist n_un
union nlist n_un
unsigned long n_value
struct relocation_info

Definition at line 309 of file a.out.h.

Class Members
int r_addend
unsigned int r_address
int r_address
unsigned int r_extern:1
unsigned int r_index:24
unsigned int r_length:2
int r_pad:2
unsigned int r_pad:4
unsigned int r_pcrel:1
unsigned int r_symbolnum:24
union nlist.n_un

Definition at line 100 of file a.out.h.

Class Members
char * n_name
struct nlist * n_next
long n_strx

Define Documentation

Definition at line 6 of file a.out.h.

#define _N_HDROFF (   x)    (1024 - sizeof (struct exec))

Definition at line 68 of file a.out.h.

#define _N_SEGMENT_ROUND (   x)    (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))

Definition at line 88 of file a.out.h.

#define _N_TXTENDADDR (   x)    (N_TXTADDR(x)+(x).a_text)

Definition at line 89 of file a.out.h.

#define CMAGIC   0421

Definition at line 60 of file a.out.h.

#define N_ABS   2

Definition at line 114 of file a.out.h.

#define N_BADMAG (   x)
Value:
(N_MAGIC(x) != OMAGIC       && N_MAGIC(x) != NMAGIC                          \
   && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)

Definition at line 65 of file a.out.h.

#define N_BSS   8

Definition at line 117 of file a.out.h.

#define N_BSSADDR (   x)    (N_DATADDR(x) + (x).a_data)

Definition at line 95 of file a.out.h.

#define N_DATA   6

Definition at line 116 of file a.out.h.

#define N_DATADDR (   x)
Value:
(N_MAGIC(x)==OMAGIC                                            \
   ? (N_TXTADDR(x) + (x).a_text)                               \
   : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))

Definition at line 91 of file a.out.h.

#define N_DATOFF (   x)    (N_TXTOFF(x) + (x).a_text)

Definition at line 71 of file a.out.h.

#define N_DRELOFF (   x)    (N_TRELOFF(x) + N_TRSIZE(x))

Definition at line 73 of file a.out.h.

#define N_DRSIZE (   a)    ((a).a_drsize)

Definition at line 63 of file a.out.h.

#define N_EXT   1

Definition at line 119 of file a.out.h.

#define N_FLAGS (   exec)    (((exec).a_info >> 24) & 0xff)

Definition at line 36 of file a.out.h.

#define N_FN   15

Definition at line 118 of file a.out.h.

#define N_INDR   0xa

Definition at line 122 of file a.out.h.

#define N_MACHTYPE (   exec)    ((enum machine_type)(((exec).a_info >> 16) & 0xff))

Definition at line 35 of file a.out.h.

#define N_MAGIC (   exec)    ((exec).a_info & 0xffff)

Definition at line 34 of file a.out.h.

#define N_SET_FLAGS (   exec,
  flags 
)
Value:
((exec).a_info =                                               \
   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))

Definition at line 46 of file a.out.h.

#define N_SET_INFO (   exec,
  magic,
  type,
  flags 
)
Value:
((exec).a_info = ((magic) & 0xffff)                                   \
   | (((int)(type) & 0xff) << 16)                              \
   | (((flags) & 0xff) << 24))

Definition at line 37 of file a.out.h.

#define N_SET_MACHTYPE (   exec,
  machtype 
)
Value:
((exec).a_info =                                               \
   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))

Definition at line 43 of file a.out.h.

#define N_SET_MAGIC (   exec,
  magic 
)    ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))

Definition at line 41 of file a.out.h.

#define N_SETA   0x14 /* Absolute set element symbol. */

Definition at line 123 of file a.out.h.

#define N_SETB   0x1A /* Bss set element symbol. */

Definition at line 126 of file a.out.h.

#define N_SETD   0x18 /* Data set element symbol. */

Definition at line 125 of file a.out.h.

#define N_SETT   0x16 /* Text set element symbol. */

Definition at line 124 of file a.out.h.

#define N_SETV   0x1C /* Pointer to set vector in data area. */

Definition at line 127 of file a.out.h.

#define N_STAB   0340

Definition at line 121 of file a.out.h.

#define N_STROFF (   x)    (N_SYMOFF(x) + N_SYMSIZE(x))

Definition at line 76 of file a.out.h.

#define N_SYMOFF (   x)    (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize)

Definition at line 74 of file a.out.h.

#define N_SYMSIZE (   a)    ((a).a_syms)

Definition at line 64 of file a.out.h.

#define N_TEXT   4

Definition at line 115 of file a.out.h.

#define N_TRELOFF (   x)    (N_DATOFF(x) + (x).a_data)

Definition at line 72 of file a.out.h.

#define N_TRSIZE (   a)    ((a).a_trsize)

Definition at line 62 of file a.out.h.

#define N_TXTADDR (   x)
Value:
(unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \
               ? 0 : SPARC_PGSIZE)

Definition at line 81 of file a.out.h.

#define N_TXTOFF (   x)    (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec))

Definition at line 69 of file a.out.h.

#define N_TYPE   036

Definition at line 120 of file a.out.h.

#define N_UNDF   0

Definition at line 113 of file a.out.h.

#define NMAGIC   0410

Definition at line 53 of file a.out.h.

#define OMAGIC   0407

Definition at line 51 of file a.out.h.

#define QMAGIC   0314

Definition at line 58 of file a.out.h.

#define SEGMENT_SIZE   SPARC_PGSIZE

Definition at line 86 of file a.out.h.

#define SPARC_PGSIZE   0x2000

Definition at line 78 of file a.out.h.

#define ZMAGIC   0413

Definition at line 55 of file a.out.h.


Enumeration Type Documentation

Enumerator:
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 
M_OLDSUN2 
M_68010 
M_68020 
M_SPARC 
M_386 
M_MIPS1 
M_MIPS2 

Definition at line 23 of file a.out.h.

{
  M_OLDSUN2 = 0,
  M_68010 = 1,
  M_68020 = 2,
  M_SPARC = 3,
  M_386 = 100,
  M_MIPS1 = 151,
  M_MIPS2 = 152
};
enum reloc_type
Enumerator:
RELOC_8 
RELOC_16 
RELOC_32 
RELOC_DISP8 
RELOC_DISP16 
RELOC_DISP32 
RELOC_WDISP30 
RELOC_WDISP22 
RELOC_HI22 
RELOC_22 
RELOC_13 
RELOC_LO10 
RELOC_SFA_BASE 
RELOC_SFA_OFF13 
RELOC_BASE10 
RELOC_BASE13 
RELOC_BASE22 
RELOC_PC10 
RELOC_PC22 
RELOC_JMP_TBL 
RELOC_SEGOFF16 
RELOC_GLOB_DAT 
RELOC_JMP_SLOT 
RELOC_RELATIVE 

Definition at line 130 of file a.out.h.