Re: Default ISA/tuning flags for GCC, --enable-kernel= level for glibc
by Dan Horák
Jakub Jelinek píše v Po 26. 01. 2009 v 11:15 +0100:
> Hi!
>
> dist-f11-gcc44 currently has gcc 4.4.0-0.X packages, which are almost ready
> for moving into dist-f11, but before doing that, I'd like to discuss
> defaults. gcc on most arches has a switch to select which ISA it can assume
> (i.e. what minimum CPU will gcc compiled code run on) and a separate option
> to tune for the same or other CPU. Currently in Fedora the tuning is
> I believe:
> ISA tuning
> i386 -march=i386 -mtune=generic
> x86_64 -march=x86-64 -mtune=generic
> ppc lowest -mtune=power6
> ppc64 lowest -mtune=power6
> s390 -march=g5 -mtune=z9-109
> s390x -march=z900 -mtune=z9-109
> ia64 lowest -mtune=itanium2
> sparc -mcpu=v7 -mtune=v7
> sparcv9 -mcpu=v7 -mtune=v7
> sparc64 -mcpu=ultrasparc -mtune=ultrasparc
>
> plus redhat-rpm-config tweaks something (-fasynchronous-unwind-tables
> and -mminimal-toc tweaking should IMHO remain in redhat-rpm-config):
> i686 -march=i686 -mtune=generic
> sparc -mcpu=v7 -mtune=ultrasparc
> sparcv9 -mcpu=ultrasparc -mtune=ultrasparc
>
> The question is, do we want to change anything on this for F11?
> E.g. I believe Fedora hasn't shipped an i386 or i486 kernel for years,
> and especially the -march=i386 vs. -march=i486 difference is significant
> (-march=i386 doesn't have sufficient atomic instructions). The only
> -lpthread library we are using is NPTL and that doesn't support i386
> anyway, so I think we should either use -march=i486 or -march=i586
> (the latter has 8 byte compare and swap instruction) as the default,
> when -march= isn't specified.
> Similarly, I wonder what CPUs we want to support in Fedora for PowerPC,
> if e.g. -march=power4 default wouldn't be possible. On s390, is somebody
> running Fedora on some 31-bit hw still (G5/G6), or could we safely default to
> -march=z900 for -m31 as well and say -mtune=z10? On sparc I guess
There is no plan for 31-bit Fedora on s390 AFAIK, and regarding 64-bit
please take a look at https://bugzilla.redhat.com/show_bug.cgi?id=463830
> we could just -mcpu=ultrasparc -mtune=ultrasparc always, given that the
> 32-bit support is being dropped.
The general question is what should be the relation between GCC defaults
and parameters set in the rpm build macros.
Dan
15 years, 1 month