Re: [RFC PATCH] kbuild: add -fno-PIE

From: Sebastian Andrzej Siewior
Date: Thu Oct 27 2016 - 03:28:49 EST


Hi Andrew,

On 2016-10-26 19:51:03 [+0200], Sven Joachim wrote:
> On 2016-10-25 09:30 +0200, Sebastian Andrzej Siewior wrote:
>
> > On 2016-10-24 19:32:30 [+0200], Sven Joachim wrote:
> >> On 2016-10-24 09:43 +0200, Sebastian Andrzej Siewior wrote:
> >>
> >> > On 2016-10-24 09:38:49 [+0200], Sven Joachim wrote:
> >> >>
> >> >> But make still fails with it. :-(
> >> >
> >> > try setting CONFIG_CC_STACKPROTECTOR_NONE=y and please let me know if
> >> > the resulting kernel built with v3.2 gcc boots & works.
> >>
> >> Sorry, I don't have gcc 3.2 around, and my gcc 3.3 environment produces
> >> assembler errors in arch/x86/entry/entry_32.S. Maybe binutils 2.15 is
> >> not recent enough anymore?
>
> I have done a few more tests, and I can confirm that binutils 2.17 is
> the oldest version that works. Also, I have succeeded installing gcc
> 3.2 in a Debian 4.0 chroot now.
>
> > so we use stone age gcc but take latest binutils and kernel? What about
> > lifting the limit of gcc 3.2?
>
> Would probably make sense, since gcc 3.2 cannot compile kernel/bounds.c,
> at least not on x86.
>
> ,----
> | CC kernel/bounds.s
> | In file included from /tmp/linux/arch/x86/include/asm/bitops.h:512,
> | from include/linux/bitops.h:22,
> | from include/linux/kernel.h:10,
> | from include/asm-generic/bug.h:13,
> | from /tmp/linux/arch/x86/include/asm/bug.h:38,
> | from include/linux/bug.h:4,
> | from include/linux/page-flags.h:9,
> | from kernel/bounds.c:9:
> | /tmp/linux/arch/x86/include/asm/arch_hweight.h: In function `__arch_hweight32':
> | /tmp/linux/arch/x86/include/asm/arch_hweight.h:29: syntax error before string constant
> | make[1]: *** [kernel/bounds.s] Error 1
> `----
>
> Building with gcc 3.3 is apparently still possible, although it produces
> tons of warnings and a modpost section mismatch. Still, requiring gcc
> 4.1 or newer would not be unreasonable, I think (still released a few
> months earlier than binutils 2.17).

I remember you had once a server box running some enterprise distro
which had an old gcc. Do you see any reason for not lifting the minimum
gcc version to v4.1 ?

> Cheers,
> Sven

Sebastian