From: Craig R. <cro...@bb...> - 2003-01-28 23:27:34
|
On Tue, Jan 28, 2003 at 02:18:42PM -0500, Craig Rodrigues wrote: > On Tue, Jan 28, 2003 at 11:08:11AM -0800, Sridhar Samudrala wrote: > > Craig, > > > > I don't enable multi-device support while building my kernels. But just to see if > > this problem happens on my system, i enabled RAID support in linear mode and the > > compile went fine even when -O2 is on. > > The gcc command is as follows: > > gcc -Wp,-MD,drivers/md/.linear.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include -DKBUILD_BASENAME=linear -DKBUILD_MODNAME=linear -c -o drivers/md/linear.o drivers/md/linear.c I spoke too soon. Even with my patch, the compiler complains. The three options to fix this are: - remove the -O2 flag - change -march=i386 to -march=i686 - use gcc 3.2 compiler for everything Changing the compiler on my system is not what I want to do right now. It turns out that if you do: rpm -bb mykernel.spec then for some reason, rpm will default to building for the i386 platform, and supply the -march=i386 flag during the kernel make. The way to override this is to do: rpm --target i686 -bb mykernel.spec I'm going to rebuild everything now and see how it goes.... -- Craig Rodrigues Distributed Systems and Logistics, Office 6/325A cro...@bb... BBN Technologies, a Verizon company (617) 873-4725 Cambridge, MA |