This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: -fno-unwind-tables -fno-asynchronous-unwind-tables versus debugging
- From: Mason <slash dot tmp at free dot fr>
- To: GCC help <gcc-help at gcc dot gnu dot org>
- Date: Fri, 7 Oct 2016 11:25:24 +0200
- Subject: Re: -fno-unwind-tables -fno-asynchronous-unwind-tables versus debugging
- Authentication-results: sourceware.org; auth=none
- References: <20161006172546.GA22555@waltdnes.org>
On 06/10/2016 19:25, 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 documentation states:
https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-funwind-tables-1216
> -fexceptions
>
> Enable exception handling. Generates extra code needed to propagate
> exceptions. For some targets, this implies GCC generates frame unwind
> information for all functions, which can produce significant data
> size overhead, although it does not affect execution. If you do not
> specify this option, GCC enables it by default for languages like C++
> that normally require exception handling, and disables it for
> languages like C that do not normally require it. However, you may
> need to enable this option when compiling C code that needs to
> interoperate properly with exception handlers written in C++. You may
> also wish to disable this option if you are compiling older C++
> programs that don't use exception handling.
>
> -funwind-tables
>
> Similar to -fexceptions, except that it just generates any needed
> static data, but does not affect the generated code in any other way.
> You normally do not need to enable this option; instead, a language
> processor that needs this handling enables it on your behalf.
>
> -fasynchronous-unwind-tables
>
> Generate unwind table in DWARF format, if supported by target
> machine. The table is exact at each instruction boundary, so it can
> be used for stack unwinding from asynchronous events (such as
> debugger or garbage collector).
That doesn't help for answering your question, I'm afraid.
Regards.