public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* RE: the cause of PR41260 is new additional epilog unwind  information
@ 2009-09-18 23:14 Jack Howarth
  0 siblings, 0 replies; 6+ messages in thread
From: Jack Howarth @ 2009-09-18 23:14 UTC (permalink / raw)
  To: rguenth, gcc

   FYI, to clarify for others who haven't been following
PR41260, the messages...

http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025894.html
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025898.html

explain the changes in libgcc handling as of darwin10. If I
understand those correctly, the symbols exported through any
libgcc_s.10.5 are now provided from libSystem. This means
that we aren't really using the FSF libgcc unwinder code but
that from unwinder in libSystem. In Darwin10, this behavior
occurs no matter the order -lSystem and -lgcc on the link
line. Only additional symbols not contained in libgcc_s.10.5
will be used from libgcc_s.
           Jack

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: the cause of PR41260 is new additional epilog unwind  information
  2009-09-18 22:55 Jack Howarth
@ 2009-09-19 17:38 ` Richard Guenther
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Guenther @ 2009-09-19 17:38 UTC (permalink / raw)
  To: Jack Howarth; +Cc: rth, gcc

On Fri, 18 Sep 2009, Jack Howarth wrote:

> Richard,
>    We have an analysis on the cause of the breakage of
> exception handling at r147995 on x86_64-apple-darwin10 (PR41260)...
> 
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025908.html
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025909.html
> 
> The additional epilog unwind information is breaking the
> 'running' of the dwarf unwind info. The options to fix it are either
> to 1) not add epilog unwind information for Darwin or 2) have the
> gcc driver implicitly add -no_compact_unwind to the link line for
> Darwin.
>    Can you propose a patch to achieve the first solution of not
> adding the additional epilog unwind information on darwin so I
> can test that solution? Thanks in advance.

I'm the wrong Richard to address here.

Richard.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: the cause of PR41260 is new additional epilog unwind  information
  2009-09-19 12:27 ` Joseph S. Myers
@ 2009-09-19 13:50   ` Peter O'Gorman
  0 siblings, 0 replies; 6+ messages in thread
From: Peter O'Gorman @ 2009-09-19 13:50 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Jack Howarth, gcc

Joseph S. Myers wrote:
> On Fri, 18 Sep 2009, Jack Howarth wrote:
> 
>>    I can confirm that the second proposed solution of passing -Wl,-no_compact_unwind
>> to the linkage of the g++.dg/torture/stackalign/eh-vararg-2.C test cases eliminates
>> the execution error on x86_64-apple-darwin10 so that option works. This leads to a
>> dejagnu question. I want to do a quick and dirty test to see that -Wl,-no_compact_unwind
>> suppresses all of the regressions that appeared at r147995, however I can't puzzle out
>> how to formulate...
>>
>> make -k check RUNTESTFLAGS="--target_board=unix'{-Wl,-no_compact_unwind}'"
>>
>> such that -Wl,-no_compact_unwind is interpreted as a single run with
>> one flag being passed (ie not one run with -Wl and one run with
>> -no_compact_unwind). Any ideas?
> 
> The -Xlinker spelling may be useful - try 
> "--target_board=unix/-Xlinker/-no_compact_unwind".
> 

Or try building with this patch (it always adds -no_compact_unwind with
-lSystem for 10.6 and later, but beware mailer wrapping). I didn't test
it because mainline fails to build for me, dsymutil crashes so
'configure: error: cannot compute sizeof (long long)'.

Peter


Index: gcc/config/darwin.h
===================================================================
--- gcc/config/darwin.h (revision 151878)
+++ gcc/config/darwin.h (working copy)
@@ -372,7 +372,9 @@

 /* Machine dependent libraries.  */

-#define LIB_SPEC "%{!static:-lSystem}"
+#define LIB_SPEC "%{!static:\
+       %:version-compare(>= 10.6 mmacosx-version-min=
-no_compact_unwind)  \
+       -lSystem}"

 /* Support -mmacosx-version-min by supplying different (stub)
libgcc_s.dylib
    libraries to link against, and by not linking against libgcc_s on

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: the cause of PR41260 is new additional epilog unwind  information
  2009-09-19  2:30 Jack Howarth
@ 2009-09-19 12:27 ` Joseph S. Myers
  2009-09-19 13:50   ` Peter O'Gorman
  0 siblings, 1 reply; 6+ messages in thread
From: Joseph S. Myers @ 2009-09-19 12:27 UTC (permalink / raw)
  To: Jack Howarth; +Cc: gcc

On Fri, 18 Sep 2009, Jack Howarth wrote:

>    I can confirm that the second proposed solution of passing -Wl,-no_compact_unwind
> to the linkage of the g++.dg/torture/stackalign/eh-vararg-2.C test cases eliminates
> the execution error on x86_64-apple-darwin10 so that option works. This leads to a
> dejagnu question. I want to do a quick and dirty test to see that -Wl,-no_compact_unwind
> suppresses all of the regressions that appeared at r147995, however I can't puzzle out
> how to formulate...
> 
> make -k check RUNTESTFLAGS="--target_board=unix'{-Wl,-no_compact_unwind}'"
> 
> such that -Wl,-no_compact_unwind is interpreted as a single run with
> one flag being passed (ie not one run with -Wl and one run with
> -no_compact_unwind). Any ideas?

The -Xlinker spelling may be useful - try 
"--target_board=unix/-Xlinker/-no_compact_unwind".

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: the cause of PR41260 is new additional epilog unwind  information
@ 2009-09-19  2:30 Jack Howarth
  2009-09-19 12:27 ` Joseph S. Myers
  0 siblings, 1 reply; 6+ messages in thread
