Default ISA/tuning flags for GCC, --enable-kernel= level for glibc

Dan Horák dan at danny.cz
Mon Jan 26 13:37:28 UTC 2009


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





More information about the devel mailing list