This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, _eh, dawin, Version2] Allow targets to suppress epilogues in _eh frames.



On 16 Aug 2010, at 18:44, Richard Henderson wrote:


On 08/16/2010 09:38 AM, IainS wrote:
On 16 Aug 2010, at 17:18, Richard Henderson wrote:

<snipped > .... other points taken on board....

Also, I'm noticing that dwarf2out.c uses
flag_asynchronous_unwind_tables in places where it really means
cfun->can_throw_non_call_exceptions. In fact, almost all
occurrences of f_a_u_t in dwarf2out.c are in error. The only
exception that I can see off-hand is in fde_needed_for_eh_p, which
would need an extra check vs cfun->can_throw_non_call_exceptions.

How should we proceed on this?
Patch dwarf2out.c? How else?

heh,
I guess I meant was solving the problem you noticed above a pre- condition of applying the patch, or should they be considered separate problems?


And also there is the remaining question about the GNU-specific code
(which I fear will get re-enabled when the stuff above is fixed).

What remaining question? What GNU-specific code?

this....


static void
dwarf2out_args_size (const char *label, HOST_WIDE_INT size)
{
  dw_cfi_ref cfi;

  if (size == old_args_size)
    return;

old_args_size = size;

  cfi = new_cfi ();
  cfi->dw_cfi_opc = DW_CFA_GNU_args_size;  <<<============
  cfi->dw_cfi_oprnd1.dw_cfi_offset = size;
  add_fde_cfi (label, cfi);
}

is a dwarf-2 target supposed to respond to this (i.e. we have a darwin bug if it doesn't work) or
... should there be a fall-back for dwarf-2 strict?


=====

I'm attaching a consolidated patch which takes on board the comments you've made.
It regtests on i686-darwin9 and java functions on darwin10 with it in place, the same patch also restores Java functionality on 4.5.2.


(I've left two debug prints in place for now - accepting that they need to be removed before it's applied).

I'll cross-reference this in PR41991 in case someone else wants to pick it up but, unfortunately, I don't have time to advance it at the moment.

cheers,
Iain

Attachment: 163302-unwind-epilogues-v2a-diff.txt
Description: Text document





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]