title: What does each entry in the Jmp_buf structure hold?
body: <p>I am running Ubuntu 9.10 (Karmic Koala), and I took a look at the <code>jmp_buf</code> structure which is simply an array of 12 ints. When I use <code>setjmp</code>, and pass in a <code>jmp_buf</code> structure&mdash;4 out of 12 entries are saved off. These 4 entries are the stack pointer, frame pointer, program counter and return address. What are the other 8 entries for? Are they machine-dependent? Is another entry the segment table base register? What else is needed to properly restore a thread/process's environment? I looked through the man page, other sources, but I couldn't find the assembly code for <code>setjmp</code>.</p>