Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Masahiro Yamada writes: > Hi Robert, Hi Masahiro, Sorry, I was out lately. I sent a v3, thanks for keeping up pushing for this one. Cheers. -- Robert
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
2017-06-05 15:05 GMT+09:00 Masahiro Yamada : > I tested the code above, and it worked fine. > > Could you send v3? Then, I will apply it soon. > > Or, if you are not reluctant to do so, > may I modify your patch like above? I meant "if you are reluctant to do so..." -- Best Regards Masahiro Yamada
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Hi Robert, 2017-05-07 0:57 GMT+09:00 Masahiro Yamada : > Hi Robert, > > 2017-05-04 15:29 GMT+09:00 Robert Jarzmik : >> Masahiro Yamada writes: >> >>> Hi Robert, >>> >>> 2017-04-26 5:07 GMT+09:00 Robert Jarzmik : Masahiro Yamada 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 > > I tested the code above, and it worked fine. Could you send v3? Then, I will apply it soon. Or, if you are not reluctant to do so, may I modify your patch like above? -- Best Regards Masahiro Yamada
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Hi Robert, 2017-05-04 15:29 GMT+09:00 Robert Jarzmik : > Masahiro Yamada writes: > >> Hi Robert, >> >> 2017-04-26 5:07 GMT+09:00 Robert Jarzmik : >>> Masahiro Yamada 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
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Masahiro Yamada writes: > Hi Robert, > > 2017-04-26 5:07 GMT+09:00 Robert Jarzmik : >> Masahiro Yamada 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) ]]; Cheers. -- Robert
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Hi Robert, 2017-04-26 5:07 GMT+09:00 Robert Jarzmik : > Masahiro Yamada 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. -- Best Regards Masahiro Yamada
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Masahiro Yamada 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=. Cheers. -- Robert
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Hi Robert, 2016-12-16 1:35 GMT+09:00 Robert Jarzmik : > When the kernel is compiled with an "O=" argument, the object files are > not necessarily in the source tree, and more probably in another tree. Always in objtree. > In this situation, the current used check doesn't work, and > COMPILED_SOURCE tags is broken with O= builds. > > This patch fixes it by looking for object files both in source tree and > potential destination tree. > > It was verified that in the case of O= usage, the current directory is > the build tree, ie. the tree referenced by O=xxx, and j is the source > tree path concatenated with relative path of the object to the source > tree root, hence the simple expression to compute "k" as the built > object. > > Signed-off-by: Robert Jarzmik > --- > Since v1: amended k expression, Marek's comments > --- > scripts/tags.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > 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. -- Best Regards Masahiro Yamada
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Robert Jarzmik writes: > Robert Jarzmik writes: >> Signed-off-by: Robert Jarzmik >> --- >> Since v1: amended k expression, Marek's comments > Hi Marek, > > Is this version good for you ? Marek, could you take a look please ? -- Robert >> --- >> scripts/tags.sh | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> 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 >> echo $i >> fi >> ;;
Re: [PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
Robert Jarzmik writes: > When the kernel is compiled with an "O=" argument, the object files are > not necessarily in the source tree, and more probably in another tree. > > In this situation, the current used check doesn't work, and > COMPILED_SOURCE tags is broken with O= builds. > > This patch fixes it by looking for object files both in source tree and > potential destination tree. > > It was verified that in the case of O= usage, the current directory is > the build tree, ie. the tree referenced by O=xxx, and j is the source > tree path concatenated with relative path of the object to the source > tree root, hence the simple expression to compute "k" as the built > object. > > Signed-off-by: Robert Jarzmik > --- > Since v1: amended k expression, Marek's comments Hi Marek, Is this version good for you ? > --- > scripts/tags.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > 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 > echo $i > fi > ;; Cheers. -- Robert
[PATCH v2] tags: honor COMPILED_SOURCE with apart output directory
When the kernel is compiled with an "O=" argument, the object files are not necessarily in the source tree, and more probably in another tree. In this situation, the current used check doesn't work, and COMPILED_SOURCE tags is broken with O= builds. This patch fixes it by looking for object files both in source tree and potential destination tree. It was verified that in the case of O= usage, the current directory is the build tree, ie. the tree referenced by O=xxx, and j is the source tree path concatenated with relative path of the object to the source tree root, hence the simple expression to compute "k" as the built object. Signed-off-by: Robert Jarzmik --- Since v1: amended k expression, Marek's comments --- scripts/tags.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 echo $i fi ;; -- 2.1.4