From: Jack Howarth @ 2009-09-19  2:30 UTC (permalink / raw)
  To: gcc

   I can confirm that the second proposed solution of passing -Wl,-no_compact_unwind
to the linkage of the g++.dg/torture/stackalign/eh-vararg-2.C test cases eliminates
the execution error on x86_64-apple-darwin10 so that option works. This leads to a
dejagnu question. I want to do a quick and dirty test to see that -Wl,-no_compact_unwind
suppresses all of the regressions that appeared at r147995, however I can't puzzle out
how to formulate...

make -k check RUNTESTFLAGS="--target_board=unix'{-Wl,-no_compact_unwind}'"

such that -Wl,-no_compact_unwind is interpreted as a single run with
one flag being passed (ie not one run with -Wl and one run with
-no_compact_unwind). Any ideas?
              Jack

^ permalink raw reply	[flat|nested] 6+ messages in thread

* the cause of PR41260 is new additional epilog unwind information
@ 2009-09-18 22:55 Jack Howarth
  2009-09-19 17:38 ` Richard Guenther
  0 siblings, 1 reply; 6+ messages in thread
From: Jack Howarth @ 2009-09-18 22:55 UTC (permalink / raw)
  To: rguenth, gcc

Richard,
   We have an analysis on the cause of the breakage of
exception handling at r147995 on x86_64-apple-darwin10 (PR41260)...

http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025908.html
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025909.html

The additional epilog unwind information is breaking the
'running' of the dwarf unwind info. The options to fix it are either
to 1) not add epilog unwind information for Darwin or 2) have the
gcc driver implicitly add -no_compact_unwind to the link line for
Darwin.
   Can you propose a patch to achieve the first solution of not
adding the additional epilog unwind information on darwin so I
can test that solution? Thanks in advance.
           Jack

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-09-19 17:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-18 23:14 the cause of PR41260 is new additional epilog unwind information Jack Howarth
  -- strict thread matches above, loose matches on Subject: below --
2009-09-19  2:30 Jack Howarth
2009-09-19 12:27 ` Joseph S. Myers
2009-09-19 13:50   ` Peter O'Gorman
2009-09-18 22:55 Jack Howarth
2009-09-19 17:38 ` Richard Guenther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).