Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
They were tested with Arch Linux's GCC 8.2.1 and AOSP's clang-r349610 [1] and boot tested in QEMU 3.1.0 with our rootfs files [2].
Additionally, for Greg, I have provided a merge resolution for the Makefile conflict you will get when doing the android-4.9 merge. You will also get a conflict in arch/arm64/include/asm/arch_gicv3.h, just check out to MERGE_HEAD as the {read,write}_sysreg_s macros have the LTO workaround that causes the conflict in the first place. I tested this resolution by building and booting cuttlefish_defconfig for arm64 with CONFIG_LTO_CLANG and CONFIG_CFI_CLANG enabled.
[1]: https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/8... [2]: https://github.com/ClangBuiltLinux/continuous-integration/tree/8a288264aa71f...
Please let me know if there are any concerns or objections! Nathan
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels. Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
thanks,
greg k-h
On Mon, Feb 25, 2019 at 03:45:13PM +0100, Greg Kroah-Hartman wrote:
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels. Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
Also, why are you wanting 238bcbc4e07f ("kbuild: consolidate Clang compiler flags") to be in 4.9? You put it as the last patch in the series, nothing depends on it, which seems odd...
greg k-h
On Mon, Feb 25, 2019 at 03:47:19PM +0100, Greg Kroah-Hartman wrote:
On Mon, Feb 25, 2019 at 03:45:13PM +0100, Greg Kroah-Hartman wrote:
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels.
Sigh that's what I get for not double checking my email after adding patches :(
Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
They should. All three pick cleanly to 4.14.y. Only the first one needs to be taken into 4.19.y and 4.20.y.
Also, why are you wanting 238bcbc4e07f ("kbuild: consolidate Clang compiler flags") to be in 4.9? You put it as the last patch in the series, nothing depends on it, which seems odd...
greg k-h
This was more of a "to make future backports easier" commit, plus makes that block way easier to read. I should have included 3bd9805090af ("Makefile: Export clang toolchain variables") as well though. I don't feel strongly about it either way but I also don't think the commit hurts anything.
I'll leave it up to you and provide you with an updated merge resolution accordingly.
Thanks! Nathan
On Mon, Feb 25, 2019 at 9:35 AM Nathan Chancellor natechancellor@gmail.com wrote:
On Mon, Feb 25, 2019 at 03:47:19PM +0100, Greg Kroah-Hartman wrote:
On Mon, Feb 25, 2019 at 03:45:13PM +0100, Greg Kroah-Hartman wrote:
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels.
Sigh that's what I get for not double checking my email after adding patches :(
Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
They should. All three pick cleanly to 4.14.y. Only the first one needs to be taken into 4.19.y and 4.20.y.
I feel like I need a script that given a sha, tells me what LTS branches the patch is in or not. I have this to tell me "when (what's the first tag that contains this commit)" a patch first landed:
function first_tag () { tag=$1 git describe --contains "$tag" | sed 's/~.*//' }
So say a patch landed in 4.15-rc1; and I want to backport to 4.9 and 4.14 (but it's already been backported to 4.14). Does anyone have a script to check this quickly? The process for seeing which LTS contains a commit or not still is very manual. I guess backports that require modification probably complicate the search further. Just asking, in case this is already a solved problem.
On Mon, Feb 25, 2019 at 09:46:56AM -0800, Nick Desaulniers wrote:
On Mon, Feb 25, 2019 at 9:35 AM Nathan Chancellor natechancellor@gmail.com wrote:
On Mon, Feb 25, 2019 at 03:47:19PM +0100, Greg Kroah-Hartman wrote:
On Mon, Feb 25, 2019 at 03:45:13PM +0100, Greg Kroah-Hartman wrote:
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels.
Sigh that's what I get for not double checking my email after adding patches :(
Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
They should. All three pick cleanly to 4.14.y. Only the first one needs to be taken into 4.19.y and 4.20.y.
I feel like I need a script that given a sha, tells me what LTS branches the patch is in or not. I have this to tell me "when (what's the first tag that contains this commit)" a patch first landed:
function first_tag () { tag=$1 git describe --contains "$tag" | sed 's/~.*//' }
So say a patch landed in 4.15-rc1; and I want to backport to 4.9 and 4.14 (but it's already been backported to 4.14). Does anyone have a script to check this quickly? The process for seeing which LTS contains a commit or not still is very manual. I guess backports that require modification probably complicate the search further. Just asking, in case this is already a solved problem.
I usually use this one liner in a stable tree:
$ git log --oneline --grep="$(git show -s --format="%s" <mainline_sha>)" origin/linux-<ver>.y
You could also grep for the mainline hash.
-- Thanks, ~Nick Desaulniers
On Mon, Feb 25, 2019 at 09:46:56AM -0800, Nick Desaulniers wrote:
On Mon, Feb 25, 2019 at 9:35 AM Nathan Chancellor natechancellor@gmail.com wrote:
On Mon, Feb 25, 2019 at 03:47:19PM +0100, Greg Kroah-Hartman wrote:
On Mon, Feb 25, 2019 at 03:45:13PM +0100, Greg Kroah-Hartman wrote:
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
Really? I see a number of these only showing up in much newer kernels.
Sigh that's what I get for not double checking my email after adding patches :(
Specifically these patches: 1f60652dd586 ("pinctrl: max77620: Use define directive for max77620_pinconf_param values") a0dd6773038f ("phy: tegra: remove redundant self assignment of 'map'") a9903f04e0a4 ("sched/sysctl: Fix attributes of some extern declarations")
from the "arm" mbox you provided. Why shouldn't the above patches go into 4.14.y and in some cases, also 4.19.y and 4.20.y?
They should. All three pick cleanly to 4.14.y. Only the first one needs to be taken into 4.19.y and 4.20.y.
I feel like I need a script that given a sha, tells me what LTS branches the patch is in or not. I have this to tell me "when (what's the first tag that contains this commit)" a patch first landed:
function first_tag () { tag=$1 git describe --contains "$tag" | sed 's/~.*//' }
So say a patch landed in 4.15-rc1; and I want to backport to 4.9 and 4.14 (but it's already been backported to 4.14). Does anyone have a script to check this quickly? The process for seeing which LTS contains a commit or not still is very manual. I guess backports that require modification probably complicate the search further. Just asking, in case this is already a solved problem.
Here's the script that I use that does just that: https://github.com/gregkh/gregkh-linux/blob/master/scripts/fix_in_what_relea...
It requires 3 things: - a directory of all kernel logs to search quickly to avoid 'git log'. I use the ones I keep at: https://github.com/gregkh/kernel-history/tree/master/logs - the stable queue git repo, to be able to search the stable kernel trees quickly. - the latest git tree from Linus, to fall back to if the commit isn't in any of the above places.
Hope that helps.
greg k-h
On Sun, Feb 24, 2019 at 11:13:01PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Attached are three mbox files containing patches that bring the Clang backports that Nick did in 4.9.139 up to date with what is currently in 4.14 and mainline, as well as fix warnings that are present in the arm64 and x86_64 defconfigs here and in AOSP (cuttlefish_defconfig). All of these warnings are fixed in 4.14 so there will be no regressions from upgrading.
They were tested with Arch Linux's GCC 8.2.1 and AOSP's clang-r349610 [1] and boot tested in QEMU 3.1.0 with our rootfs files [2].
I've included most of these now, except for the ones already pointed out.
Additionally, for Greg, I have provided a merge resolution for the Makefile conflict you will get when doing the android-4.9 merge. You will also get a conflict in arch/arm64/include/asm/arch_gicv3.h, just check out to MERGE_HEAD as the {read,write}_sysreg_s macros have the LTO workaround that causes the conflict in the first place. I tested this resolution by building and booting cuttlefish_defconfig for arm64 with CONFIG_LTO_CLANG and CONFIG_CFI_CLANG enabled.
Thanks for the merge resolution, I am guessing it is not going to be the same now that I did not take all of your Makefile patches :)
greg k-h
linux-stable-mirror@lists.linaro.org