long@castor.csg.uiuc.edu (Junsheng Long) (03/06/90)
I would like to know the data segment layout of a C program on Unix (Sun OS). For the following example, I found some extra variables were inserted before the first global variables (marked as ? in the following figure). /* --- example.c ---*/ +----------+ int a = 0; | text | int b[32]; +----------+ <- etext | ? | main() +----------+ { | a | ... +----------+ <- edata } | b | +----------+ <- end | | Now my questions are: does anyone know what they are? Does they vary from program to program? Thank you very much. junsheng long