On Tue, Mar 31, 2020 at 02:09:17PM +0200, Greg Kroah-Hartman wrote:
On Tue, Mar 31, 2020 at 01:45:09PM +0200, Dirk Müller wrote:
Hi Greg,
$ sed -i 's;scripts/dtc/dtc-lexer.l;scripts/dtc/dtc-lexer.lex.c_shipped;g' \ queue-{4.4,4.9,4.14}/scripts-dtc-remove-redundant-yyloc-global-declaration.patch If you would prefer a set of patches, let me know.
Should I just drop the patch from 4.4, 4.9, and 4.14 instead?
as the original author of the patch, I am not sure why it was backported to the LTS releases (unless enablement for gcc 10.x or other new toolchains is a requirement, which I'm not aware of).
The reason I am commenting on this is that Clang 11 is matching GCC's -fno-common change. Google will run into this when they do their toolchain uprev on Android (sooner rather than later) so it'd be good to deal with this now:
https://android.googlesource.com/kernel/build/+/refs/heads/master/build.sh#2...
Their devices back to 4.4 see builds with newer and newer toolchains so we need this back to 4.4. I am sure Chrome OS will also run into this shortly as well.
However I think the sed above on the *patch* means that the patch will *only* modify the generated sources, not the input sources. I think it would be better to patch both *input* and *generated* sources, or backport the generate-at-runtime patch as well (which might be even further outside the stable policy).
What do you mean by "input sources" here?
dtc-lexer.l is the input source for dtc-lexer.lex.c, which was then copied to dtc-lexer.lex.c_shipped prior to e039139be8c2 ("scripts/dtc: generate lexer and parser during build instead of shipping"). In other words, prior to 4.17, dtc-lexer.l is not used at all in the build system.
However, I agree with Dirk that it would be most proper to apply the fix to both dtc-lexer.l and dtc-lexer.lex.c_shipped so I have attached a backport for 4.4, 4.9, and 4.14 that has does just that.
Not knowing why it was backported, I would suggest to just dequeue the patch from the older trees.
If I drop it for now, I'll have to add it back when gcc10 is pushed out to my build systems and laptops :(
thanks,
greg k-h
Hope this makes sense/isn't confusing.
Cheers, Nathan