Submitted by: Luyi Cheng (luyi at linuxdna dot com) Date: 2009-05-23 Initial Package Version: 2.6.29.4 Origin: Luyi Cheng Description: Fixes for the problems encountered when compiling the kernel with icc. diff -Nur linux-2.6.29.4/arch/x86/boot/compressed/Makefile ../linux-2.6.29.4/arch/x86/boot/compressed/Makefile --- linux-2.6.29.4/arch/x86/boot/compressed/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/boot/compressed/Makefile 2009-05-23 09:16:45.000000000 +0800 @@ -6,7 +6,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o -KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 +KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O3 -no-vec KBUILD_CFLAGS += -fno-strict-aliasing -fPIC cflags-$(CONFIG_X86_64) := -mcmodel=small KBUILD_CFLAGS += $(cflags-y) @@ -62,3 +62,4 @@ $(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE $(call if_changed,ld) +EXTRA_CFLAGS=-march=i386 diff -Nur linux-2.6.29.4/arch/x86/include/asm/delay.h ../linux-2.6.29.4/arch/x86/include/asm/delay.h --- linux-2.6.29.4/arch/x86/include/asm/delay.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/include/asm/delay.h 2009-05-22 19:38:52.000000000 +0800 @@ -7,9 +7,6 @@ * Delay routines calling functions in arch/x86/lib/delay.c */ -/* Undefined functions to get compile-time errors */ -extern void __bad_udelay(void); -extern void __bad_ndelay(void); extern void __udelay(unsigned long usecs); extern void __ndelay(unsigned long nsecs); @@ -18,12 +15,12 @@ /* 0x10c7 is 2**32 / 1000000 (rounded up) */ #define udelay(n) (__builtin_constant_p(n) ? \ - ((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \ + ( __const_udelay((n) * 0x10c7ul)) : \ __udelay(n)) /* 0x5 is 2**32 / 1000000000 (rounded up) */ #define ndelay(n) (__builtin_constant_p(n) ? \ - ((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \ + ( __const_udelay((n) * 5ul)) : \ __ndelay(n)) void use_tsc_delay(void); diff -Nur linux-2.6.29.4/arch/x86/include/asm/xor_32.h ../linux-2.6.29.4/arch/x86/include/asm/xor_32.h --- linux-2.6.29.4/arch/x86/include/asm/xor_32.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/include/asm/xor_32.h 2009-05-22 19:39:39.000000000 +0800 @@ -770,7 +770,7 @@ unsigned long *p3, unsigned long *p4, unsigned long *p5) { unsigned long lines = bytes >> 8; - char xmm_save[16*4] ALIGN16; + char xmm_save[16*4]; int cr0; XMMS_SAVE; diff -Nur linux-2.6.29.4/arch/x86/kernel/acpi/realmode/Makefile ../linux-2.6.29.4/arch/x86/kernel/acpi/realmode/Makefile --- linux-2.6.29.4/arch/x86/kernel/acpi/realmode/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/kernel/acpi/realmode/Makefile 2009-05-22 19:36:30.000000000 +0800 @@ -28,7 +28,7 @@ # How to compile the 16-bit code. Note we always compile for -march=i386, # that way we can complain to the user if the CPU is insufficient. # Compile with _SETUP since this is similar to the boot-time setup code. -KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D_WAKEUP -D__KERNEL__ \ +KBUILD_CFLAGS := $(LINUXINCLUDE) -w -O3 -D_SETUP -D_WAKEUP -D__KERNEL__ \ -I$(srctree)/$(bootsrc) \ $(cflags-y) \ -Wall -Wstrict-prototypes \ diff -Nur linux-2.6.29.4/arch/x86/kernel/Makefile ../linux-2.6.29.4/arch/x86/kernel/Makefile --- linux-2.6.29.4/arch/x86/kernel/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/kernel/Makefile 2009-05-23 09:46:55.000000000 +0800 @@ -127,3 +127,6 @@ obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o endif +CFLAGS_setup.o=-march=pentium3 -mtune=pentium3 +CFLAGS_ioapic.o=-no-vec -no-ip +CFLAGS_mpparse.o=-no-vec -no-ip diff -Nur linux-2.6.29.4/arch/x86/Makefile ../linux-2.6.29.4/arch/x86/Makefile --- linux-2.6.29.4/arch/x86/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/Makefile 2009-05-22 19:36:30.000000000 +0800 @@ -27,7 +27,7 @@ LDFLAGS_vmlinux := --emit-relocs endif - KBUILD_CFLAGS += -msoft-float -mregparm=3 -freg-struct-return + KBUILD_CFLAGS += -mregparm=3 -freg-struct-return # prevent gcc from keeping the stack 16 byte aligned KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2) @@ -95,10 +95,6 @@ # Speed up the build KBUILD_CFLAGS += -pipe -# Workaround for a gcc prelease that unfortunately was shipped in a suse release -KBUILD_CFLAGS += -Wno-sign-compare -# -KBUILD_CFLAGS += -fno-asynchronous-unwind-tables # prevent gcc from generating any FP code by mistake KBUILD_CFLAGS += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,) diff -Nur linux-2.6.29.4/arch/x86/Makefile_32.cpu ../linux-2.6.29.4/arch/x86/Makefile_32.cpu --- linux-2.6.29.4/arch/x86/Makefile_32.cpu 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/Makefile_32.cpu 2009-05-22 19:36:30.000000000 +0800 @@ -17,9 +17,9 @@ cflags-$(CONFIG_M586MMX) += -march=pentium-mmx cflags-$(CONFIG_M686) += -march=i686 cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call tune,pentium2) -cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call tune,pentium3) -cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call tune,pentium3) -cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call tune,pentium4) +cflags-$(CONFIG_MPENTIUMIII) += -xSSE +cflags-$(CONFIG_MPENTIUMM) += -xSSE2 -ip +cflags-$(CONFIG_MPENTIUM4) += -xSSE2 -ip cflags-$(CONFIG_MK6) += -march=k6 # Please note, that patches that add -march=athlon-xp and friends are pointless. # They make zero difference whatsosever to performance at this time. @@ -32,7 +32,7 @@ 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_MVIAC7) += -march=i686 -cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2) +cflags-$(CONFIG_MCORE2) += -xHost -ip # AMD Elan support cflags-$(CONFIG_X86_ELAN) += -march=i486 @@ -46,6 +46,6 @@ # Bug fix for binutils: this option is required in order to keep # binutils from generating NOPL instructions against our will. -ifneq ($(CONFIG_X86_P6_NOP),y) -cflags-y += $(call cc-option,-Wa$(comma)-mtune=generic32,) -endif +#ifneq ($(CONFIG_X86_P6_NOP),y) +#cflags-y += $(call cc-option,-Wa$(comma)-mtune=generic32,) +#endif diff -Nur linux-2.6.29.4/arch/x86/mm/Makefile ../linux-2.6.29.4/arch/x86/mm/Makefile --- linux-2.6.29.4/arch/x86/mm/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/arch/x86/mm/Makefile 2009-05-23 09:47:19.000000000 +0800 @@ -17,3 +17,4 @@ obj-$(CONFIG_ACPI_NUMA) += srat_$(BITS).o obj-$(CONFIG_MEMTEST) += memtest.o +CFLAGS_ioremap.o=-no-vec -no-ip diff -Nur linux-2.6.29.4/drivers/char/agp/Makefile ../linux-2.6.29.4/drivers/char/agp/Makefile --- linux-2.6.29.4/drivers/char/agp/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/char/agp/Makefile 2009-05-22 19:36:30.000000000 +0800 @@ -19,3 +19,4 @@ obj-$(CONFIG_AGP_SWORKS) += sworks-agp.o obj-$(CONFIG_AGP_UNINORTH) += uninorth-agp.o obj-$(CONFIG_AGP_VIA) += via-agp.o +CFLAGS_isoch.o=-march=pentium3 -mtune=pentium3 diff -Nur linux-2.6.29.4/drivers/char/Makefile ../linux-2.6.29.4/drivers/char/Makefile --- linux-2.6.29.4/drivers/char/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/char/Makefile 2009-05-22 19:36:30.000000000 +0800 @@ -110,7 +110,7 @@ obj-$(CONFIG_JS_RTC) += js-rtc.o js-rtc-y = rtc.o - +CFLAGS_vt.o=-no-vec # Files generated that shall be removed upon make clean clean-files := consolemap_deftbl.c defkeymap.c diff -Nur linux-2.6.29.4/drivers/hwmon/it87.c ../linux-2.6.29.4/drivers/hwmon/it87.c --- linux-2.6.29.4/drivers/hwmon/it87.c 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/hwmon/it87.c 2009-05-22 19:54:58.000000000 +0800 @@ -733,18 +733,24 @@ show_fan_offset(2); show_fan_offset(3); -#define show_pwm_offset(offset) \ +#define show_pwm_offset1(offset) \ static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \ show_pwm_enable, set_pwm_enable, offset - 1); \ static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \ show_pwm, set_pwm, offset - 1); \ static DEVICE_ATTR(pwm##offset##_freq, \ - (offset == 1 ? S_IRUGO | S_IWUSR : S_IRUGO), \ - show_pwm_freq, (offset == 1 ? set_pwm_freq : NULL)); - -show_pwm_offset(1); -show_pwm_offset(2); -show_pwm_offset(3); + (S_IRUGO | S_IWUSR), \ + show_pwm_freq, set_pwm_freq); +#define show_pwm_offset2(offset) \ +static SENSOR_DEVICE_ATTR(pwm##offset##_enable, S_IRUGO | S_IWUSR, \ + show_pwm_enable, set_pwm_enable, offset - 1); \ +static SENSOR_DEVICE_ATTR(pwm##offset, S_IRUGO | S_IWUSR, \ + show_pwm, set_pwm, offset - 1); \ +static DEVICE_ATTR(pwm##offset##_freq,S_IRUGO,show_pwm_freq,NULL); + +show_pwm_offset1(1); +show_pwm_offset2(2); +show_pwm_offset2(3); /* A different set of callbacks for 16-bit fans */ static ssize_t show_fan16(struct device *dev, struct device_attribute *attr, diff -Nur linux-2.6.29.4/drivers/isdn/mISDN/Makefile ../linux-2.6.29.4/drivers/isdn/mISDN/Makefile --- linux-2.6.29.4/drivers/isdn/mISDN/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/isdn/mISDN/Makefile 2009-05-22 20:29:49.000000000 +0800 @@ -11,3 +11,4 @@ mISDN_core-objs := core.o fsm.o socket.o clock.o hwchannel.o stack.o layer1.o layer2.o tei.o timerdev.o mISDN_dsp-objs := dsp_core.o dsp_cmx.o dsp_tones.o dsp_dtmf.o dsp_audio.o dsp_blowfish.o dsp_pipeline.o dsp_hwec.o l1oip-objs := l1oip_core.o l1oip_codec.o +CFLAGS_dsp_blowfish.o=-O0 diff -Nur linux-2.6.29.4/drivers/lguest/x86/core.c ../linux-2.6.29.4/drivers/lguest/x86/core.c --- linux-2.6.29.4/drivers/lguest/x86/core.c 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/lguest/x86/core.c 2009-05-22 22:24:34.000000000 +0800 @@ -49,7 +49,7 @@ static int cpu_had_pge; -static struct { +struct { unsigned long offset; unsigned short segment; } lguest_entry; diff -Nur linux-2.6.29.4/drivers/net/wan/sbni.c ../linux-2.6.29.4/drivers/net/wan/sbni.c --- linux-2.6.29.4/drivers/net/wan/sbni.c 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/drivers/net/wan/sbni.c 2009-05-22 20:00:12.000000000 +0800 @@ -160,7 +160,7 @@ static int num __initdata = 0; static unsigned char rxl_tab[]; -static u32 crc32tab[]; +u32 crc32tab[]; /* A list of all installed devices, for removing the driver module. */ static struct net_device *sbni_cards[ SBNI_MAX_NUM_CARDS ]; @@ -1660,7 +1660,7 @@ #endif /* ASM_CRC */ -static u32 crc32tab[] __attribute__ ((aligned(8))) = { +u32 crc32tab[] __attribute__ ((aligned(8))) = { 0xD202EF8D, 0xA505DF1B, 0x3C0C8EA1, 0x4B0BBE37, 0xD56F2B94, 0xA2681B02, 0x3B614AB8, 0x4C667A2E, 0xDCD967BF, 0xABDE5729, 0x32D70693, 0x45D03605, diff -Nur linux-2.6.29.4/include/linux/compiler-intel.h ../linux-2.6.29.4/include/linux/compiler-intel.h --- linux-2.6.29.4/include/linux/compiler-intel.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/include/linux/compiler-intel.h 2009-05-22 19:36:30.000000000 +0800 @@ -29,3 +29,4 @@ #endif #define uninitialized_var(x) x +#undef __compiler_offsetof diff -Nur linux-2.6.29.4/include/linux/kvm.h ../linux-2.6.29.4/include/linux/kvm.h --- linux-2.6.29.4/include/linux/kvm.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/include/linux/kvm.h 2009-05-22 19:47:15.000000000 +0800 @@ -238,7 +238,6 @@ __u32 padding; union { void __user *dirty_bitmap; /* one bit per page */ - __u64 padding; }; }; diff -Nur linux-2.6.29.4/include/linux/log2.h ../linux-2.6.29.4/include/linux/log2.h --- linux-2.6.29.4/include/linux/log2.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/include/linux/log2.h 2009-05-22 19:37:36.000000000 +0800 @@ -16,12 +16,6 @@ #include /* - * deal with unrepresentable constant logarithms - */ -extern __attribute__((const, noreturn)) -int ____ilog2_NaN(void); - -/* * non-constant log of base 2 calculators * - the arch may override these in asm/bitops.h if they can be implemented * more efficiently than using fls() and fls64() @@ -84,8 +78,6 @@ */ #define ilog2(n) \ ( \ - __builtin_constant_p(n) ? ( \ - (n) < 1 ? ____ilog2_NaN() : \ (n) & (1ULL << 63) ? 63 : \ (n) & (1ULL << 62) ? 62 : \ (n) & (1ULL << 61) ? 61 : \ @@ -150,8 +142,6 @@ (n) & (1ULL << 2) ? 2 : \ (n) & (1ULL << 1) ? 1 : \ (n) & (1ULL << 0) ? 0 : \ - ____ilog2_NaN() \ - ) : \ (sizeof(n) <= 4) ? \ __ilog2_u32(n) : \ __ilog2_u64(n) \ diff -Nur linux-2.6.29.4/include/linux/module.h ../linux-2.6.29.4/include/linux/module.h --- linux-2.6.29.4/include/linux/module.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/include/linux/module.h 2009-05-22 19:56:54.000000000 +0800 @@ -179,7 +179,7 @@ * generate a checksums for some symbols */ #define __CRC_SYMBOL(sym, sec) \ extern void *__crc_##sym __attribute__((weak)); \ - static const unsigned long __kcrctab_##sym \ + const unsigned long __kcrctab_##sym \ __used \ __attribute__((section("__kcrctab" sec), unused)) \ = (unsigned long) &__crc_##sym; @@ -191,10 +191,10 @@ #define __EXPORT_SYMBOL(sym, sec) \ extern typeof(sym) sym; \ __CRC_SYMBOL(sym, sec) \ - static const char __kstrtab_##sym[] \ + const char __kstrtab_##sym[] \ __attribute__((section("__ksymtab_strings"), aligned(1))) \ = MODULE_SYMBOL_PREFIX #sym; \ - static const struct kernel_symbol __ksymtab_##sym \ + const struct kernel_symbol __ksymtab_##sym \ __used \ __attribute__((section("__ksymtab" sec), unused)) \ = { (unsigned long)&sym, __kstrtab_##sym } diff -Nur linux-2.6.29.4/include/sound/soc-dai.h ../linux-2.6.29.4/include/sound/soc-dai.h --- linux-2.6.29.4/include/sound/soc-dai.h 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/include/sound/soc-dai.h 2009-05-22 19:44:51.000000000 +0800 @@ -221,7 +221,6 @@ /* parent codec/platform */ union { - struct snd_soc_codec *codec; struct snd_soc_platform *platform; }; diff -Nur linux-2.6.29.4/kernel/Makefile ../linux-2.6.29.4/kernel/Makefile --- linux-2.6.29.4/kernel/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/kernel/Makefile 2009-05-23 09:16:10.000000000 +0800 @@ -124,3 +124,5 @@ targets += timeconst.h $(obj)/timeconst.h: $(src)/timeconst.pl FORCE $(call if_changed,timeconst) +CFLAGS_pid.o=-no-vec +CFLAGS_cgroup.o=-no-vec diff -Nur linux-2.6.29.4/Makefile ../linux-2.6.29.4/Makefile --- linux-2.6.29.4/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/Makefile 2009-05-23 10:16:10.000000000 +0800 @@ -224,10 +224,10 @@ else if [ -x /bin/bash ]; then echo /bin/bash; \ else echo sh; fi ; fi) -HOSTCC = gcc +HOSTCC = icc HOSTCXX = g++ -HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -HOSTCXXFLAGS = -O2 +HOSTCFLAGS = -O3 -fomit-frame-pointer -w +HOSTCXXFLAGS = -O3 # Decide whether to build built-in, modular, or both. # Normally, just do built-in. @@ -310,10 +310,10 @@ # Make variables (CC, etc...) AS = $(CROSS_COMPILE)as -LD = $(CROSS_COMPILE)ld -CC = $(CROSS_COMPILE)gcc +LD = xild +CC = icc CPP = $(CC) -E -AR = $(CROSS_COMPILE)ar +AR = xiar NM = $(CROSS_COMPILE)nm STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy @@ -344,9 +344,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ -KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -fno-common \ - -Werror-implicit-function-declaration +KBUILD_CFLAGS := -fno-strict-aliasing -fno-common KBUILD_AFLAGS := -D__ASSEMBLY__ # Read KERNELRELEASE from include/config/kernel.release (if it exists) @@ -523,7 +521,7 @@ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os else -KBUILD_CFLAGS += -O2 +KBUILD_CFLAGS += -O3 -w endif include $(srctree)/arch/$(SRCARCH)/Makefile @@ -534,7 +532,7 @@ # Force gcc to behave correct even for buggy distributions # Arch Makefiles may override this setting -KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector) +KBUILD_CFLAGS += $(call cc-option, -fno-stack-security-check) ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls @@ -560,17 +558,6 @@ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) CHECKFLAGS += $(NOSTDINC_FLAGS) -# warn about C99 declaration after statement -KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) - -# disable pointer signed / unsigned warnings in gcc 4.0 -KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,) - -# disable invalid "can't wrap" optimzations for signed / pointers -KBUILD_CFLAGS += $(call cc-option,-fwrapv) - -# revert to pre-gcc-4.4 behaviour of .eh_frame -KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm) # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments # But warn user when we do so @@ -693,7 +680,7 @@ quiet_cmd_vmlinux__ ?= LD $@ cmd_vmlinux__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) -o $@ \ -T $(vmlinux-lds) $(vmlinux-init) \ - --start-group $(vmlinux-main) --end-group \ + --start-group $(vmlinux-main) /opt/intel/Compiler/11.0/083/lib/ia32/libirc_s.a --end-group \ $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o FORCE ,$^) # Generate new vmlinux version @@ -1558,7 +1545,7 @@ cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \ $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*) -a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ +a_flags = -MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \ $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \ $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o) diff -Nur linux-2.6.29.4/mm/Makefile ../linux-2.6.29.4/mm/Makefile --- linux-2.6.29.4/mm/Makefile 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/mm/Makefile 2009-05-22 23:12:36.000000000 +0800 @@ -33,3 +33,7 @@ obj-$(CONFIG_SMP) += allocpercpu.o obj-$(CONFIG_QUICKLIST) += quicklist.o obj-$(CONFIG_CGROUP_MEM_RES_CTLR) += memcontrol.o page_cgroup.o +CFLAGS_memory.o=-march=pentium3 -mtune=pentium3 -no-ip +CFLAGS_mmap.o=-march=pentium3 -mtune=pentium3 -no-ip +CFLAGS_mprotect.o=-march=pentium3 -mtune=pentium3 -no-ip +CFLAGS_mremap.o=-march=pentium3 -mtune=pentium3 -no-ip diff -Nur linux-2.6.29.4/scripts/Makefile.build ../linux-2.6.29.4/scripts/Makefile.build --- linux-2.6.29.4/scripts/Makefile.build 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/scripts/Makefile.build 2009-05-23 10:16:55.000000000 +0800 @@ -335,7 +335,7 @@ cmd_link_multi-y = $(LD) $(ld_flags) -r -o $@ $(link_multi_deps) $(cmd_secanalysis) quiet_cmd_link_multi-m = LD [M] $@ -cmd_link_multi-m = $(cmd_link_multi-y) +cmd_link_multi-m = $(cmd_link_multi-y) /opt/intel/Compiler/11.0/083/lib/ia32/libirc_s.a # We would rather have a list of rules like # foo.o: $(foo-objs) diff -Nur linux-2.6.29.4/scripts/Makefile.modpost ../linux-2.6.29.4/scripts/Makefile.modpost --- linux-2.6.29.4/scripts/Makefile.modpost 2009-05-19 07:52:34.000000000 +0800 +++ ../linux-2.6.29.4/scripts/Makefile.modpost 2009-05-23 10:16:50.000000000 +0800 @@ -130,7 +130,7 @@ # Step 6), final link of the modules quiet_cmd_ld_ko_o = LD [M] $@ cmd_ld_ko_o = $(LD) -r $(LDFLAGS) $(LDFLAGS_MODULE) -o $@ \ - $(filter-out FORCE,$^) + $(filter-out FORCE,$^) /opt/intel/Compiler/11.0/083/lib/ia32/libirc_s.a $(modules): %.ko :%.o %.mod.o FORCE $(call if_changed,ld_ko_o)