Hi All While compiling code for SPARC Architecture, Its seems reasonable that when calling a new function, stack Size of 92 + 4(for alignment) is allocated. But with gcc version greater than 3.0, It allocates 104 bytes for the stack of a new function.
Can anyone please let me know the reason of the difference of 8 bytes? -------- test.c int foo(); int main() { foo(); return 0; } Corresponding assembly using gcc 4.0.1 -------- test.s ( sparc-gcc -S test.c -O3 ) .align 4 .global main .type main, #function .proc 04 main: save %sp, -104, %sp ; why save 104 bytes???? call foo, 0 mov 0, %i0 jmp %i7+8 restore .size main, .-main .ident "GCC: (GNU) 4.0.1 ------ Any help will be appreciated. Thanks, Inder