Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory

From: Masahiro Yamada
Date: Sat May 06 2017 - 11:58:21 EST


Hi Robert,

2017-05-04 15:29 GMT+09:00 Robert Jarzmik <robert.jarzmik@xxxxxxx>:
> Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> writes:
>
>> Hi Robert,
>>
>> 2017-04-26 5:07 GMT+09:00 Robert Jarzmik <robert.jarzmik@xxxxxxx>:
>>> Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> writes:
>>>
>>>> Hi Robert,
>>>>> diff --git a/scripts/tags.sh b/scripts/tags.sh
>>>>> index a2ff3388e5ea..35cb64d5211c 100755
>>>>> --- a/scripts/tags.sh
>>>>> +++ b/scripts/tags.sh
>>>>> @@ -106,7 +106,8 @@ all_compiled_sources()
>>>>> case "$i" in
>>>>> *.[cS])
>>>>> j=${i/\.[cS]/\.o}
>>>>> - if [ -e $j ]; then
>>>>> + k="${j#$tree}"
>>>>> + if [ -e $j -o -e "$k" ]; then
>>>>
>>>>
>>>> Do we need to check both srctree and objtree?
>>>> I think checking objtree (after $tree is ripped off) is enough.
>>>
>>> If I remember correctly, as this goes back a couple of monthes when I made the
>>> tests of this patch, the srctree is checked for the case when the kernel is
>>> compiled without O=, and objtree for the case with O=.
>>
>>
>> I thought of this too, but if O= is given, objects in srctree
>> should not be checked.
>>
>> For example, the kernel may be compiled for ARCH=arm with O= first,
>> then for ARCH=x86 without O= second.
>>
>> If we include objects from both trees, the generated tag file
>> will be a mixture of arm and x86.
> That's true, but is this case worth an additional test for this case, ie. is it
> a case anybody uses ? Given that that this tags generation never worked for out
> of tree builds, I was thinking it wasn't worth a :
> [[ (-z $O -a -e $j) || (-n $O -a -e $k) ]];


I am not saying we should do like that.


My suggestion is even simpler.

Can we do like this?


diff --git a/scripts/tags.sh b/scripts/tags.sh
index d661f2f..d23dcbf 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -106,6 +106,7 @@ all_compiled_sources()
case "$i" in
*.[cS])
j=${i/\.[cS]/\.o}
+ j="${j#$tree}"
if [ -e $j ]; then
echo $i
fi



--
Best Regards
Masahiro Yamada