[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH v7 41/51] build,x86: remove the need for build32.mk


  • To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 18 Oct 2021 10:43:07 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kzawKHRM+YDpQu86QEL4tfIbOhZUcRbkP6EYJTYzHmU=; b=DaI1ObrAD1i9OIlx00B++2QxS8G4ASDqwnMlZ/PfPCWESNmtAHSnY3kHHZxGKmdqOpqNZlztubRafD3kljxNPzoLMSVRWea6dYdHrtVNTgpr/PlNkSwrLqlZC5dBcCqLNzeWR+0ZNTGXH9IxC/wA6e8zue3N6PaGEMZXTKDqpxo3wet9bdlFQubO0X4Xgeo2nrnkLtS1zDJZQC1Nsn1bhMqW+r1ut5WJIpMzgC2cAWz87b8S9yQx/+3hUVRj3r+xZ577PLQYmraj1X8q77vckjabQPHRSKIkId1wWpOvGawpi0xe/OWB35XjRJa/hQWbjzDaxd5aaoN/beD9IGAaFQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y/Pwc07tS7KAbXwVq1SoEZ2mbSe7WPG9lrUvUqIqKf16DHML+Vf6iKZrCP3PPSY0acnlnqrwkHXQ/skd7Sf9hqmEVJC6GC7asjQS52RvonWy9USV8Dqxff0NOzs+SN+Dk9bKWHu87DJqjJWKbTTj9eHdgnHlMrLzIWozzAzBE/5g08ODLPk47vGFl7EfxjhDUFTkH+ZsUDfEKk89+PnvUiPfK1dY3bsHS7lYrGmt/6e2Yr6Dp/7vNssoQicP2wzeUMmMcRKKaSDOKPFMeQsp/PG7a/kNbTjfLJSu1roPFUpPenL/53RnbkXrM+3w9vEtqkIKkngC2fwprqS1q3TW5Q==
  • Authentication-results: lists.xenproject.org; dkim=none (message not signed) header.d=none;lists.xenproject.org; dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 18 Oct 2021 08:43:17 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 15.10.2021 17:52, Anthony PERARD wrote:
> On Thu, Oct 14, 2021 at 10:32:05AM +0200, Jan Beulich wrote:
>> On 24.08.2021 12:50, Anthony PERARD wrote:
>>> -$(obj)/cmdline.S: $(src)/cmdline.c $(CMDLINE_DEPS) $(src)/build32.lds
>>> -   $(MAKE) -f $(BASEDIR)/$(src)/build32.mk -C $(obj) $(@F) 
>>> CMDLINE_DEPS="$(CMDLINE_DEPS)"
>>> +CFLAGS_x86_32 := -m32 -march=i686
>>> +CFLAGS_x86_32 += -fno-strict-aliasing
>>> +CFLAGS_x86_32 += -std=gnu99
>>> +CFLAGS_x86_32 += -Wall -Wstrict-prototypes
>>> +$(call cc-option-add,CFLAGS_x86_32,CC,-Wdeclaration-after-statement)
>>> +$(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-but-set-variable)
>>> +$(call cc-option-add,CFLAGS_x86_32,CC,-Wno-unused-local-typedefs)
>>> +$(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
>>> +CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
>>> +CFLAGS_x86_32 += -I$(srctree)/include
>>
>> I'm afraid I'm not convinced that having to keep this in sync with the
>> original is in fair balance with the removal of build32.mk.
> 
> Why would this needs to be kept in sync with the original? I would
> actually like to get rid of Config.mk, I don't see the point in sharing
> CFLAGS between a kernel and userspace binaries. Also, I hope one day
> that we can have the hypervisor in its own repo, and thus they won't be
> any Config.mk to keep in sync with.

My point wasn't about Config.mk as the reference in particular, but ...

> The goal of this patch is less about removing build32.mk, and more about
> using the rest of the build system infrastructure to build those few
> 32bits objects, and been able to use the automatic dependencies
> generation and other things without having to duplicate them.
> 
> It probably make the build a bit faster as there is two less invocation
> of $(MAKE) (which parse Config.mk).
> 
> As for a possible change: instead of having those x86_32 flags in
> arch/x86/boot/, I could have them in arch/x86/arch.mk. Linux does
> something like that were it prepare REALMODE_CFLAGS.
> 
> I know it's a bit annoying to have another list x86_32 cflags, but I
> don't see how we can extract them from Config.mk (in a Makefile where we
> want to use both x86_32 and x86_64 flags).

... about the general (apparent) plan to have two sets of flags, which
may not strictly _need_ to remain in sync, but better would. So while
I appreciate the alternative of putting stuff in arch.mk, I'd still
like to see common things like -W... to get probed for and added to
whichever variable just once.

Jan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.