[PATCH] i386: Fix usage of -mtune when X86_GENERIC=y or CONFIG_MCORE2=y
- From: Lasse Collin <lasse.collin@xxxxxxxxxxx>
- Date: Wed, 28 Feb 2007 22:17:21 +0200
Two fixes to arch/i386/Makefile.cpu:
1) When X86_GENERIC=y is set, use -mtune=i686 if $(CC) doesn't
support -mtune=generic. GCC 4.1.2 and earlier don't support
-mtune=generic. When building a generic kernel for a distro
that runs on i586 and better, it is nice to use
-march=i586 -mtune=i686 instead of plain -march=i586.
2) Use $(call tune) instead of hardcoded -mtune when CONFIG_MCORE2=y.
This makes it possible to have CONFIG_MCORE2=y when using GCC 3.3,
which uses -mcpu instead of -mtune. Also dropped fallback to
-mtune=generic and -mtune=i686, because -march=i686 already
implies -mtune=i686.
The patch is against 2.6.20, but Makefile.cpu hasn't changed recently.
--- linux-2.6.20/arch/i386/Makefile.cpu.orig 2007-02-04 20:44:54.000000000 +0200
+++ linux-2.6.20/arch/i386/Makefile.cpu 2007-02-28 21:22:47.000000000 +0200
@@ -4,9 +4,9 @@
#-mtune exists since gcc 3.4
HAS_MTUNE := $(call cc-option-yn, -mtune=i386)
ifeq ($(HAS_MTUNE),y)
-tune = $(call cc-option,-mtune=$(1),)
+tune = $(call cc-option,-mtune=$(1),$(2))
else
-tune = $(call cc-option,-mcpu=$(1),)
+tune = $(call cc-option,-mcpu=$(1),$(2))
endif
align := $(cc-option-align)
@@ -32,7 +32,7 @@
cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586)
cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
-cflags-$(CONFIG_MCORE2) += -march=i686 $(call cc-option,-mtune=core2,$(call cc-option,-mtune=generic,-mtune=i686))
+cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
# AMD Elan support
cflags-$(CONFIG_X86_ELAN) += -march=i486
@@ -42,5 +42,5 @@
# add at the end to overwrite eventual tuning options from earlier
# cpu entries
-cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic)
+cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call tune,i686))
--
Lasse Collin | IRC: Larhzu @ IRCnet & Freenode
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Prev by Date: Kernel Oops with shm namespace cleanups
- Next by Date: Re: Problem with freezable workqueues
- Previous by thread: Kernel Oops with shm namespace cleanups
- Next by thread: Fix mv643xx_eth compilation.
- Index(es):
Relevant Pages
- Re: math.nroot [was Re: A brief question.]
... > so before VC 7.1 was released (C99 ain't exactly new anymore). ... >
support _some_ way to get at this stuff. ... This includes gcc before C99 ...
> and fenv.h -- if the platforms represented in fpectlmodule.c were ... (comp.lang.python) - Re: Compiling Tcl with Msys/MinGW on Windows XP
... checking for gcc... ... checking whether the C compiler is a cross-compiler...
... checking for EXCEPTION_DISPOSITION support in include files... ... I saw one
case were people had to use msys 1.0.6 ... (comp.lang.tcl) - Re: C is too old? opinions?
... You insisted that this pragma is supported by many compilers, ... I cannot find
any mention of it in the documentation for my current gcc ... If they support if,
it is undocumented and probably deprecated. ... And, of course, the bar software worked
fine. ... (comp.lang.c) - Re: Non ASCII characters in CFString litteral, HELP !
... Same for icc ... CodeWarrior is PPC-only and very dead, ... compilers
listed don't even support Objective-C. ... For this particular case, blame C or Cocoa,
not gcc. ... (comp.sys.mac.programmer.help) - Re: Non ASCII characters in CFString litteral, HELP !
... CodeWarrior is PPC-only and very dead, ... compilers listed don't even support
Objective-C. ... It is indeed lamentable that we have pretty much only one compiler
... For this particular case, blame C or Cocoa, not gcc. ... (comp.sys.mac.programmer.help)