This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]