Op 21-sep-05 om 17:44 heeft Natanael Copa het volgende geschreven:
>From the gcc man page:
-O also turns on -fomit-frame-pointer on machines where doing so
does not interfere with debugging.

If I have undestood this correctly, -fomit-frame-pointer does interfere
with debugging on x86 so -O does not turn it on.

In other words: On x86 -Os does not turn on -fomit-frame-pointer.

Correct me if I'm wrong.

On closer inspection, this appears to be correct indeed. I was misled by:

-fomit-frame-pointer
Don't keep the frame pointer in a register for functions that don't
need one. This avoids the instructions to save, set up and restore
frame pointers; it also makes an extra register available in many
functions. It also makes debugging impossible on some machines.

On some machines, such as the VAX, this flag has no effect, because
the standard calling sequence automatically handles the frame
pointer and nothing is saved by pretending it doesn't exist. The
machine-description macro "FRAME_POINTER_REQUIRED" controls whether
a target machine supports this flag.

Enabled at levels -O, -O2, -O3, -Os.

Reply via email to