Hello Michael, 

On 12 Sep 2012, at 23:43, Michael Meissner wrote:

>  It would be nice to know if this doesn't break the other ppc
> environments (AIX, Darwin) before I commit it.  Are there any problems with
> this patch? 

For powerpc-darwin9, there are a couple of issues which I've hacked around to 
get bootstrap to complete.

1. In rs6000.h

Where there are TARGET_XXX macros set to zero and guarded by config-time 
HAVE_AS_YYY (e.g. TARGET_POPCNTD, HAVE_AS_POPCNTD)
This causes an error when the #define TARGET_POPCNTD OPTION_POPCNTD is parsed.

For the sake of making progress, I just worked around these by moving the 
guarded defines to where the OPTION_XXXs are equated -- I.E: 

#ifndef HAVE_AS_XXX
#define TARGET_XXX 0
#else
#define TARGET_XXX OPTION_XXX
#endif

likely, that's not the Right Solution, but it allowed me to get to the next 
step -

2. rs6000_misc_flags{,explicit} and rs6000_debug_flags{,explicit} are declared 
as HOST_WIDE_INT which is 'long long' for this target.  This causes fails on 
lines 1841, 1842, 1844 and 1846 in rs6000.c because of mismatched format 
specifier and argument.  I just worked around this with a temporary definition 
of a suitable format descriptor.

With these two hacks, bootstrap completes for all langs including Java, Ada and 
ObjC++.
I haven't done any formal reg-tests yet, but a selection of checks across the 
board look reasonable so far.

If there is any other specific input that would be useful let me know - these 
older platforms are somewhat slow for the full build/test cycle.

cheers
Iain


Reply via email to