CORE (V) 2/7/73 CORE (V) NAME format of core image DESCRIPTION UNIX writes out a core image of a terminated pro- cess when any of various errors occur. See wait(II) for the list of reasons; the most common are memory violations, illegal instructions, bus errors, and user-generated quit signals. The core image is called "core" and is written in the process's working directory (provided it can be; normal access controls apply). The size and structure of the core image file de- pend to some extent on which system is involved. In general there is a 512-byte area at the end which contains the system's per-process data for that process. (64 bytes in older systems). The remainder represents the actual contents of the user's core area when the core image was written. In the current system, this area is variable in size in that only the locations from user 0 to the program break, plus the stack, are dumped. When any fatal trap occurs, all the useful regis- ters are stored on the stack. In the current system, which has relocation and protection hard- ware, the stack used is the system stack, which is kept in the per-process area; in older sys- tems, there is only one stack, and it is located in the user's core area. The actual format of the information is compli- cated because it depends on what hardware is pre- sent (EAE, floating-point option), whether single- or double-precision floating mode is in effect, and also involves relocating addresses in the system's address space. A guru will have to be consulted if enlightenment is required. In general the debugger db(I) should be used to deal with core images. SEE ALSO db(I), wait(II)