Chad Versace <chad.vers...@linux.intel.com> writes: > On 08/08/2013 01:43 PM, Eric Anholt wrote: >> We can't just smash it on globally due to (probably resolvable) issues >> with the asm in glapi. And we don't want to penalize developers with >> longer build times for their normal debug environment. >> >> Due to libdricore making almost all of our symbols public, the effect is >> very small -- cairo-gl with INTEL_NO_HW=1 shows -0.798709% +/- 0.333703% >> change in runtime (n=30). >> --- >> >> If we were to avoid dricore, there's an additional 5% improvement available >> (see the "megadriver" branch of my tree). >> >> configure.ac | 25 +++++++++++++++++++++++++ >> src/mesa/Makefile.am | 4 ++-- >> src/mesa/drivers/dri/i965/Makefile.am | 1 + >> src/mesa/libdricore/Makefile.am | 8 +++++++- >> src/mesa/program/Makefile.am | 4 ++-- >> 5 files changed, 37 insertions(+), 5 deletions(-) >> >> diff --git a/configure.ac b/configure.ac >> index 62d06e0..26c230d 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -314,6 +314,7 @@ AC_ARG_ENABLE([debug], >> [enable_debug="$enableval"], >> [enable_debug=no] >> ) >> +enable_lto=yes >> if test "x$enable_debug" = xyes; then >> DEFINES_FOR_BUILD="$DEFINES_FOR_BUILD -DDEBUG" >> if test "x$GCC_FOR_BUILD" = xyes; then >> @@ -330,7 +331,31 @@ if test "x$enable_debug" = xyes; then >> if test "x$GXX" = xyes; then >> CXXFLAGS="$CXXFLAGS -g -O0" >> fi >> + >> + # Disable LTO by default on debug builds, since it's so expensive at >> + # compile time. >> + enable_lto=no >> +fi > > I'd like to emit a configuration error if someone tries to enable LTO > in a debug build. According the gcc-4.8 manpage, that's a really bad > idea. > > Link-time optimization does not work well with generation of > debugging information. Combining -flto with -g is currently > experimental and expected to produce wrong results. > > Other than that, the patch looks good to me.
Yeah, debug symbols appear to be quite scrambled. As is, I don't think we can ship with it -- breaking backtraces (and thus profiling) is not acceptable.
pgpkub4MzCftN.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev