<div dir="ltr">Hi Jay,<br>  Are they using the coreboot version of memtest86plus?<br>  What commit is being built?<br>  What version of GCC?<br><br>Building with GCC 7.3.0 from the latest commit at <a href="http://review.coreboot.org/memtest86plus">review.coreboot.org/memtest86plus</a>, I do get one warning that should be cleaned up, but it builds fine.  The errors you posted look to me like it's being built from the default memtest86+ zipfile.<div><br></div><div>We also have the Kconfig option in coreboot to build memtest86+ as a secondary payload.  That works with no issue.</div><div><br></div><div>Below is my build output from the coreboot memtest86plus repo.  Hope this helps.</div><div>Martin<br><br>~/work/git/memtest86plus ((5ca4eb9...))% make<br>rm -f *.o *.pre.s *.iso memtest.bin memtest memtest_shared \<br>       memtest_shared.bin memtest.iso<br>cc -E -traditional head.S -o head.pre.s<br>as -32   -o head.pre.o head.pre.s<br>cc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline -fno-strict-aliasing reloc.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o main.o main.c<br>cc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding test.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o init.o init.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o lib.o lib.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o patn.o patn.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o screen_buffer.o screen_buffer.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o config.o config.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o cpuid.o cpuid.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o coreboot.o coreboot.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o pci.o pci.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o memsize.o memsize.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o spd.o spd.c<br>spd.c: In function ‘sb800_get_smb’:<br>spd.c:58:20: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]<br> int lbyte, hbyte, result;<br>                   ^~~~~~<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o error.o error.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o dmi.o dmi.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o controller.o controller.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o smp.o smp.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o vmem.o vmem.c<br>cc -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding random.c<br>cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector -fgnu89-inline   -c -o multiboot.o multiboot.c<br>ld -z max-page-size=0x1000 --warn-constructors --warn-common -static -T memtest_shared.lds \<br>-o memtest_shared head.pre.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o config.o cpuid.o coreboot.o pci.o memsize.o spd.o error.o dmi.o controller.o smp.o vmem.o random.o multiboot.o && \<br>ld -z max-page-size=0x1000 -shared -Bsymbolic -T memtest_shared.lds -o memtest_shared head.pre.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o config.o cpuid.o coreboot.o pci.o memsize.o spd.o error.o dmi.o controller.o smp.o vmem.o random.o multiboot.o<br>objcopy -O binary memtest_shared memtest_shared.bin<br>cc -E -traditional bootsect.S -o bootsect.pre.s<br>as -32   -o bootsect.pre.o bootsect.pre.s<br>cc -E -traditional setup.S -o setup.pre.s<br>as -32   -o setup.pre.o setup.pre.s<br>ld -z max-page-size=0x1000 -T memtest.bin.lds bootsect.pre.o setup.pre.o -b binary \<br>memtest_shared.bin -o memtest.bin<br>ld -z max-page-size=0x1000 -s -T memtest.lds -b binary memtest_shared.bin -o memtest<br><br><br>On Mon, Mar 12, 2018 at 10:41 AM, Jay Talbott <<a href="mailto:JayTalbott@sysproconsulting.com">JayTalbott@sysproconsulting.com</a>> wrote:<br>><br>> One of my colleagues is trying to build the memtest86+ payload, and is running into build problems.<br>><br>>  <br>><br>> Build environment is Ubuntu 16.0.4 LTS.<br>><br>>  <br>><br>> Has anybody else run into this? Any guidance on how to resolve it?<br>><br>>  <br>><br>> I’m hoping it’s just something simple that needs to be changed in the build environment that I can pass along to him.<br>><br>>  <br>><br>> Thanks,<br>><br>>  <br>><br>> - Jay<br>><br>>  <br>><br>> $ make clean<br>><br>> rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \<br>><br>>                 memtest_shared.bin memtest.iso<br>><br>> $ make<br>><br>> rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \<br>><br>>                 memtest_shared.bin memtest.iso<br>><br>> gcc -E -traditional head.S -o head.s<br>><br>> as -32   -o head.o head.s<br>><br>> gcc -c -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector  -fno-strict-aliasing reloc.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o main.o main.c<br>><br>> gcc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding test.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o init.o init.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o lib.o lib.c<br>><br>> lib.c: In function ‘serial_echo_init’:<br>><br>> lib.c:807:19: warning: variable ‘lo’ set but not used [-Wunused-but-set-variable]<br>><br>>   int comstat, hi, lo, serial_div;<br>><br>>                    ^<br>><br>> lib.c:807:15: warning: variable ‘hi’ set but not used [-Wunused-but-set-variable]<br>><br>>   int comstat, hi, lo, serial_div;<br>><br>>                ^<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o patn.o patn.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o screen_buffer.o screen_buffer.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o config.o config.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o cpuid.o cpuid.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o linuxbios.o linuxbios.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o pci.o pci.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o memsize.o memsize.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o spd.o spd.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o error.o error.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o dmi.o dmi.c<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o controller.o controller.c<br>><br>> controller.c: In function ‘poll_timings_k16’:<br>><br>> controller.c:3683:20: warning: variable ‘rc’ set but not used [-Wunused-but-set-variable]<br>><br>>   int cas, rcd, rp, rc, ras;<br>><br>>                     ^<br>><br>> controller.c: In function ‘setup_nhm32’:<br>><br>> controller.c:331:34: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations]<br>><br>>    pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);<br>><br>>                                   ^<br>><br>> controller.c:330:2: note: containing loop<br>><br>>   for(i = 0; i < sizeof(possible_nhm_bus); i++) {<br>><br>>   ^<br>><br>> controller.c: In function ‘setup_nhm’:<br>><br>> controller.c:296:34: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations]<br>><br>>    pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);<br>><br>>                                   ^<br>><br>> controller.c:295:2: note: containing loop<br>><br>>   for(i = 0; i < sizeof(possible_nhm_bus); i++) {<br>><br>>   ^<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o smp.o smp.c<br>><br>> smp.c: In function ‘smp_find_cpus’:<br>><br>> smp.c:513:11: warning: passing argument 1 of ‘memset’ discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]<br>><br>>     memset(&AP, 0, sizeof AP);<br>><br>>            ^<br>><br>> smp.c:170:1: note: expected ‘void *’ but argument is of type ‘volatile ap_info_t (*)[32] {aka volatile struct <anonymous> (*)[32]}’<br>><br>> memset (void *dst,<br>><br>> ^<br>><br>> gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC  -fno-stack-protector    -c -o vmem.o vmem.c<br>><br>> gcc -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding random.c<br>><br>> ld --warn-constructors --warn-common -static -T memtest_shared.lds \<br>><br>> -o memtest_shared head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o config.o cpuid.o linuxbios.o pci.o memsize.o spd.o error.o dmi.o controller.o smp.o vmem.o random.o && \<br>><br>> ld -shared -Bsymbolic -T memtest_shared.lds -o memtest_shared head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o config.o cpuid.o linuxbios.o pci.o memsize.o spd.o error.o dmi.o controller.o smp.o vmem.o random.o<br>><br>> lib.o: In function `__inb':<br>><br>> lib.c:(.text+0x0): multiple definition of `__inb'<br>><br>> init.o:init.c:(.text+0x0): first defined here<br>><br>> lib.o: In function `__inbc':<br>><br>> lib.c:(.text+0x6): multiple definition of `__inbc'<br>><br>> init.o:init.c:(.text+0x6): first defined here<br>><br>> lib.o: In function `__inb_p':<br>><br>> lib.c:(.text+0xc): multiple definition of `__inb_p'<br>><br>> init.o:init.c:(.text+0xc): first defined here<br>><br>> lib.o: In function `__inbc_p':<br>><br>> lib.c:(.text+0x14): multiple definition of `__inbc_p'<br>><br>> init.o:init.c:(.text+0x14): first defined here<br>><br>> lib.o: In function `__inw':<br>><br>> lib.c:(.text+0x1c): multiple definition of `__inw'<br>><br>> init.o:init.c:(.text+0x1c): first defined here<br>><br>> lib.o: In function `__inwc':<br>><br>> lib.c:(.text+0x23): multiple definition of `__inwc'<br>><br>> init.o:init.c:(.text+0x23): first defined here<br>><br>> lib.o: In function `__inw_p':<br>><br>> lib.c:(.text+0x2a): multiple definition of `__inw_p'<br>><br>> init.o:init.c:(.text+0x2a): first defined here<br>><br>> lib.o: In function `__inwc_p':<br>><br>> lib.c:(.text+0x33): multiple definition of `__inwc_p'<br>><br>> init.o:init.c:(.text+0x33): first defined here<br>><br>> lib.o: In function `__inl':<br>><br>> lib.c:(.text+0x3c): multiple definition of `__inl'<br>><br>> init.o:init.c:(.text+0x3c): first defined here<br>><br>> lib.o: In function `__inlc':<br>><br>> lib.c:(.text+0x42): multiple definition of `__inlc'<br>><br>> init.o:init.c:(.text+0x42): first defined here<br>><br>> lib.o: In function `__inl_p':<br>><br>> lib.c:(.text+0x48): multiple definition of `__inl_p'<br>><br>> init.o:init.c:(.text+0x48): first defined here<br>><br>> lib.o: In function `__inlc_p':<br>><br>> lib.c:(.text+0x50): multiple definition of `__inlc_p'<br>><br>> init.o:init.c:(.text+0x50): first defined here<br>><br>> lib.o: In function `__outb':<br>><br>> lib.c:(.text+0x58): multiple definition of `__outb'<br>><br>> init.o:init.c:(.text+0x58): first defined here<br>><br>> lib.o: In function `__outbc':<br>><br>> lib.c:(.text+0x62): multiple definition of `__outbc'<br>><br>> init.o:init.c:(.text+0x62): first defined here<br>><br>> lib.o: In function `__outb_p':<br>><br>> lib.c:(.text+0x6c): multiple definition of `__outb_p'<br>><br>> init.o:init.c:(.text+0x6c): first defined here<br>><br>> lib.o: In function `__outbc_p':<br>><br>> lib.c:(.text+0x78): multiple definition of `__outbc_p'<br>><br>> init.o:init.c:(.text+0x78): first defined here<br>><br>> lib.o: In function `__outw':<br>><br>> lib.c:(.text+0x84): multiple definition of `__outw'<br>><br>> init.o:init.c:(.text+0x84): first defined here<br>><br>> lib.o: In function `__outwc':<br>><br>> lib.c:(.text+0x8f): multiple definition of `__outwc'<br>><br>> init.o:init.c:(.text+0x8f): first defined here<br>><br>> lib.o: In function `__outw_p':<br>><br>> lib.c:(.text+0x9a): multiple definition of `__outw_p'<br>><br>> init.o:init.c:(.text+0x9a): first defined here<br>><br>> lib.o: In function `__outwc_p':<br>><br>> lib.c:(.text+0xa7): multiple definition of `__outwc_p'<br>><br>> init.o:init.c:(.text+0xa7): first defined here<br>><br>> lib.o: In function `__outl':<br>><br>> lib.c:(.text+0xb4): multiple definition of `__outl'<br>><br>> init.o:init.c:(.text+0xb4): first defined here<br>><br>> lib.o: In function `__outlc':<br>><br>> lib.c:(.text+0xbe): multiple definition of `__outlc'<br>><br>> init.o:init.c:(.text+0xbe): first defined here<br>><br>> lib.o: In function `__outl_p':<br>><br>> lib.c:(.text+0xc8): multiple definition of `__outl_p'<br>><br>> init.o:init.c:(.text+0xc8): first defined here<br>><br>> lib.o: In function `__outlc_p':<br>><br>> lib.c:(.text+0xd4): multiple definition of `__outlc_p'<br>><br>> init.o:init.c:(.text+0xd4): first defined here<br>><br>> lib.o: In function `outsb':<br>><br>> lib.c:(.text+0xe0): multiple definition of `outsb'<br>><br>> init.o:init.c:(.text+0xe0): first defined here<br>><br>> lib.o: In function `outsw':<br>><br>> lib.c:(.text+0xf2): multiple definition of `outsw'<br>><br>> init.o:init.c:(.text+0xf2): first defined here<br>><br>> lib.o: In function `outsl':<br>><br>> lib.c:(.text+0x105): multiple definition of `outsl'<br>><br>> init.o:init.c:(.text+0x105): first defined here<br>><br>> pci.o: In function `__inb':<br>><br>> pci.c:(.text+0x0): multiple definition of `__inb'<br>><br>> init.o:init.c:(.text+0x0): first defined here<br>><br>> pci.o: In function `__inbc':<br>><br>> pci.c:(.text+0x6): multiple definition of `__inbc'<br>><br>> init.o:init.c:(.text+0x6): first defined here<br>><br>> pci.o: In function `__inb_p':<br>><br>> pci.c:(.text+0xc): multiple definition of `__inb_p'<br>><br>> init.o:init.c:(.text+0xc): first defined here<br>><br>> pci.o: In function `__inbc_p':<br>><br>> pci.c:(.text+0x14): multiple definition of `__inbc_p'<br>><br>> init.o:init.c:(.text+0x14): first defined here<br>><br>> pci.o: In function `__inw':<br>><br>> pci.c:(.text+0x1c): multiple definition of `__inw'<br>><br>> init.o:init.c:(.text+0x1c): first defined here<br>><br>> pci.o: In function `__inwc':<br>><br>> pci.c:(.text+0x23): multiple definition of `__inwc'<br>><br>> init.o:init.c:(.text+0x23): first defined here<br>><br>> pci.o: In function `__inw_p':<br>><br>> pci.c:(.text+0x2a): multiple definition of `__inw_p'<br>><br>> init.o:init.c:(.text+0x2a): first defined here<br>><br>> pci.o: In function `__inwc_p':<br>><br>> pci.c:(.text+0x33): multiple definition of `__inwc_p'<br>><br>> init.o:init.c:(.text+0x33): first defined here<br>><br>> pci.o: In function `__inl':<br>><br>> pci.c:(.text+0x3c): multiple definition of `__inl'<br>><br>> init.o:init.c:(.text+0x3c): first defined here<br>><br>> pci.o: In function `__inlc':<br>><br>> pci.c:(.text+0x42): multiple definition of `__inlc'<br>><br>> init.o:init.c:(.text+0x42): first defined here<br>><br>> pci.o: In function `__inl_p':<br>><br>> pci.c:(.text+0x48): multiple definition of `__inl_p'<br>><br>> init.o:init.c:(.text+0x48): first defined here<br>><br>> pci.o: In function `__inlc_p':<br>><br>> pci.c:(.text+0x50): multiple definition of `__inlc_p'<br>><br>> init.o:init.c:(.text+0x50): first defined here<br>><br>> pci.o: In function `__outb':<br>><br>> pci.c:(.text+0x58): multiple definition of `__outb'<br>><br>> init.o:init.c:(.text+0x58): first defined here<br>><br>> pci.o: In function `__outbc':<br>><br>> pci.c:(.text+0x62): multiple definition of `__outbc'<br>><br>> init.o:init.c:(.text+0x62): first defined here<br>><br>> pci.o: In function `__outb_p':<br>><br>> pci.c:(.text+0x6c): multiple definition of `__outb_p'<br>><br>> init.o:init.c:(.text+0x6c): first defined here<br>><br>> pci.o: In function `__outbc_p':<br>><br>> pci.c:(.text+0x78): multiple definition of `__outbc_p'<br>><br>> init.o:init.c:(.text+0x78): first defined here<br>><br>> pci.o: In function `__outw':<br>><br>> pci.c:(.text+0x84): multiple definition of `__outw'<br>><br>> init.o:init.c:(.text+0x84): first defined here<br>><br>> pci.o: In function `__outwc':<br>><br>> pci.c:(.text+0x8f): multiple definition of `__outwc'<br>><br>> init.o:init.c:(.text+0x8f): first defined here<br>><br>> pci.o: In function `__outw_p':<br>><br>> pci.c:(.text+0x9a): multiple definition of `__outw_p'<br>><br>> init.o:init.c:(.text+0x9a): first defined here<br>><br>> pci.o: In function `__outwc_p':<br>><br>> pci.c:(.text+0xa7): multiple definition of `__outwc_p'<br>><br>> init.o:init.c:(.text+0xa7): first defined here<br>><br>> pci.o: In function `__outl':<br>><br>> pci.c:(.text+0xb4): multiple definition of `__outl'<br>><br>> init.o:init.c:(.text+0xb4): first defined here<br>><br>> pci.o: In function `__outlc':<br>><br>> pci.c:(.text+0xbe): multiple definition of `__outlc'<br>><br>> init.o:init.c:(.text+0xbe): first defined here<br>><br>> pci.o: In function `__outl_p':<br>><br>> pci.c:(.text+0xc8): multiple definition of `__outl_p'<br>><br>> init.o:init.c:(.text+0xc8): first defined here<br>><br>> pci.o: In function `__outlc_p':<br>><br>> pci.c:(.text+0xd4): multiple definition of `__outlc_p'<br>><br>> init.o:init.c:(.text+0xd4): first defined here<br>><br>> pci.o: In function `outsb':<br>><br>> pci.c:(.text+0xe0): multiple definition of `outsb'<br>><br>> init.o:init.c:(.text+0xe0): first defined here<br>><br>> pci.o: In function `outsw':<br>><br>> pci.c:(.text+0xf2): multiple definition of `outsw'<br>><br>> init.o:init.c:(.text+0xf2): first defined here<br>><br>> pci.o: In function `outsl':<br>><br>> pci.c:(.text+0x105): multiple definition of `outsl'<br>><br>> init.o:init.c:(.text+0x105): first defined here<br>><br>> spd.o: In function `__inb':<br>><br>> spd.c:(.text+0x162): multiple definition of `__inb'<br>><br>> init.o:init.c:(.text+0x0): first defined here<br>><br>> spd.o: In function `__inbc':<br>><br>> spd.c:(.text+0x168): multiple definition of `__inbc'<br>><br>> init.o:init.c:(.text+0x6): first defined here<br>><br>> spd.o: In function `__inb_p':<br>><br>> spd.c:(.text+0x16e): multiple definition of `__inb_p'<br>><br>> init.o:init.c:(.text+0xc): first defined here<br>><br>> spd.o: In function `__inbc_p':<br>><br>> spd.c:(.text+0x176): multiple definition of `__inbc_p'<br>><br>> init.o:init.c:(.text+0x14): first defined here<br>><br>> spd.o: In function `__inw':<br>><br>> spd.c:(.text+0x17e): multiple definition of `__inw'<br>><br>> init.o:init.c:(.text+0x1c): first defined here<br>><br>> spd.o: In function `__inwc':<br>><br>> spd.c:(.text+0x185): multiple definition of `__inwc'<br>><br>> init.o:init.c:(.text+0x23): first defined here<br>><br>> spd.o: In function `__inw_p':<br>><br>> spd.c:(.text+0x18c): multiple definition of `__inw_p'<br>><br>> init.o:init.c:(.text+0x2a): first defined here<br>><br>> spd.o: In function `__inwc_p':<br>><br>> spd.c:(.text+0x195): multiple definition of `__inwc_p'<br>><br>> init.o:init.c:(.text+0x33): first defined here<br>><br>> spd.o: In function `__inl':<br>><br>> spd.c:(.text+0x19e): multiple definition of `__inl'<br>><br>> init.o:init.c:(.text+0x3c): first defined here<br>><br>> spd.o: In function `__inlc':<br>><br>> spd.c:(.text+0x1a4): multiple definition of `__inlc'<br>><br>> init.o:init.c:(.text+0x42): first defined here<br>><br>> spd.o: In function `__inl_p':<br>><br>> spd.c:(.text+0x1aa): multiple definition of `__inl_p'<br>><br>> init.o:init.c:(.text+0x48): first defined here<br>><br>> spd.o: In function `__inlc_p':<br>><br>> spd.c:(.text+0x1b2): multiple definition of `__inlc_p'<br>><br>> init.o:init.c:(.text+0x50): first defined here<br>><br>> spd.o: In function `__outb':<br>><br>> spd.c:(.text+0x1ba): multiple definition of `__outb'<br>><br>> init.o:init.c:(.text+0x58): first defined here<br>><br>> spd.o: In function `__outbc':<br>><br>> spd.c:(.text+0x1c4): multiple definition of `__outbc'<br>><br>> init.o:init.c:(.text+0x62): first defined here<br>><br>> spd.o: In function `__outb_p':<br>><br>> spd.c:(.text+0x1ce): multiple definition of `__outb_p'<br>><br>> init.o:init.c:(.text+0x6c): first defined here<br>><br>> spd.o: In function `__outbc_p':<br>><br>> spd.c:(.text+0x1da): multiple definition of `__outbc_p'<br>><br>> init.o:init.c:(.text+0x78): first defined here<br>><br>> spd.o: In function `__outw':<br>><br>> spd.c:(.text+0x1e6): multiple definition of `__outw'<br>><br>> init.o:init.c:(.text+0x84): first defined here<br>><br>> spd.o: In function `__outwc':<br>><br>> spd.c:(.text+0x1f1): multiple definition of `__outwc'<br>><br>> init.o:init.c:(.text+0x8f): first defined here<br>><br>> spd.o: In function `__outw_p':<br>><br>> spd.c:(.text+0x1fc): multiple definition of `__outw_p'<br>><br>> init.o:init.c:(.text+0x9a): first defined here<br>><br>> spd.o: In function `__outwc_p':<br>><br>> spd.c:(.text+0x209): multiple definition of `__outwc_p'<br>><br>> init.o:init.c:(.text+0xa7): first defined here<br>><br>> spd.o: In function `__outl':<br>><br>> spd.c:(.text+0x216): multiple definition of `__outl'<br>><br>> init.o:init.c:(.text+0xb4): first defined here<br>><br>> spd.o: In function `__outlc':<br>><br>> spd.c:(.text+0x220): multiple definition of `__outlc'<br>><br>> init.o:init.c:(.text+0xbe): first defined here<br>><br>> spd.o: In function `__outl_p':<br>><br>> spd.c:(.text+0x22a): multiple definition of `__outl_p'<br>><br>> init.o:init.c:(.text+0xc8): first defined here<br>><br>> spd.o: In function `__outlc_p':<br>><br>> spd.c:(.text+0x236): multiple definition of `__outlc_p'<br>><br>> init.o:init.c:(.text+0xd4): first defined here<br>><br>> spd.o: In function `outsb':<br>><br>> spd.c:(.text+0x242): multiple definition of `outsb'<br>><br>> init.o:init.c:(.text+0xe0): first defined here<br>><br>> spd.o: In function `outsw':<br>><br>> spd.c:(.text+0x254): multiple definition of `outsw'<br>><br>> init.o:init.c:(.text+0xf2): first defined here<br>><br>> spd.o: In function `outsl':<br>><br>> spd.c:(.text+0x267): multiple definition of `outsl'<br>><br>> init.o:init.c:(.text+0x105): first defined here<br>><br>> main.o: In function `test_start':<br>><br>> main.c:(.text+0x2143): undefined reference to `reboot'<br>><br>> Makefile:30: recipe for target 'memtest_shared' failed<br>><br>> make: *** [memtest_shared] Error 1<br>><br>>  <br>><br>><br>> --<br>> coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>> <a href="https://mail.coreboot.org/mailman/listinfo/coreboot">https://mail.coreboot.org/mailman/listinfo/coreboot</a></div></div>