From patchwork Thu Mar 7 14:00:59 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: problems with freeBSD Date: Thu, 07 Mar 2013 04:00:59 -0000 From: Don Slutz X-Patchwork-Id: 225866 Message-Id: <51389D9B.4010000@terremark.com> To: Aurelien Jarno Cc: "qemu-devel@nongnu.org" , Kevin O'Connor , seabios@seabios.org, qemu-stable@nongnu.org, Dietmar Maurer On 03/07/13 08:02, Don Slutz wrote: > On 03/07/13 03:43, Aurelien Jarno wrote: >> On Wed, Mar 06, 2013 at 07:53:51PM -0500, Kevin O'Connor wrote: >>> >On Thu, Mar 07, 2013 at 12:12:08AM +0100, Aurelien Jarno wrote: >>>> > >On Wed, Mar 06, 2013 at 08:21:11AM +0000, Dietmar Maurer wrote: > [snip] >>>> Maybe I am doing something wrong or there is a bug in my toolchain >>>> (Debian Sid). It would be nice if someone could try to reproduce >>>> that on another distro/system. >> -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net >> http://www.aurel32.net > > I reproduced this on "Fedora release 17 (Beefy Miracle)" > 3.7.3-101.fc17.x86_64 doing the steps provided. > -Don Slutz Turns out that this is not the normal kind of issue. Newer seabios works, older does not: good * 88cb66e (HEAD, tag: rel-1.7.2.1, origin/1.7.2-stable, 1.7.2-stable) seabios: Add a dummy PCI slot to irq mapping funct good * 985a9d3 seabios q35: Add new PCI slot to irq routing function good * 2b57726 seabios q35: Enable all PIRQn IRQs at startup good * e5fe4f9 Verify CC is valid during build tests. good * 4219149 build: Don't require $(OUT) to be a sub-directory of the main directory. bad * d75c22f Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". bad * 12e8199 USB-EHCI: Fix null pointer assignment bad * f396871 Update tools/acpi_extract.py to handle iasl 20130117 release. bad * 4bd8aeb (tag: rel-1.7.2) vgabios: implement AX=1120H..1124H functions good: Version: rel-1.7.2-4-g4219149-20130307_085117-don-lt.don.CloudSwitch.com Fixed space: 0xe05b-0x10000 total: 8101 slack: 5 Percent slack: 0.1% 16bit size: 39856 32bit segmented size: 1430 32bit flat size: 18778 32bit flat init size: 62400 Lowmem size: 2176 bad: Version: rel-1.7.2-3-gd75c22f-20130307_085345-don-lt.don.CloudSwitch.com Fixed space: 0xe05b-0x10000 total: 8101 slack: 5 Percent slack: 0.1% 16bit size: 39808 32bit segmented size: 1430 32bit flat size: 18778 32bit flat init size: 62400 Lowmem size: 2176 The 16bit size change is the only output change. The changed that fixed it: commit 4219149ad2b783abfa61e80e9e9f6910db0c76c9 Author: Kevin O'Connor Date: Sun Feb 17 10:56:10 2013 -0500 build: Don't require $(OUT) to be a sub-directory of the main directory. Remove references to "../" and "out/" from the build so that "make OUT=/a/b/c/" will work. Signed-off-by: Kevin O'Connor -Don Slutz diff --git a/Makefile b/Makefile index a482c94..20da6d0 100644 --- a/Makefile +++ b/Makefile @@ -84,7 +84,7 @@ vpath %.S src vgasrc ################ Common build rules # Verify the build environment works. -TESTGCC:=$(shell CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh) +TESTGCC:=$(shell OUT="$(OUT)" CC="$(CC)" LD="$(LD)" IASL="$(IASL)" tools/test-build.sh) ifeq "$(TESTGCC)" "-1" $(error "Please upgrade the build environment") endif @@ -97,7 +97,7 @@ endif # Do a whole file compile by textually including all C code. define whole-compile @echo " Compiling whole program $3" -$(Q)printf '$(foreach i,$2,#include "../$i"\n)' > $3.tmp.c +$(Q)printf '$(foreach i,$2,#include "$(CURDIR)/$i"\n)' > $3.tmp.c $(Q)$(CC) $1 $(CFLAGSWHOLE) -c $3.tmp.c -o $3 endef diff --git a/src/Kconfig b/src/Kconfig index 0b112ed..2c9100d 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -367,7 +367,7 @@ menu "BIOS Tables" Support generation of ACPI tables. endmenu -source ../vgasrc/Kconfig +source vgasrc/Kconfig menu "Debugging" config DEBUG_LEVEL diff --git a/tools/test-build.sh b/tools/test-build.sh index 7bd6d1f..ce0aca9 100755 --- a/tools/test-build.sh +++ b/tools/test-build.sh @@ -14,13 +14,13 @@ if [ $? -ne 0 ]; then exit 0 fi -mkdir -p out -TMPFILE1=out/tmp_testcompile1.c -TMPFILE1o=out/tmp_testcompile1.o -TMPFILE1_ld=out/tmp_testcompile1.lds -TMPFILE2=out/tmp_testcompile2.c -TMPFILE2o=out/tmp_testcompile2.o -TMPFILE3o=out/tmp_testcompile3.o +mkdir -p ${OUT} +TMPFILE1=${OUT}/tmp_testcompile1.c +TMPFILE1o=${OUT}/tmp_testcompile1.o +TMPFILE1_ld=${OUT}/tmp_testcompile1.lds +TMPFILE2=${OUT}/tmp_testcompile2.c +TMPFILE2o=${OUT}/tmp_testcompile2.o +TMPFILE3o=${OUT}/tmp_testcompile3.o # Test if ld's alignment handling is correct. This is a known problem # with the linker that ships with Ubuntu 11.04.