* Copyright (c) 1980 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
* @(#)a.out.h 5.4 (Berkeley) %G%
* Definitions of the a.out header
* and magic numbers are shared with
* Macros which take exec structures as arguments and tell whether
* the file has a reasonable magic number or offsets to text|symbols|strings.
(((x).a_magic)!=OMAGIC && ((x).a_magic)!=NMAGIC && ((x).a_magic)!=ZMAGIC)
#if defined(vax) || defined(tahoe)
((x).a_magic == ZMAGIC ? 1024 : sizeof (struct exec))
#if defined(hp300) || defined(i386)
((x).a_magic == ZMAGIC ? 4096 : sizeof (struct exec))
(N_TXTOFF(x) + (x).a_text+(x).a_data + (x).a_trsize+(x).a_drsize)
(N_SYMOFF(x) + (x).a_syms)
* Format of a relocation datum.
int r_address
; /* address which is relocated */
unsigned int r_symbolnum
:24, /* local symbol ordinal */
r_pcrel
:1, /* was relocated pc relative already */
r_length
:2, /* 0=byte, 1=word, 2=long */
r_extern
:1, /* does not include value of sym referenced */
* Format of a symbol table entry; this file is included by <a.out.h>
* and should be used if you aren't interested the a.out header
* or relocation information.
char *n_name
; /* for use when in-core */
long n_strx
; /* index into file string table */
unsigned char n_type
; /* type flag, i.e. N_TEXT etc; see below */
char n_other
; /* unused */
short n_desc
; /* see <stab.h> */
unsigned long n_value
; /* value of this symbol (or sdb offset) */
#define n_hash n_desc /* used internally by ld */
* Simple values for n_type.
#define N_UNDF 0x0 /* undefined */
#define N_ABS 0x2 /* absolute */
#define N_TEXT 0x4 /* text */
#define N_DATA 0x6 /* data */
#define N_BSS 0x8 /* bss */
#define N_COMM 0x12 /* common (internal to ld) */
#define N_FN 0x1e /* file name symbol */
#define N_EXT 01 /* external bit, or'ed in */
#define N_TYPE 0x1e /* mask for all the type bits */
* Sdb entries have some of the N_STAB bits set.
* These are given in <stab.h>
#define N_STAB 0xe0 /* if any of these bits set, a SDB entry */
* Format for namelist values.