Messages in this thread | | | Date | Thu, 21 Nov 2002 09:44:39 -0800 | From | "Martin J. Bligh" <> | Subject | Re: Compiling x86 with and without frame pointer |
| |
> The conventional wisdom is that compiling x86 without frame pointer > results in smaller code. It turns out to be the opposite, compiling > with frame pointers results in a smaller kernel. gcc version 3.2 > 20020822 (Red Hat Linux Rawhide 3.2-4).
I looked at 2.5.47 (with a splattering of performance patches) using gcc 2.95.4 (Debian Woody), on a 16-way NUMA-Q, and did some kernel compile testing. The times to do the tests were almost identical (within error noise), but the kernel was indeed smaller
text data bss dec hex filename 1873293 396231 459388 2728912 29a3d0 2.5.47-mjb1/vmlinux 1427355 396875 455356 2279586 22c8a2 2.5.47-mjb1-frameptr/vmlinux
Wow ... that's quite some difference ;-)
> I use -momit-leaf-frame-pointer for optimization in some own > projects, instead of the "-fomit-frame-pointer". For me, this > results in better codesize/speed compared to both "-fomit-frame-pointer" > or no option at all. Actually gcc-2.95 seems to support this feature > as well, but it never made it into the 2.95 docs...
I tried this, but it seemed to be the same as -fomit-frame-pointer (on 2.95 at least).
Given that omitting the -fomit-frame-pointer makes a smaller kernel, that's easier to debug, I'd say this is a good thing to do unless someone can get *negative* benchmark results.
M.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |