[coreboot] Has anyone built the memtest86+ payload recently?

Jay Talbott JayTalbott at sysproconsulting.com
Mon Mar 12 17:41:47 CET 2018


One of my colleagues is trying to build the memtest86+ payload, and is
running into build problems.

 

Build environment is Ubuntu 16.0.4 LTS.

 

Has anybody else run into this? Any guidance on how to resolve it?

 

I'm hoping it's just something simple that needs to be changed in the build
environment that I can pass along to him.

 

Thanks,

 

- Jay

 

$ make clean

rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \

                memtest_shared.bin memtest.iso

$ make

rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \

                memtest_shared.bin memtest.iso

gcc -E -traditional head.S -o head.s

as -32   -o head.o head.s

gcc -c -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector  -fno-strict-aliasing reloc.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o main.o main.c

gcc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin
-ffreestanding test.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o init.o init.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o lib.o lib.c

lib.c: In function 'serial_echo_init':

lib.c:807:19: warning: variable 'lo' set but not used
[-Wunused-but-set-variable]

  int comstat, hi, lo, serial_div;

                   ^

lib.c:807:15: warning: variable 'hi' set but not used
[-Wunused-but-set-variable]

  int comstat, hi, lo, serial_div;

               ^

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o patn.o patn.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o screen_buffer.o
screen_buffer.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o config.o config.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o cpuid.o cpuid.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o linuxbios.o linuxbios.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o pci.o pci.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o memsize.o memsize.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o spd.o spd.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o error.o error.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o dmi.o dmi.c

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o controller.o
controller.c

controller.c: In function 'poll_timings_k16':

controller.c:3683:20: warning: variable 'rc' set but not used
[-Wunused-but-set-variable]

  int cas, rcd, rp, rc, ras;

                    ^

controller.c: In function 'setup_nhm32':

controller.c:331:34: warning: iteration 3u invokes undefined behavior
[-Waggressive-loop-optimizations]

   pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);

                                  ^

controller.c:330:2: note: containing loop

  for(i = 0; i < sizeof(possible_nhm_bus); i++) {

  ^

controller.c: In function 'setup_nhm':

controller.c:296:34: warning: iteration 3u invokes undefined behavior
[-Waggressive-loop-optimizations]

   pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid);

                                  ^

controller.c:295:2: note: containing loop

  for(i = 0; i < sizeof(possible_nhm_bus); i++) {

  ^

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o smp.o smp.c

smp.c: In function 'smp_find_cpus':

smp.c:513:11: warning: passing argument 1 of 'memset' discards 'volatile'
qualifier from pointer target type [-Wdiscarded-array-qualifiers]

    memset(&AP, 0, sizeof AP);

           ^

smp.c:170:1: note: expected 'void *' but argument is of type 'volatile
ap_info_t (*)[32] {aka volatile struct <anonymous> (*)[32]}'

memset (void *dst,

^

gcc -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin
-ffreestanding -fPIC  -fno-stack-protector    -c -o vmem.o vmem.c

gcc -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin
-ffreestanding random.c

ld --warn-constructors --warn-common -static -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 && \

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

lib.o: In function `__inb':

lib.c:(.text+0x0): multiple definition of `__inb'

init.o:init.c:(.text+0x0): first defined here

lib.o: In function `__inbc':

lib.c:(.text+0x6): multiple definition of `__inbc'

init.o:init.c:(.text+0x6): first defined here

lib.o: In function `__inb_p':

lib.c:(.text+0xc): multiple definition of `__inb_p'

init.o:init.c:(.text+0xc): first defined here

lib.o: In function `__inbc_p':

lib.c:(.text+0x14): multiple definition of `__inbc_p'

init.o:init.c:(.text+0x14): first defined here

lib.o: In function `__inw':

lib.c:(.text+0x1c): multiple definition of `__inw'

init.o:init.c:(.text+0x1c): first defined here

lib.o: In function `__inwc':

lib.c:(.text+0x23): multiple definition of `__inwc'

init.o:init.c:(.text+0x23): first defined here

lib.o: In function `__inw_p':

lib.c:(.text+0x2a): multiple definition of `__inw_p'

init.o:init.c:(.text+0x2a): first defined here

lib.o: In function `__inwc_p':

lib.c:(.text+0x33): multiple definition of `__inwc_p'

init.o:init.c:(.text+0x33): first defined here

lib.o: In function `__inl':

lib.c:(.text+0x3c): multiple definition of `__inl'

init.o:init.c:(.text+0x3c): first defined here

lib.o: In function `__inlc':

lib.c:(.text+0x42): multiple definition of `__inlc'

init.o:init.c:(.text+0x42): first defined here

lib.o: In function `__inl_p':

lib.c:(.text+0x48): multiple definition of `__inl_p'

init.o:init.c:(.text+0x48): first defined here

lib.o: In function `__inlc_p':

lib.c:(.text+0x50): multiple definition of `__inlc_p'

init.o:init.c:(.text+0x50): first defined here

lib.o: In function `__outb':

lib.c:(.text+0x58): multiple definition of `__outb'

init.o:init.c:(.text+0x58): first defined here

lib.o: In function `__outbc':

lib.c:(.text+0x62): multiple definition of `__outbc'

init.o:init.c:(.text+0x62): first defined here

lib.o: In function `__outb_p':

lib.c:(.text+0x6c): multiple definition of `__outb_p'

init.o:init.c:(.text+0x6c): first defined here

lib.o: In function `__outbc_p':

lib.c:(.text+0x78): multiple definition of `__outbc_p'

init.o:init.c:(.text+0x78): first defined here

lib.o: In function `__outw':

lib.c:(.text+0x84): multiple definition of `__outw'

init.o:init.c:(.text+0x84): first defined here

lib.o: In function `__outwc':

lib.c:(.text+0x8f): multiple definition of `__outwc'

init.o:init.c:(.text+0x8f): first defined here

lib.o: In function `__outw_p':

lib.c:(.text+0x9a): multiple definition of `__outw_p'

init.o:init.c:(.text+0x9a): first defined here

lib.o: In function `__outwc_p':

lib.c:(.text+0xa7): multiple definition of `__outwc_p'

init.o:init.c:(.text+0xa7): first defined here

lib.o: In function `__outl':

lib.c:(.text+0xb4): multiple definition of `__outl'

init.o:init.c:(.text+0xb4): first defined here

lib.o: In function `__outlc':

lib.c:(.text+0xbe): multiple definition of `__outlc'

init.o:init.c:(.text+0xbe): first defined here

lib.o: In function `__outl_p':

lib.c:(.text+0xc8): multiple definition of `__outl_p'

init.o:init.c:(.text+0xc8): first defined here

lib.o: In function `__outlc_p':

lib.c:(.text+0xd4): multiple definition of `__outlc_p'

init.o:init.c:(.text+0xd4): first defined here

lib.o: In function `outsb':

lib.c:(.text+0xe0): multiple definition of `outsb'

init.o:init.c:(.text+0xe0): first defined here

lib.o: In function `outsw':

lib.c:(.text+0xf2): multiple definition of `outsw'

init.o:init.c:(.text+0xf2): first defined here

lib.o: In function `outsl':

lib.c:(.text+0x105): multiple definition of `outsl'

init.o:init.c:(.text+0x105): first defined here

pci.o: In function `__inb':

pci.c:(.text+0x0): multiple definition of `__inb'

init.o:init.c:(.text+0x0): first defined here

pci.o: In function `__inbc':

pci.c:(.text+0x6): multiple definition of `__inbc'

init.o:init.c:(.text+0x6): first defined here

pci.o: In function `__inb_p':

pci.c:(.text+0xc): multiple definition of `__inb_p'

init.o:init.c:(.text+0xc): first defined here

pci.o: In function `__inbc_p':

pci.c:(.text+0x14): multiple definition of `__inbc_p'

init.o:init.c:(.text+0x14): first defined here

pci.o: In function `__inw':

pci.c:(.text+0x1c): multiple definition of `__inw'

init.o:init.c:(.text+0x1c): first defined here

pci.o: In function `__inwc':

pci.c:(.text+0x23): multiple definition of `__inwc'

init.o:init.c:(.text+0x23): first defined here

pci.o: In function `__inw_p':

pci.c:(.text+0x2a): multiple definition of `__inw_p'

init.o:init.c:(.text+0x2a): first defined here

pci.o: In function `__inwc_p':

pci.c:(.text+0x33): multiple definition of `__inwc_p'

init.o:init.c:(.text+0x33): first defined here

pci.o: In function `__inl':

pci.c:(.text+0x3c): multiple definition of `__inl'

init.o:init.c:(.text+0x3c): first defined here

pci.o: In function `__inlc':

pci.c:(.text+0x42): multiple definition of `__inlc'

init.o:init.c:(.text+0x42): first defined here

pci.o: In function `__inl_p':

pci.c:(.text+0x48): multiple definition of `__inl_p'

init.o:init.c:(.text+0x48): first defined here

pci.o: In function `__inlc_p':

pci.c:(.text+0x50): multiple definition of `__inlc_p'

init.o:init.c:(.text+0x50): first defined here

pci.o: In function `__outb':

pci.c:(.text+0x58): multiple definition of `__outb'

init.o:init.c:(.text+0x58): first defined here

pci.o: In function `__outbc':

pci.c:(.text+0x62): multiple definition of `__outbc'

init.o:init.c:(.text+0x62): first defined here

pci.o: In function `__outb_p':

pci.c:(.text+0x6c): multiple definition of `__outb_p'

init.o:init.c:(.text+0x6c): first defined here

pci.o: In function `__outbc_p':

pci.c:(.text+0x78): multiple definition of `__outbc_p'

init.o:init.c:(.text+0x78): first defined here

pci.o: In function `__outw':

pci.c:(.text+0x84): multiple definition of `__outw'

init.o:init.c:(.text+0x84): first defined here

pci.o: In function `__outwc':

pci.c:(.text+0x8f): multiple definition of `__outwc'

init.o:init.c:(.text+0x8f): first defined here

pci.o: In function `__outw_p':

pci.c:(.text+0x9a): multiple definition of `__outw_p'

init.o:init.c:(.text+0x9a): first defined here

pci.o: In function `__outwc_p':

pci.c:(.text+0xa7): multiple definition of `__outwc_p'

init.o:init.c:(.text+0xa7): first defined here

pci.o: In function `__outl':

pci.c:(.text+0xb4): multiple definition of `__outl'

init.o:init.c:(.text+0xb4): first defined here

pci.o: In function `__outlc':

pci.c:(.text+0xbe): multiple definition of `__outlc'

init.o:init.c:(.text+0xbe): first defined here

pci.o: In function `__outl_p':

pci.c:(.text+0xc8): multiple definition of `__outl_p'

init.o:init.c:(.text+0xc8): first defined here

pci.o: In function `__outlc_p':

pci.c:(.text+0xd4): multiple definition of `__outlc_p'

init.o:init.c:(.text+0xd4): first defined here

pci.o: In function `outsb':

pci.c:(.text+0xe0): multiple definition of `outsb'

init.o:init.c:(.text+0xe0): first defined here

pci.o: In function `outsw':

pci.c:(.text+0xf2): multiple definition of `outsw'

init.o:init.c:(.text+0xf2): first defined here

pci.o: In function `outsl':

pci.c:(.text+0x105): multiple definition of `outsl'

init.o:init.c:(.text+0x105): first defined here

spd.o: In function `__inb':

spd.c:(.text+0x162): multiple definition of `__inb'

init.o:init.c:(.text+0x0): first defined here

spd.o: In function `__inbc':

spd.c:(.text+0x168): multiple definition of `__inbc'

init.o:init.c:(.text+0x6): first defined here

spd.o: In function `__inb_p':

spd.c:(.text+0x16e): multiple definition of `__inb_p'

init.o:init.c:(.text+0xc): first defined here

spd.o: In function `__inbc_p':

spd.c:(.text+0x176): multiple definition of `__inbc_p'

init.o:init.c:(.text+0x14): first defined here

spd.o: In function `__inw':

spd.c:(.text+0x17e): multiple definition of `__inw'

init.o:init.c:(.text+0x1c): first defined here

spd.o: In function `__inwc':

spd.c:(.text+0x185): multiple definition of `__inwc'

init.o:init.c:(.text+0x23): first defined here

spd.o: In function `__inw_p':

spd.c:(.text+0x18c): multiple definition of `__inw_p'

init.o:init.c:(.text+0x2a): first defined here

spd.o: In function `__inwc_p':

spd.c:(.text+0x195): multiple definition of `__inwc_p'

init.o:init.c:(.text+0x33): first defined here

spd.o: In function `__inl':

spd.c:(.text+0x19e): multiple definition of `__inl'

init.o:init.c:(.text+0x3c): first defined here

spd.o: In function `__inlc':

spd.c:(.text+0x1a4): multiple definition of `__inlc'

init.o:init.c:(.text+0x42): first defined here

spd.o: In function `__inl_p':

spd.c:(.text+0x1aa): multiple definition of `__inl_p'

init.o:init.c:(.text+0x48): first defined here

spd.o: In function `__inlc_p':

spd.c:(.text+0x1b2): multiple definition of `__inlc_p'

init.o:init.c:(.text+0x50): first defined here

spd.o: In function `__outb':

spd.c:(.text+0x1ba): multiple definition of `__outb'

init.o:init.c:(.text+0x58): first defined here

spd.o: In function `__outbc':

spd.c:(.text+0x1c4): multiple definition of `__outbc'

init.o:init.c:(.text+0x62): first defined here

spd.o: In function `__outb_p':

spd.c:(.text+0x1ce): multiple definition of `__outb_p'

init.o:init.c:(.text+0x6c): first defined here

spd.o: In function `__outbc_p':

spd.c:(.text+0x1da): multiple definition of `__outbc_p'

init.o:init.c:(.text+0x78): first defined here

spd.o: In function `__outw':

spd.c:(.text+0x1e6): multiple definition of `__outw'

init.o:init.c:(.text+0x84): first defined here

spd.o: In function `__outwc':

spd.c:(.text+0x1f1): multiple definition of `__outwc'

init.o:init.c:(.text+0x8f): first defined here

spd.o: In function `__outw_p':

spd.c:(.text+0x1fc): multiple definition of `__outw_p'

init.o:init.c:(.text+0x9a): first defined here

spd.o: In function `__outwc_p':

spd.c:(.text+0x209): multiple definition of `__outwc_p'

init.o:init.c:(.text+0xa7): first defined here

spd.o: In function `__outl':

spd.c:(.text+0x216): multiple definition of `__outl'

init.o:init.c:(.text+0xb4): first defined here

spd.o: In function `__outlc':

spd.c:(.text+0x220): multiple definition of `__outlc'

init.o:init.c:(.text+0xbe): first defined here

spd.o: In function `__outl_p':

spd.c:(.text+0x22a): multiple definition of `__outl_p'

init.o:init.c:(.text+0xc8): first defined here

spd.o: In function `__outlc_p':

spd.c:(.text+0x236): multiple definition of `__outlc_p'

init.o:init.c:(.text+0xd4): first defined here

spd.o: In function `outsb':

spd.c:(.text+0x242): multiple definition of `outsb'

init.o:init.c:(.text+0xe0): first defined here

spd.o: In function `outsw':

spd.c:(.text+0x254): multiple definition of `outsw'

init.o:init.c:(.text+0xf2): first defined here

spd.o: In function `outsl':

spd.c:(.text+0x267): multiple definition of `outsl'

init.o:init.c:(.text+0x105): first defined here

main.o: In function `test_start':

main.c:(.text+0x2143): undefined reference to `reboot'

Makefile:30: recipe for target 'memtest_shared' failed

make: *** [memtest_shared] Error 1

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20180312/a0714f27/attachment.html>


More information about the coreboot mailing list