This is the mail archive of the 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 05:15, Jack Howarth wrote:

I am also seeing the failure...

FAIL: gfortran.dg/g77/980701-0.f -Os execution test

Hm. This test does not contain any (overt) exception handling, I guess we must be seeing an interaction with the fortran runtime
(or some aspect of the optimize for smallest code which is unexpected --- note that m32 forces frame pointers on for optimize_size).

The salient difference between trunk and the patched version is that there are no unwind frames emitted for the patched version.
Un-patched trunk sets -fasynchronous-unwind-tables.

The test passes if either




is given.

this can be replicated on un-patched trunk by passing '-fno- asynchronous-frame-tables'.

Given that -fno-asynchronous-frame-tables does not sit well with dawin...
I could arrange either to default to "-funwind-tables" on m64 (at least for fortran) but please note the following:

apple_local 4.2.1 (5646) gcc/config/i386/i386.c:

  if (TARGET_64BIT)
      /* Mach-O doesn't support omitting the frame pointer for now.  */
      if (flag_omit_frame_pointer == 2)
	flag_omit_frame_pointer = (TARGET_MACHO ? 0 : 1);

but we have recently changed trunk to this:

  if (TARGET_64BIT)
      if (flag_zee == 2)
        flag_zee = 1;
      if (flag_omit_frame_pointer == 2)
	flag_omit_frame_pointer = 1;


If you know that the "does not support" is no longer true for Darwin10 - then, fine, we can arrange the target over-rides to switch it off for Darwin10.

Otherwise, I'm not sure how we can justify omitting frame pointers by default for m64 OSX


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