I've updated that page in the wiki. On Mon, Mar 12, 2018 at 12:31 PM, Jay Talbott < [email protected]> wrote:
> Hi Martin, > > > > He was following the instructions on the coreboot website: > https://www.coreboot.org/Memtest86%2B > > > > Obviously that must be completely out of date if there’s now a version > available from the coreboot site. > > > > Let me see what he can do with that. > > > > We just want to build it as an elf and use it as the primary payload for > some validation checks on the memory – the normal/production payload is a > Linux kernel. > > > > Thanks, > > > > - Jay > > > > *From:* coreboot [mailto:[email protected]] *On Behalf Of *Martin > Roth > *Sent:* Monday, March 12, 2018 10:18 AM > *To:* Jay Talbott > *Cc:* coreboot > *Subject:* Re: [coreboot] Has anyone built the memtest86+ payload > recently? > > > > Hi Jay, > Are they using the coreboot version of memtest86plus? > What commit is being built? > What version of GCC? > > Building with GCC 7.3.0 from the latest commit at review.coreboot.org/ > memtest86plus, 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. > > > > We also have the Kconfig option in coreboot to build memtest86+ as a > secondary payload. That works with no issue. > > > > Below is my build output from the coreboot memtest86plus repo. Hope this > helps. > > Martin > > ~/work/git/memtest86plus ((5ca4eb9...))% make > rm -f *.o *.pre.s *.iso memtest.bin memtest memtest_shared \ > memtest_shared.bin memtest.iso > cc -E -traditional head.S -o head.pre.s > as -32 -o head.pre.o head.pre.s > cc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline > -fno-strict-aliasing reloc.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o main.o > main.c > cc -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding test.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o init.o > init.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o lib.o > lib.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o patn.o > patn.c > 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 > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o config.o > config.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o cpuid.o > cpuid.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o > coreboot.o coreboot.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o pci.o > pci.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o memsize.o > memsize.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o spd.o > spd.c > spd.c: In function ‘sb800_get_smb’: > spd.c:58:20: warning: variable ‘result’ set but not used > [-Wunused-but-set-variable] > int lbyte, hbyte, result; > ^~~~~~ > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o error.o > error.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o dmi.o > dmi.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o > controller.o controller.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o smp.o > smp.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o vmem.o > vmem.c > cc -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin > -ffreestanding random.c > cc -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin > -ffreestanding -fPIC -fno-stack-protector -fgnu89-inline -c -o > multiboot.o multiboot.c > ld -z max-page-size=0x1000 --warn-constructors --warn-common -static -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 && \ > 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 > objcopy -O binary memtest_shared memtest_shared.bin > cc -E -traditional bootsect.S -o bootsect.pre.s > as -32 -o bootsect.pre.o bootsect.pre.s > cc -E -traditional setup.S -o setup.pre.s > as -32 -o setup.pre.o setup.pre.s > ld -z max-page-size=0x1000 -T memtest.bin.lds bootsect.pre.o setup.pre.o > -b binary \ > memtest_shared.bin -o memtest.bin > ld -z max-page-size=0x1000 -s -T memtest.lds -b binary memtest_shared.bin > -o memtest > > > On Mon, Mar 12, 2018 at 10:41 AM, Jay Talbott < > [email protected]> wrote: > > > > 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: [email protected] > > https://mail.coreboot.org/mailman/listinfo/coreboot >
-- coreboot mailing list: [email protected] https://mail.coreboot.org/mailman/listinfo/coreboot

