This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] rs6000: Enable -fasynchronous-unwind-tables by default
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: gcc-patches at gcc dot gnu dot org, dje dot gcc at gmail dot com
- Date: Thu, 5 Apr 2018 11:50:38 +0200
- Subject: Re: [PATCH] rs6000: Enable -fasynchronous-unwind-tables by default
- References: <5b977b30da8ccde13e8e2632584009e3b5d94202.1522920973.git.segher@kernel.crashing.org>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, Apr 05, 2018 at 09:45:54AM +0000, Segher Boessenkool wrote:
> To find out where on-entry register values live at any point in a
> program, GDB currently tries to parse to parse the executable code.
> This does not work very well, for example it gets confused if some
> accesses to the stack use the frame pointer (r31) and some use the
> stack pointer (r1). A symptom is that backtraces can be cut short.
>
> This patch enables -fasynchronous-unwind-tables by default for rs6000,
> which causes us to emit DWARF unwind tables for all functions, solving
> these problems.
>
> This not do anything for sub-targets without DWARF.
>
> It increases executable size, but only modestly, and does not change
> memory use, only the disk image.
>
> Various other targets already do this (x86, s390, tile*).
aarch64-linux* too (since r258871).
> Tested on powerpc64-linux {-m32,-m64}. David, I'd like to commit this
> to current trunk; does that seem too dangerous to you?
If David is ok with it, it is fine for trunk even in stage4.
Jakub