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
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot