|
Re: FreeBSD/GCC Oddness.: msg#00215gcc.help
Chris Keladis <chris@xxxxxxxxxxxxxxxx> writes: > 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. Was the same gcc version, with the same switches? > I was wondering if some kind soul could enlighten me on the reason > for this? Maybe (non)optimization has something to do with it. Try -O2 or -O3 and most likely you will obtain a dramaticall change for produced code. -- Oscar |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | FreeBSD/GCC Oddness.: 00215, Chris Keladis |
|---|---|
| Next by Date: | Optimization Safety: 00215, John Anthony Kazos Jr. |
| Previous by Thread: | FreeBSD/GCC Oddness.i: 00215, Chris Keladis |
| Next by Thread: | Optimization Safety: 00215, John Anthony Kazos Jr. |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |