[Patch, Ada, Darwin] Restore PowerPC Darwin Ada bootstrap (after a looong time, it seems).
Iain Sandoe
developer@sandoe-acoustics.co.uk
Wed Sep 7 07:28:00 GMT 2011
Hi Eric,
On 6 Sep 2011, at 17:17, Mike Stump wrote:
> On Sep 6, 2011, at 1:12 AM, Eric Botcazou wrote:
>>> That's a good question, and one that I haven't got to the bottom
>>> of -
>>> but the exclusion was there in the original code-base [still in the
>>> vendor's tree too].
>>> (also, the rs6000 pro/epilogue code is not the easiest to navigate).
>>
>> Assuming that this is because the non-local goto handler needs to
>> find a
>> register saved at a canonical place, you can try !cfun-
>> >has_nonlocal_label.
>
>> This will subsume the original check !(cfun->calls_setjmp &&
>> flag_exceptions)
>> as both the regular SJLJ scheme and the GNAT SJLJ scheme use it.
>
> I can't confirm the assumption, but, if it holds, sounds nicer to
> me, thanks.
Much nicer ... and works...
Bootstrap with ada succeeds + no regressions esp. objc and obj-c++
which use SjLj for exceptions @m32.
(java not tested).
OK for trunk ( + 4.6 after a re-check and with a suitable variant of
system-darwin-ppc64.ads )?
Iain
gcc:
(+Eric)
* config/rs6000/rs6000.c (compute_save_world_info): Test
cfun->has_nonlocal_label to determine if the out-of-line save
world call may be used.
ada:
* gcc-interface/Makefile.in (darwin): Provide powerpc64 system
implementation.
* system-darwin-ppc64.ads: New file.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 178608-ppc-darwin-ada-boot.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110907/79b63318/attachment.txt>
-------------- next part --------------
More information about the Gcc-patches
mailing list