Messages in this thread | | | Date | Sat, 30 Dec 2017 14:14:57 +0100 (CET) | From | Jiri Kosina <> | Subject | Re: 4.14.9 doesn't boot (regression) |
| |
On Sat, 30 Dec 2017, Toralf Förster wrote:
> This made the issue go away : > > diff --git a/Makefile b/Makefile > index ac8c441866b7..11a12947c550 100644 > --- a/Makefile > +++ b/Makefile > @@ -414,7 +414,7 @@ LINUXINCLUDE := \ > > KBUILD_AFLAGS := -D__ASSEMBLY__ > KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ > - -fno-strict-aliasing -fno-common -fshort-wchar \ > + -fno-strict-aliasing -fno-common -fshort-wchar -fstack-check=no \ > -Werror-implicit-function-declaration \ > -Wno-format-security \ > -std=gnu89 > > But this doesn't solve the root cause, right ? So if the root cause is > "Gentoo hardened GCC is broken" please just let me know this - FWIW I'm > in #gentoo-dev on freenode.
-fstack-check for kernel is never going to work properly.
That option is purely for userspace, and assumes all the logic around 'stack guard gap' and the auto-growing semantics being in place; which is there for user stack VMA, but definitely not for kernel stack.
It's probably the "hardened" flavor of your distro trying to push '-fstack-check' to everything it compiles; so I actually think the Makefile patch, sanitizing CFLAGS by force-disabling -fstack-check is exactly what we should be doing.
Thanks,
-- Jiri Kosina SUSE Labs
| |