11/3/71 CORE (V)
NAME format of core image
SYNOPSIS --
DESCRIPTION Three conditions cause UNIX to write out the core
image of an executing program: the program gener-
ates an unexpected trap (by a bus error or ille-
gal instruction); the user sends a "quit" signal
(which has not been turned off by the program); a
trap is simulated by the floating point simula-
tor. The core image is called "core" and is
written in the current working directory (pro-
vided it can be; normal access controls apply).
It is exactly 8192+64 bytes long. The first 8192
represent the actual contents of memory at the
time of the fault; the last 64 are the contents
of the system's per-user data area for this pro-
cess. Only the first word of this area will be
described.
When any trap which is not an I/O interrupt oc-
curs, all the useful registers are stored on the
stack. After all the registers have been stored,
the contents of sp are placed in the first cell
of the user area; this cell is called u.sp.
Therefore, within the core image proper, there is
an area which contains the following registers in
the following order (increasing addresses):
(u.sp)->sc
mq
ac
r5
r4
r3
r2
r1
r0
pc (at time of fault)
processor status (at time of fault)
The last two are stored by the hardware. it fol-
lows that the contents of sp at the time of the
faul were (u.sp) plus 22(10).
The t-bit (trap bit) in the stored status will be
on when a quit caused the generation of the core
image, since this bit is used in the implementa-
tion of quits.
FILES --
SEE ALSO --
DIAGNOSTICS --
BUGS --
OWNER ken, dmr