public inbox for kvmarm@lists.cs.columbia.edu
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Andrew Jones <drjones@redhat.com>
Cc: pbonzini@redhat.com, kvm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org,
	marc.zyngier@arm.com
Subject: Re: [RFC kvm-unit-tests PATCH 7/8] Makefiles: fix up the x86 build include and link paths
Date: Fri, 07 Apr 2017 15:30:54 +0100	[thread overview]
Message-ID: <87fuhk9tnl.fsf@linaro.org> (raw)
In-Reply-To: <20170407133152.j4lrz43cj4vkl7ox@kamzik.brq.redhat.com>


Andrew Jones <drjones@redhat.com> writes:

> On Thu, Apr 06, 2017 at 08:07:26PM +0100, Alex Bennée wrote:
>> We still need to tell the compiler the correct search path for finding
>> headers and the like. This is slightly complicated by the "dynamic"
>> asm search path which is in our build tree but (may be) symlinked to
>> the right architectures headers.
>>
>> Also we explicitly include SRCDIR for the linking scripts as VPATH
>> doesn't seem to find them well enough.
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>  Makefile            |  2 +-
>>  x86/Makefile.common | 10 +++++-----
>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index c9fea88..22da887 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -78,7 +78,7 @@ $(libcflat): $(cflatobjs)
>>  	$(AR) rcs $@ $^
>>
>>  include $(LIBFDT_srcdir)/Makefile.libfdt
>> -$(LIBFDT_archive): CFLAGS += -ffreestanding -I lib -I lib/libfdt -Wno-sign-compare
>> +$(LIBFDT_archive): CFLAGS += -ffreestanding -I $(SRCDIR)/lib -I $(SRCDIR)/lib/libfdt -Wno-sign-compare
>>  $(LIBFDT_archive): $(addprefix $(LIBFDT_objdir)/,$(LIBFDT_OBJS))
>>  	$(AR) rcs $@ $^
>>
>> diff --git a/x86/Makefile.common b/x86/Makefile.common
>> index ef6e543..032ed19 100644
>> --- a/x86/Makefile.common
>> +++ b/x86/Makefile.common
>> @@ -17,7 +17,7 @@ cflatobjs += lib/x86/acpi.o
>>  cflatobjs += lib/x86/stack.o
>>
>>  $(libcflat): LDFLAGS += -nostdlib
>> -$(libcflat): CFLAGS += -ffreestanding -I lib
>> +$(libcflat): CFLAGS += -ffreestanding -I $(SRCDIR)/lib -I lib
>>
>>  CFLAGS += -m$(bits)
>>  CFLAGS += -O1
>> @@ -31,8 +31,8 @@ libgcc := $(shell $(CC) -m$(bits) --print-libgcc-file-name)
>>  .PRECIOUS: %.elf %.o
>>
>>  FLATLIBS = lib/libcflat.a $(libgcc)
>> -%.elf: %.o $(FLATLIBS) x86/flat.lds $(cstart.o)
>> -	$(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,x86/flat.lds \
>> +%.elf: %.o $(FLATLIBS) $(SRCDIR)/x86/flat.lds $(cstart.o)
>> +	$(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,$(SRCDIR)/x86/flat.lds \
>>  		$(filter %.o, $^) $(FLATLIBS)
>>
>>  %.flat: %.elf
>> @@ -60,10 +60,10 @@ scripts-common += $(TEST_DIR)/unittests.cfg
>>  test_cases: $(tests-common) $(tests)
>>
>>
>> -$(TEST_DIR)/%.o: CFLAGS += -std=gnu99 -ffreestanding -I lib -I lib/x86
>> +$(TEST_DIR)/%.o: CFLAGS += -std=gnu99 -ffreestanding -I $(SRCDIR)/lib -I $(SRCDIR)/lib/x86 -I lib
>>
>>  $(TEST_DIR)/realmode.elf: $(TEST_DIR)/realmode.o
>> -	$(CC) -m32 -nostdlib -o $@ -Wl,-T,$(TEST_DIR)/realmode.lds $^
>> +	$(CC) -m32 -nostdlib -o $@ -Wl,-T,$(SRCDIR)/$(TEST_DIR)/realmode.lds $^
>>
>>  $(TEST_DIR)/realmode.o: bits = 32
>>
>> --
>> 2.11.0
>>
>
> I'm curious if we can drop this patch by telling VPATH about all the
> directories: VPATH += $(SRCDIR)/$(TEST_DIR) $(SRCDIR)/lib ...
>
> If so, then I think the earlier patch that sets VPATH to SRCDIR should
> set it to the list of all common dirs, and the arch makefiles will += in
> whatever else they need.

I'll look into it.

--
Alex Bennée

  reply	other threads:[~2017-04-07 14:30 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 19:07 [RFC kvm-unit-tests PATCH 0/8] Support for out-of-tree builds Alex Bennée
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 1/8] configure: make it run-able from outside source tree Alex Bennée
2017-04-07 11:40   ` Andrew Jones
2017-04-07 11:46     ` Peter Maydell
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 2/8] Makefile: ensure build-head works out-of-src-tree Alex Bennée
2017-04-07 11:44   ` Andrew Jones
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 3/8] Makefile: set VPATH based on SRCDIR Alex Bennée
2017-04-07 11:56   ` Andrew Jones
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 4/8] Makefiles: use explicit path for including sub-Makefiles Alex Bennée
2017-04-07  8:53   ` Thomas Huth
2017-04-07  9:21     ` Alex Bennée
2017-04-07 12:20   ` Andrew Jones
2017-04-27 15:54     ` Paolo Bonzini
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 5/8] Makefile: add explicit mkdir for .o targets Alex Bennée
2017-04-07 14:42   ` Andrew Jones
2017-04-27 15:57   ` Paolo Bonzini
2017-05-11 15:30     ` Alex Bennée
2017-05-12 10:36       ` Paolo Bonzini
2017-05-12 11:14         ` Alex Bennée
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 6/8] Makefiles: handle linking of scripts into build-tree Alex Bennée
2017-04-07  9:22   ` Thomas Huth
2017-04-07 10:38     ` Alex Bennée
2017-04-07 13:37       ` Andrew Jones
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 7/8] Makefiles: fix up the x86 build include and link paths Alex Bennée
2017-04-07 13:31   ` Andrew Jones
2017-04-07 14:30     ` Alex Bennée [this message]
2017-04-06 19:07 ` [RFC kvm-unit-tests PATCH 8/8] Makefiles: fix up the arm " Alex Bennée
2017-04-07  6:58   ` [RFC kvm-unit-tests PATCH 9/8] Makefiles: Fix up the powerpc " Thomas Huth
2017-04-07  8:02     ` Alex Bennée
2017-04-07 13:56   ` [RFC kvm-unit-tests PATCH 8/8] Makefiles: fix up the arm " Andrew Jones
2017-04-07 14:29     ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fuhk9tnl.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=drjones@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox