Fedora's FESCo Rejects The Idea Of "-fno-omit-frame-pointer" As Default Compiler Flag

Written by Michael Larabel in Fedora on 1 December 2022 at 07:28 AM EST. 34 Comments
FEDORA
The past few months there has been a change proposal discussed around adding "-fno-omit-frame-pointer" to the default compilation flags for packages being built for Fedora Linux. Adding this option would improve the profiling/debug-ability of the packages but with possible performance implications. The Fedora Engineering and Steering Committee (FESCo) has now rejected this contentious change proposal.

As a change proposal first initiated by Meta/Facebook developers, they wanted -fno-omit-frame-pointer and -mno-omit-leaf-frame-pointer to be added to the default C/C++ compilation flags.In turn this would improve the effectiveness of profiling and debugging tools but with some possible performance overhead.

The compiler option ensures that a frame pointer is always available but when currently omitting it, three instructions per function are saved and the RBP frame/base pointer register can be used as a general purpose register for other purposes.

Meta engineers believe that any performance cost is small and worth it while SUSE engineers previously cited around possible 5~10% regressions. I had ran some quick benchmarks during the summer and indeed found various performance regressions when building with -fno-omit-frame-pointer as there simply isn't getting around the loss of a register, etc.

Over the past several months Fedora stakeholders have continued debating whether "-fno-omit-frame-pointer" by default makes sense for improving the debug/profiling characteristics for all packages but with debated performance costs. The Fedora Engineering and Steering Committee voted this past week and has rejected the change proposal.

It was noted that the Red Hat Platform Tools team came out and opposed it. FESCo in turn rejected it with voting on the basis of +2, 1, -4.


Since then some have already questioned FESCo and are trying to bring up this change proposal yet again but it doesn't appear that will go through at least in the near-term. The debating over this -fno-omit-frame-pointer behavior for Fedora can be found via this FESCo issue ticket.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week