Re: K7/Athlon Optimization Causes Build Fail on Kernel 3.3 i686
From: Randy Dunlap
Date: Wed Mar 28 2012 - 13:13:30 EST
On 03/28/2012 10:10 AM, Borislav Petkov wrote:
> On Wed, Mar 28, 2012 at 09:33:35AM -0700, Trevor Turner wrote:
>> On Wed, Mar 28, 2012 at 04:19, Borislav Petkov <bp@xxxxxxxxx> wrote:
>>> Right, can you try this with the upstream kernel, i.e.
>>>
>>> 1. get one from kernel.org
>>> 2. copy the .config into the directory where you've unpacked the sources
>>> 3. do 'make oldconfig' and then 'make menuconfig' and go and select Athlon build
>>> 4. do 'make -j3 > w.log 2>&1' so that you can catch the build output into w.log
>>> which you can send later
>>>
>>> Also, which build tools are you using, simply do
>>>
>>> ./scripts/ver_linux
>>>
>>> in the kernel source directory, catch the output and send it on pls.
>>
>> Here's the output of ver_linux:
>> Linux Dark-Server 3.3.0-1-ck #1 SMP Mon Mar 26 07:53:51 PDT 2012 i686
>> AMD Athlon(TM) MP 2000+ AuthenticAMD GNU/Linux
>>
>
> <snip a _lot_ of output>
>
>> LD drivers/usb/built-in.o
>> LD drivers/built-in.o
>> LD vmlinux.o
>> MODPOST vmlinux.o
>> WARNING: modpost: Found 1 section mismatch(es).
>> To see full details build your kernel with:
>> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>> GEN .version
>> CHK include/generated/compile.h
>> UPD include/generated/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD .tmp_vmlinux1
>> KSYM .tmp_kallsyms1.S
>> AS .tmp_kallsyms1.o
>> LD .tmp_vmlinux2
>> KSYM .tmp_kallsyms2.S
>> AS .tmp_kallsyms2.o
>> LD vmlinux
>> SYSMAP System.map
>> SYSMAP .tmp_System.map
>> Building modules, stage 2.
>> MODPOST 518 modules
>> CC arch/x86/boot/a20.o
>> AS arch/x86/boot/bioscall.o
>> CC arch/x86/boot/cmdline.o
>> AS arch/x86/boot/copy.o
>> HOSTCC arch/x86/boot/mkcpustr
>> CC arch/x86/boot/cpucheck.o
>> CC arch/x86/boot/early_serial_console.o
>> CC arch/x86/boot/edd.o
>> VOFFSET arch/x86/boot/voffset.h
>> LDS arch/x86/boot/compressed/vmlinux.lds
>> AS arch/x86/boot/compressed/head_32.o
>> CC arch/x86/boot/compressed/misc.o
>> CC arch/x86/boot/main.o
>> CC arch/x86/boot/mca.o
>> CC arch/x86/boot/memory.o
>> CC arch/x86/boot/compressed/string.o
>> CC arch/x86/boot/compressed/cmdline.o
>> CC arch/x86/boot/compressed/early_serial_console.o
>> OBJCOPY arch/x86/boot/compressed/vmlinux.bin
>> HOSTCC arch/x86/boot/compressed/relocs
>> HOSTCC arch/x86/boot/compressed/mkpiggy
>> arch/x86/boot/compressed/relocs.c: In function âprint_absolute_symbolsâ:
>> arch/x86/boot/compressed/relocs.c:405:14: warning: variable
>> âsh_symtabâ set but not used [-Wunused-but-set-variable]
>> CC arch/x86/boot/compressed/eboot.o
>> AS arch/x86/boot/compressed/efi_stub_32.o
>> RELOCS arch/x86/boot/compressed/vmlinux.relocs
>> GZIP arch/x86/boot/compressed/vmlinux.bin.gz
>> CC crypto/arc4.mod.o
>> CC arch/x86/boot/pm.o
>> AS arch/x86/boot/pmjump.o
>> CC crypto/crc32c.mod.o
>> CC arch/x86/boot/printf.o
>> CC crypto/deflate.mod.o
>> CC arch/x86/boot/regs.o
>> CC arch/x86/boot/string.o
>> CC arch/x86/boot/tty.o
>> CC crypto/des_generic.mod.o
>> MKPIGGY arch/x86/boot/compressed/piggy.S
>> AS arch/x86/boot/compressed/piggy.o
>> CC arch/x86/boot/video.o
>> CC crypto/ecb.mod.o
>> arch/x86/boot/compressed/eboot.o: In function `efi_main':
>> eboot.c:(.text+0x1530): undefined reference to `_mmx_memcpy'
>> eboot.c:(.text+0x17d0): undefined reference to `_mmx_memcpy'
>> make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 1
>> make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
>> make[1]: *** Waiting for unfinished jobs....
>
> This is the problem and I was able to reproduce it on a similar box
> here:
Yes, that's the build error that I got also.
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 6
> model : 6
> model name : AMD Athlon(tm) XP 1800+
> stepping : 2
> cpu MHz : 1533.265
> cache size : 256 KB
>
> It should be fixed by disabling
>
> CONFIG_EFI=y
> CONFIG_EFI_STUB=y
>
> in your config. K7 and EFI are from different epochs anyway and cannot
> obviously be enabled both on the same system with the current Kconfig
> for EFI.
but the Kconfig files shouldn't allow such a failing .config to be
created, or the Makefiles are inadequate, or <mumble something>....
:(
--
~Randy
--
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/