On Tue, Jun 16, 2020 at 11:17:08PM +0200, Gabriel C wrote:
> Am Di., 16. Juni 2020 um 22:33 Uhr schrieb Arvind Sankar
> <[email protected]>:
> >
> > Can you attach the output of gcc -dumpspecs and gcc -v? I suspect your
> > compiler enables stack protector by default. My distro compiler does
> > that too, but not if -ffreestanding is enabled (which it is for the
> > purgatory).
> >
> 
> Files including config uploaded to there:
> 
> http://crazy.dev.frugalware.org/kernel/
> 

Yeah, your gcc doesn't have the -ffreestanding handling. Mine (from
gentoo) has this in the -dumpspecs output:

*cc1_options:
... %{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} ...

to switch off the default ssp when the standard libraries aren't available.

> > Does this patch help?
> >
> 
> I'll test in a bit and let you know.
> 
> > diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile
> > index b04e6e72a592..088bd764e0b7 100644
> > --- a/arch/x86/purgatory/Makefile
> > +++ b/arch/x86/purgatory/Makefile
> > @@ -34,6 +34,7 @@ KCOV_INSTRUMENT := n
> >  PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel
> >  PURGATORY_CFLAGS := -mcmodel=large -ffreestanding 
> > -fno-zero-initialized-in-bss
> >  PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN) -DDISABLE_BRANCH_PROFILING
> > +PURGATORY_CFLAGS += $(call cc-option,-fno-stack-protector)
> >
> >  # Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. 
> > That
> >  # in turn leaves some undefined symbols like __fentry__ in purgatory and 
> > not
> 
> Thx.

Reply via email to