This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: the cause of PR41260 is new additional epilog unwind information
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