This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: [RFC] Additional targets for powerpc


Steve Munroe <sjmunroe@us.ibm.com> writes:

> Retain (compatible with all existing Linux on Power systems)
>  powerpc (a synonym for powerpc32)
>  powerpc32
>  powerpc64
> And add
>  power4_32
>  power4_64
>  power5_32
>  power5_64
>  ppc970_32
>  ppc970_64
> Or alternatively
>  powerpc32_power4
>  powerpc64_power4 
>  powerpc32_power5
>  powerpc64_power5
>  powerpc32_970
>  powerpc64_970 I see no need to support a separate (from existing 
> powerpc32/64)  POWER3 and RS64IV targets at this time.  The POWER3 systems 
> are quite old and the RS64IV systems are "strongly storage consistent" 
> machines.  The POWER4, POWER5, and PPC970 processors allow "weak storage 
> consistency" and are more aggressively piped for out-of-order instruction 
> execution. This is difference requires very different instruction 
> scheduling for optimal performance. 
> Glibc and other package changes
> 
> The changes needed to enable additional targets for glibc include:
> 
> * Add the new machine targets to ./scripts/config.sub (and in autoconf)

I think we've found with the i386 and, especially, the MIPS, that this
approach is unwieldy and becomes confusing.  Have you considered using
the --with-cpu, --with-arch and --with-tune configure options, instead
of adding a slew of CPU names?  I don't know much about glibc
configury, but those options suffice for gcc and the binutils.

The main drawback at present is that there is no way to map from
config.guess to --with-cpu.  But I believe that is a solvable problem.

(If people need to support compilers with different default targets on
the same system, they can use --program-prefix.)

Ian


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