This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: Sequel to PR40521 -- -g causes GCC to generate .eh_frame
- From: "Richard Earnshaw" <rearnsha at arm dot com>
- To: "'Thomas Schwinge'" <thomas at codesourcery dot com>
- Cc: "Daniel Jacobowitz" <dan at codesourcery dot com>, "Jakub Jelinek" <jakub at redhat dot com>, "Ramana Radhakrishnan" <Ramana dot Radhakrishnan at arm dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 2 Apr 2010 10:03:48 +0100
- Subject: RE: Sequel to PR40521 -- -g causes GCC to generate .eh_frame
- References: <87ocic34pp.fsf@dirichlet.schwinge.homeip.net><20100330145159.GA19009@caradoc.them.org><87zl1o1oqe.fsf@dirichlet.schwinge.homeip.net><1270124762.6694.11.camel@e200601-lin.cambridge.arm.com> <87wrwrw0po.fsf@dirichlet.schwinge.homeip.net>
> -----Original Message-----
> From: Thomas Schwinge [mailto:thomas@codesourcery.com]
> Sent: 01 April 2010 18:18
> To: Richard Earnshaw
> Cc: Daniel Jacobowitz; Jakub Jelinek; Ramana Radhakrishnan; gcc-
> patches@gcc.gnu.org
> Subject: Re: Sequel to PR40521 -- -g causes GCC to generate .eh_frame
>
> Hello!
>
> On 2010-04-01 12:26, Richard Earnshaw wrote:
> > On Wed, 2010-03-31 at 17:43 +0200, Thomas Schwinge wrote:
> >> gcc/
> >> 2010-03-31 Thomas Schwinge <thomas@codesourcery.com>
> >> Daniel Jacobowitz <dan@codesourcery.com>
> >>
> PR debug/40521
> >> * doc/tm.texi (DWARF2_UNWIND_INFO, TARGET_UNWIND_INFO): Improve.
> >> * dwarf2out.c (NEED_UNWIND_TABLES): Define.
> >> (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
> dwarf2out_begin_prologue)
> >> (dwarf2out_frame_finish, dwarf2out_assembly_start): Use it.
> >> (dwarf2out_assembly_start): Correct logic for TARGET_UNWIND_INFO.
> >> * config/arm/arm.h (DWARF2_UNWIND_INFO): Remove definition.
> >> * config/arm/bpabi.h (DWARF2_UNWIND_INFO): Define to zero.
>
> >> +Defining this macro will inhibit the default of generating DWARF 2
> frame
> >> +debugging information, see @code{DWARF2_UNWIND_INFO}.
> >> @end defmac
> >
> > I don't understand this bit. [...]
>
> I agree, that sentence is a bit clumsy. I suggest to replace it like
> this: ``Defining this macro will affect the default value that is
> chosen
> for @code{DWARF2_UNWIND_INFO}.''
Hmm, so the text for DWARF2_UNWIND_INFO reads:
Define this macro to 0 if your target supports DWARF 2 frame unwind
information, but it does not yet work with exception handling.
Otherwise, if your target supports this information (if it defines
@samp{INCOMING_RETURN_ADDR_RTX}) and @code{TARGET_UNWIND_INFO} is not
defined,
GCC will provide a default definition of 1.
If @code{TARGET_UNWIND_INFO} is not defined, and this macro is defined to
1,
the DWARF 2 unwinder will be the default exception handling mechanism;
otherwise, the @code{setjmp}/@code{longjmp}-based scheme will be used by
[...]
but with your proposed change it now doesn't say what happens if both
DWARF2_UNWIND_INFO and TARGET_UNWIND_INFO are defined. If this isn't a
legal combination, then it should say so; if it is legal, then it needs to
describe what the combination does.
R.