-fno-unwind-tables -fno-asynchronous-unwind-tables versus debugging

Ian Lance Taylor iant@google.com
Fri Oct 7 14:42:00 GMT 2016


On Thu, Oct 6, 2016 at 10:25 AM,  <waltdnes@waltdnes.org> wrote:
>   A few years ago on the Busybox list I stumbled over...
> http://lists.busybox.net/pipermail/busybox/2012-September/078326.html
> http://lists.busybox.net/pipermail/busybox/2012-September/078331.html
>
> ...where "-fno-unwind-tables -fno-asynchronous-unwind-tables" CFLAGS
> were shown to reduce the filesize of builds.  The Busybox people are
> building for constrained environments, so this is very important to
> them.  I include those flags in my Gentoo linux config.
>
>   I'm manually building and running the beta for the next version of
> Pale Moon (linux).  A build without the flags produces a 43,262,332 byte
> tarball.  With the flags, it's 40,528,597 bytes; approximately 2.7
> megabytes smaller.  I've suggested to the developers that they use these
> flags when building Pale Moon, but they have concerns about impacts on
> debugging.
>
>   So my question is whether or not the flags
> "-fno-unwind-tables -fno-asynchronous-unwind-tables" make debugging
> harder.  Has anything changed in that area in the past 4 years?

For typical use those options will not affect debugging.

Using those options will in some cases make it harder for the debugger
to give you a good backtrace when a signal occurs.

(And of course using those options means that C++ exceptions will not
work correctly, and if you are using glibc the pthread_cancel function
may not work correctly.)

Ian



More information about the Gcc-help mailing list