I just noticed that in my local i386 machine with kernel version 2.6.22 the ld and libc.so files are memory mapped between heap and stack area. However in some other lab machines, file&anonymous memory mapping regions are mapped before 0x08048000(in the top 128M region normally reserved for catching null pointer dereference). I am wondering the reason why they did this. jq