* Compiling with old gcc breaks when CONFIG_RETPOLINE is off
@ 2018-12-04 9:58 Meelis Roos
2018-12-04 13:57 ` Zhenzhong Duan
2018-12-05 1:30 ` Zhenzhong Duan
0 siblings, 2 replies; 4+ messages in thread
From: Meelis Roos @ 2018-12-04 9:58 UTC (permalink / raw)
To: Zhenzhong Duan, Thomas Gleixner, David Woodhouse; +Cc: LKML
Just tried 4.20-rc5 on an old K6-2 PC with gcc 5.3.1, got an error about non-retpoline compiler,
turned CONFIG_RETPOLINE off and retried.
To my surprise, compilation still breaks with
arch/x86/Makefile:224: *** You are building kernel with non-retpoline compiler, please update your compiler.. Stop.
As I read the Makefile, it should error only when CONFIG_RETPOLINE is enabled, but it still breaks.
$ grep -r CONFIG_RETPOLINE .config
# CONFIG_RETPOLINE is not set
$ grep -r CONFIG_RETPOLINE include/
include/generated/autoconf.h:#define CONFIG_RETPOLINE 1
include/config/auto.conf:CONFIG_RETPOLINE=y
So the headers have not been updated yet, maybe?
--
Meelis Roos <mroos@linux.ee>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Compiling with old gcc breaks when CONFIG_RETPOLINE is off
2018-12-04 9:58 Compiling with old gcc breaks when CONFIG_RETPOLINE is off Meelis Roos
@ 2018-12-04 13:57 ` Zhenzhong Duan
2018-12-05 1:30 ` Zhenzhong Duan
1 sibling, 0 replies; 4+ messages in thread
From: Zhenzhong Duan @ 2018-12-04 13:57 UTC (permalink / raw)
To: Meelis Roos, Thomas Gleixner, David Woodhouse; +Cc: LKML, yamada.masahiro
Since commit '315bab4e972d kbuild: fix endless syncconfig in case arch
Makefile sets CROSS_COMPILE',
arch/$(SRCARCH)/Makefile is moved ahead of include/config/%.conf
synchonization in root Makefile.
So all the CONFIG_* option used in arch/$(SRCARCH)/Makefile may have
stale value if they were just updated in .config.
This looks like an issue. I'm not familiar with kbuild. Ccing Yamada for
help.
Thanks
Zhenzhong
On 2018/12/4 17:58, Meelis Roos wrote:
> Just tried 4.20-rc5 on an old K6-2 PC with gcc 5.3.1, got an error
> about non-retpoline compiler,
> turned CONFIG_RETPOLINE off and retried.
>
> To my surprise, compilation still breaks with
> arch/x86/Makefile:224: *** You are building kernel with non-retpoline
> compiler, please update your compiler.. Stop.
>
> As I read the Makefile, it should error only when CONFIG_RETPOLINE is
> enabled, but it still breaks.
>
> $ grep -r CONFIG_RETPOLINE .config
> # CONFIG_RETPOLINE is not set
>
> $ grep -r CONFIG_RETPOLINE include/
> include/generated/autoconf.h:#define CONFIG_RETPOLINE 1
> include/config/auto.conf:CONFIG_RETPOLINE=y
>
> So the headers have not been updated yet, maybe?
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Compiling with old gcc breaks when CONFIG_RETPOLINE is off
2018-12-04 9:58 Compiling with old gcc breaks when CONFIG_RETPOLINE is off Meelis Roos
2018-12-04 13:57 ` Zhenzhong Duan
@ 2018-12-05 1:30 ` Zhenzhong Duan
2018-12-05 3:00 ` Masahiro Yamada
1 sibling, 1 reply; 4+ messages in thread
From: Zhenzhong Duan @ 2018-12-05 1:30 UTC (permalink / raw)
To: Meelis Roos, Thomas Gleixner, David Woodhouse; +Cc: LKML, yamada.masahiro
Hi Meelis,
Could you try below change? It force syncconfig for any 'make *config"
so that autoconf.h and auto.conf are always updated.
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 98e0c7a..802875b 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -38,7 +38,7 @@ enum input_mode {
static int indent = 1;
static int tty_stdio;
-static int sync_kconfig;
+static int sync_kconfig = 1;
static int conf_cnt;
static char line[PATH_MAX];
static struct menu *rootEntry;
@@ -506,11 +506,11 @@ int main(int ac, char **av)
* Suppress distracting "configuration written
to ..."
*/
conf_set_message_callback(NULL);
- sync_kconfig = 1;
break;
case defconfig:
case savedefconfig:
defconfig_file = optarg;
+ sync_kconfig = 0;
break;
case randconfig:
{
@@ -537,13 +537,15 @@ int main(int ac, char **av)
srand(seed);
break;
}
+ case listnewconfig:
+ sync_kconfig = 0;
+ /* fall through */
case oldaskconfig:
case oldconfig:
case allnoconfig:
case allyesconfig:
case allmodconfig:
case alldefconfig:
- case listnewconfig:
case olddefconfig:
break;
case '?':
Thanks
Zhenzhong
On 2018/12/4 17:58, Meelis Roos wrote:
> Just tried 4.20-rc5 on an old K6-2 PC with gcc 5.3.1, got an error
> about non-retpoline compiler,
> turned CONFIG_RETPOLINE off and retried.
>
> To my surprise, compilation still breaks with
> arch/x86/Makefile:224: *** You are building kernel with non-retpoline
> compiler, please update your compiler.. Stop.
>
> As I read the Makefile, it should error only when CONFIG_RETPOLINE is
> enabled, but it still breaks.
>
> $ grep -r CONFIG_RETPOLINE .config
> # CONFIG_RETPOLINE is not set
>
> $ grep -r CONFIG_RETPOLINE include/
> include/generated/autoconf.h:#define CONFIG_RETPOLINE 1
> include/config/auto.conf:CONFIG_RETPOLINE=y
>
> So the headers have not been updated yet, maybe?
>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: Compiling with old gcc breaks when CONFIG_RETPOLINE is off
2018-12-05 1:30 ` Zhenzhong Duan
@ 2018-12-05 3:00 ` Masahiro Yamada
0 siblings, 0 replies; 4+ messages in thread
From: Masahiro Yamada @ 2018-12-05 3:00 UTC (permalink / raw)
To: zhenzhong.duan
Cc: Meelis Roos, Thomas Gleixner, David Woodhouse, Linux Kernel Mailing List
On Wed, Dec 5, 2018 at 10:31 AM Zhenzhong Duan
<zhenzhong.duan@oracle.com> wrote:
>
> Hi Meelis,
>
> Could you try below change? It force syncconfig for any 'make *config"
>
> so that autoconf.h and auto.conf are always updated.
NACK.
syncconfig should happen only when you are about to build something.
This patch let "make *config" touch include/config/* around
unnecessarily.
> diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
> index 98e0c7a..802875b 100644
> --- a/scripts/kconfig/conf.c
> +++ b/scripts/kconfig/conf.c
> @@ -38,7 +38,7 @@ enum input_mode {
>
> static int indent = 1;
> static int tty_stdio;
> -static int sync_kconfig;
> +static int sync_kconfig = 1;
> static int conf_cnt;
> static char line[PATH_MAX];
> static struct menu *rootEntry;
> @@ -506,11 +506,11 @@ int main(int ac, char **av)
> * Suppress distracting "configuration written
> to ..."
> */
> conf_set_message_callback(NULL);
> - sync_kconfig = 1;
> break;
> case defconfig:
> case savedefconfig:
> defconfig_file = optarg;
> + sync_kconfig = 0;
> break;
> case randconfig:
> {
> @@ -537,13 +537,15 @@ int main(int ac, char **av)
> srand(seed);
> break;
> }
> + case listnewconfig:
> + sync_kconfig = 0;
> + /* fall through */
> case oldaskconfig:
> case oldconfig:
> case allnoconfig:
> case allyesconfig:
> case allmodconfig:
> case alldefconfig:
> - case listnewconfig:
> case olddefconfig:
> break;
> case '?':
>
> Thanks
>
> Zhenzhong
>
> On 2018/12/4 17:58, Meelis Roos wrote:
> > Just tried 4.20-rc5 on an old K6-2 PC with gcc 5.3.1, got an error
> > about non-retpoline compiler,
> > turned CONFIG_RETPOLINE off and retried.
> >
> > To my surprise, compilation still breaks with
> > arch/x86/Makefile:224: *** You are building kernel with non-retpoline
> > compiler, please update your compiler.. Stop.
> >
> > As I read the Makefile, it should error only when CONFIG_RETPOLINE is
> > enabled, but it still breaks.
> >
> > $ grep -r CONFIG_RETPOLINE .config
> > # CONFIG_RETPOLINE is not set
> >
> > $ grep -r CONFIG_RETPOLINE include/
> > include/generated/autoconf.h:#define CONFIG_RETPOLINE 1
> > include/config/auto.conf:CONFIG_RETPOLINE=y
> >
> > So the headers have not been updated yet, maybe?
> >
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-12-05 3:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-04 9:58 Compiling with old gcc breaks when CONFIG_RETPOLINE is off Meelis Roos
2018-12-04 13:57 ` Zhenzhong Duan
2018-12-05 1:30 ` Zhenzhong Duan
2018-12-05 3:00 ` Masahiro Yamada
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.