Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
* Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
* arch/x86/entry/vdso/Makefile: Take the right hand side, effectively replacing common commit 35b779802c2e ("x86: vdso: Fix leaky vdso linker with CC=clang.") with the proper upstream commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Also, while you are at it, would you mind picking up upstream commit 5f074f3e192f ("lib/string.c: implement a basic bcmp")? It is cc'd for stable but it's worth mentioning now so we can stop carrying it out of tree :)
Let me know if there are any issues, comments, or concerns, Nathan
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
arch/x86/entry/vdso/Makefile: Take the right hand side, effectively replacing common commit 35b779802c2e ("x86: vdso: Fix leaky vdso linker with CC=clang.") with the proper upstream commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Nathan,
I might be missing something, but ad15006cc784 does not touch arch/x86/entry/vdso/Makefile nor does it generate any conflicts.
-- Thanks, Sasha
On Thu, Apr 11, 2019 at 09:58:04AM -0400, Sasha Levin wrote:
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
arch/x86/entry/vdso/Makefile: Take the right hand side, effectively replacing common commit 35b779802c2e ("x86: vdso: Fix leaky vdso linker with CC=clang.") with the proper upstream commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Nathan,
I might be missing something, but ad15006cc784 does not touch arch/x86/entry/vdso/Makefile nor does it generate any conflicts.
Hi Sasha,
You are correct. The conflict notes were for when Greg does the LTS merge into the Android common kernel, which has an out of tree patch that will cause a conflict with ad15006cc784. The conflict in the x86 vDSO Makefile comes from the other patches in the series. None of that matters for upstream.
Thanks, Nathan
-- Thanks, Sasha
On Thu, Apr 11, 2019 at 09:58:04AM -0400, Sasha Levin wrote:
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
arch/x86/entry/vdso/Makefile: Take the right hand side, effectively replacing common commit 35b779802c2e ("x86: vdso: Fix leaky vdso linker with CC=clang.") with the proper upstream commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Nathan,
I might be missing something, but ad15006cc784 does not touch arch/x86/entry/vdso/Makefile nor does it generate any conflicts.
Hi Sasha,
You are correct. The conflict notes were for when Greg does the LTS merge into the Android common kernel, which has an out of tree patch that will cause a conflict with ad15006cc784. The conflict in the x86 vDSO Makefile comes from the other patches in the series. None of that matters for upstream.
(resending to drop the fat finger in the To line...)
Thanks, Nathan
-- Thanks, Sasha
On Thu, Apr 11, 2019 at 07:25:38AM -0700, Nathan Chancellor wrote:
On Thu, Apr 11, 2019 at 09:58:04AM -0400, Sasha Levin wrote:
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
arch/x86/entry/vdso/Makefile: Take the right hand side, effectively replacing common commit 35b779802c2e ("x86: vdso: Fix leaky vdso linker with CC=clang.") with the proper upstream commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Nathan,
I might be missing something, but ad15006cc784 does not touch arch/x86/entry/vdso/Makefile nor does it generate any conflicts.
Hi Sasha,
You are correct. The conflict notes were for when Greg does the LTS merge into the Android common kernel, which has an out of tree patch that will cause a conflict with ad15006cc784. The conflict in the x86 vDSO Makefile comes from the other patches in the series. None of that matters for upstream.
(resending to drop the fat finger in the To line...)
Got it.
I've queued up all the requested patches.
-- Thanks, Sasha
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
- Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
Ugh, I just did every single android-common kernel merge today the wrong way for this, so sorry about that. You told me the right way to do it, and I read it backwards, my fault :(
thanks for the merge information, maybe next time I will be smart enough to actually follow it correctly...
greg k-h
On Wed, Apr 17, 2019 at 08:24:57PM +0200, Greg Kroah-Hartman wrote:
On Wed, Apr 10, 2019 at 08:51:43PM -0700, Nathan Chancellor wrote:
Hi Greg and Sasha,
Please apply the following mbox files to their respective trees. They contain upstream patches that allow a tip of tree LLD to link an x86 kernel image as well as a patch to avoid using $(LD) to check for the location of binutils, which won't always be accurate when linking with LLD. This was tested with both the upstream defconfig and Android's x86_64_cuttlefish_defconfig in their respective trees (building/linking with both Clang/LLD and GCC/ld.bfd then booting in QEMU).
For 5.0, a simple cherry-pick of commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") will do.
Greg, the merge into kernel/common will result in two conflicts:
- Makefile: Make the diff match upstream commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD")
Ugh, I just did every single android-common kernel merge today the wrong way for this, so sorry about that. You told me the right way to do it, and I read it backwards, my fault :(
Ah, I see! I could have probably been more clear about how it was going to conflict as well. At least it wasn't hard to undo, I had a shell one liner to do most of the work :)
thanks for the merge information, maybe next time I will be smart enough to actually follow it correctly...
I'm glad it was useful, I'll make sure to continue to provide it in the future.
Thanks for the quick resolution, cheers! Nathan
greg k-h
linux-stable-mirror@lists.linaro.org