This chapter takes us deep into the heart of the book to explore the stack frame layout of function calls. To this end we need a clear, in-depth understanding of what happens when one function calls another, particularly how data are passed from caller to callee and how the memory content changes when functions’ data are pushed to the current process’ memory; this is the main subject of the first part of this long chapter.
Then we will create an executable test file on each of the Linux distributions that were selected in Chapter 2. This is the longest and the most interesting part of the chapter, allowing ...