On Tue, Aug 11, 2020 at 04:51:23PM -0700, Nick Desaulniers wrote:
On Tue, Aug 11, 2020 at 4:43 PM Arvind Sankar nivedita@alum.mit.edu wrote:
On Tue, Aug 11, 2020 at 04:04:40PM -0700, Nick Desaulniers wrote:
On Tue, Aug 11, 2020 at 3:44 PM Arvind Sankar nivedita@alum.mit.edu wrote:
On Tue, Aug 11, 2020 at 10:58:40AM -0700, Nick Desaulniers wrote:
Cc: stable@vger.kernel.org # 4.19.x
Thanks Arvind, good write up. Just curious about this stable tag, how come you picked 4.19? I can see boot failures in our CI for x86+LLD back to 4.9. Can we amend that tag to use `# 4.9`? I'd be happy to help submit backports should they fail to apply cleanly. https://travis-ci.com/github/ClangBuiltLinux/continuous-integration/builds/1...
4.19 renamed LDFLAGS to KBUILD_LDFLAGS. For 4.4, 4.9 and 4.14 the patch needs to be modified, KBUILD_LDFLAGS -> LDFLAGS, so I figured we should submit backports separately. For 4.19 onwards, it should apply without changes I think.
Cool, sounds good. I'll keep an eye out for when stable goes to pick this up.
tglx, Ingo, BP, can we pretty please get this in tip/urgent for inclusion into 5.9? -- Thanks, ~Nick Desaulniers
Another alternative is to just do this unconditionally instead of even checking for the -pie flag. None of the GOTPCRELs are in the decompressor, so they shouldn't be performance-sensitive at all.
It still wouldn't apply cleanly to all the stable versions, but backporting would be even simpler.
What do you think?
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index 3962f592633d..10c2ba59d192 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile @@ -43,6 +43,7 @@ KBUILD_CFLAGS += -Wno-pointer-sign KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += -D__DISABLE_EXPORTS +KBUILD_CFLAGS += $(call as-option,-Wa$(comma)-mrelax-relocations=no)
We'd still want it for KBUILD_AFLAGS, too, just to be safe. Maybe a
KBUILD_CFLAGS gets included into KBUILD_AFLAGS, so this already does that.
one line comment to the effect of `# remove me once we can link as -pie` would help us rip off this band-aid in the future? It's more obvious that the added hunk can be reverted once -pie linkage is achieved with the current patch; either are fine by me. Thanks!
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE := n
-- Thanks, ~Nick Desaulniers