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


Reply via email to