Results, slightly reformatted, if not "f1 / main out" (collected in 2012) Solaris 10 on Sun [Oracle] SunFire-880 with Sun's compiler (32- or 64-bit executable) cc -v -o h1.x h1.c cc -v -o h1.x -m64 h1.c c99 -v -o h1.x h1.c c99 -v -o h1.x -m64 h1.c arg result (none) Segmentation fault Why did nothing interesting happen? func is stored in a register, not on the stack. Solaris 10 on Sun [Oracle] SunFire-880 with GCC (32- or 64-bit executable) gcc -ansi -Wall -Wextra -pedantic -o h1.x h1.c gcc -std=c99 -Wall -Wextra -pedantic -o h1.x h1.c gcc -m64 -ansi -Wall -Wextra -pedantic -o h1.x h1.c gcc -m64 -std=c99 -Wall -Wextra -pedantic -o h1.x h1.c arg result (none) Segmentation fault 3 f2 / main out Linux 2.6 on AMD Opteron with GCC (32- or 64-bit executable) gcc -ansi -Wall -Wextra -pedantic -o h1.x h1.c gcc -std=c99 -Wall -Wextra -pedantic -o h1.x h1.c gcc -m64 -ansi -Wall -Wextra -pedantic -o h1.x h1.c gcc -m64 -std=c99 -Wall -Wextra -pedantic -o h1.x h1.c arg result (none) Segmentation fault 3 f2 / main out 5 Segmentation fault Mac OS X on PowerMac G5 with GCC gcc -ansi -Wall -Wextra -pedantic -o h1.x h1.c gcc -std=c99 -Wall -Wextra -pedantic -o h1.x h1.c arg result (none) Bus error -15 Bus error -1 f2 / main out 11 f1 / main out / f2 [repeated forever]