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

Re: [PATCH] build: centralize / unify asm-offsets generation



On 27.04.2021 11:05, Roger Pau Monné wrote:
> On Wed, Apr 21, 2021 at 04:09:03PM +0200, Jan Beulich wrote:
>> On 20.04.2021 18:20, Roger Pau Monné wrote:
>>> On Tue, Apr 20, 2021 at 05:47:49PM +0200, Jan Beulich wrote:
>>>> On 20.04.2021 17:29, Roger Pau Monné wrote:
>>>>> On Thu, Apr 01, 2021 at 10:33:47AM +0200, Jan Beulich wrote:
>>>>>> @@ -399,7 +399,11 @@ include/xen/compile.h: include/xen/compi
>>>>>>          @sed -rf tools/process-banner.sed < .banner >> $@.new
>>>>>>          @mv -f $@.new $@
>>>>>>  
>>>>>> -include/asm-$(TARGET_ARCH)/asm-offsets.h: 
>>>>>> arch/$(TARGET_ARCH)/asm-offsets.s
>>>>>> +asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
>>>>>> +        $(CC) $(filter-out -Wa$(comma)% -flto,$(c_flags)) -S -g0 -o 
>>>>>> $@.new -MQ $@ $<
>>>>>> +        $(call move-if-changed,$@.new,$@)
>>>>>
>>>>> Won't it be more natural to keep the .s file in arch/$(TARGET_ARCH)?
>>>>
>>>> Yes and no: Yes as far as the actual file location is concerned.
>>>> No when considering where it gets generated: I generally consider
>>>> it risky to generate files outside of the directory where make
>>>> currently runs. There may be good reasons for certain exceptions,
>>>> but personally I don't see this case as good enough a reason.
>>>>
>>>> Somewhat related - if doing as you suggest, which Makefile's
>>>> clean: rule should clean up that file in your opinion?
>>>
>>> The clean rule should be in the makefile where it's generated IMO,
>>> same as asm-offsets.h clean rule currently in xen/Makefile.
>>>
>>>> Nevertheless, if there's general agreement that keeping the file
>>>> there is better, I'd make the change and simply ignore my unhappy
>>>> feelings about it.
>>>
>>> I don't have a strong opinion, it just feels weird to have this IMO
>>> stray asm-offsets.s outside of it's arch directory, taking into
>>> account that we have asm-offsets.h generated from xen/Makefile into an
>>> arch specific directory already as a precedent in that makefile.
>>
>> Well, asm-offsets.h generation doesn't involve the compiler, hence
>> no .*.d files get generated and want including later. For
>> asm-offsets.s to have dependencies properly honored, if we
>> generated it in xen/arch/<arch>, .asm-offsets.d would also end up
>> there, and hence including of it would need separately taking care
>> of.
> 
> I'm not sure I understand what do you mean with inclusion need taking
> care of separately. Isn't it expected for .d file to reside in the
> same directory as the output,

Yes, ...

> and hence picked up automatically?

... and hence they _wouldn't_ be picked up automatically while
building in xen/ if the .s file got created in xen/arch/<arch>/.

Jan



 


Rackspace

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