Re: [PATCH 2/2] kbuild: modversions for exported asm symbols

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

 



On 2016-11-01 15:36, Nicholas Piggin wrote:
> On Tue, 1 Nov 2016 15:19:59 +0100
> Michal Marek <mmarek@xxxxxxxx> wrote:
> 
>> On 2016-10-31 12:14, Nicholas Piggin wrote:
>>> +# This is convoluted. The .S file must first be preprocessed to run guards and
>>> +# expand names, then the resulting exports must be constructed into plain
>>> +# EXPORT_SYMBOL(symbol); to build our dummy C file, and that gets preprocessed
>>> +# to make the genksyms input.
>>>  #
>>>  # These mirror gensymtypes_c and co above, keep them in synch.
>>>  cmd_gensymtypes_S =                                                         \
>>>      (echo "\#include <linux/kernel.h>" ;                                    \
>>>       echo "\#include <asm/asm-prototypes.h>" ;                              \
>>> -     grep EXPORT_SYMBOL $< | sed 's/$$/;/' ) |                              \
>>> +    $(CPP) $(a_flags) $< |                                                  \
>>> +     grep ^___EXPORT_SYMBOL |                                               \
>>> +     sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) |  \  
>>
>> Is this sed pass necessary? Just add -D__GENKSYMS__ also to the first
>> cpp run and EXPORT_SYMBOL will stay intact.
> 
> I can't see how it would work if asm-generic/export.h doesn't have any
> tests for GENKSYMS.
> 
>> Anyway, I'm going to merge your patch 2/2 now.
> 
> Okay. We should come to some resolution of the preprocessing issue too.
> I'm logging off for tonight, but if you want to tweak or redo the
> incremental patch, feel free.

I applied the folded patch as is. The preprocessing is not pretty, but
the 4.9 regression is more important to be fixed.

Thanks,
Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux