logo       

FreeBSD/GCC Oddness.: msg#00214

gcc.help

Subject: FreeBSD/GCC Oddness.

Hi folks,

On a FreeBSD 4.8-RC box with "gcc version 2.95.4 20020320 [FreeBSD]" i have a question with how the compiler computes the space for local variables on the stack.

Using the following sample code.


/* dummy program */

int func(void)
{
int i;

return(0);
}

int main(void)
{
func();

return(0);
}


Generates the following prologue (for func()) in GDB

0x804846c <func>: push %ebp
0x804846d <func+1>: mov %esp,%ebp
0x804846f <func+3>: sub $0x18,%esp


Why is 0x18 subtracted instead of 0x4? Alignment, performance? A RedHat box with the same code sub's 0x4. I was wondering if some kind soul could enlighten me on the reason for this?




Thanks,

Chris.




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise