All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
	Ingo Molnar <mingo@kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.
Date: Thu, 28 Dec 2017 21:13:24 -0500	[thread overview]
Message-ID: <20171229021323.GF10431@windriver.com> (raw)
In-Reply-To: <d053e6df-ed00-2a02-eb27-4287b7549276@infradead.org>

[Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.] On 28/12/2017 (Thu 11:29) Randy Dunlap wrote:

> On 12/25/2017 08:30 PM, Paul Gortmaker wrote:
> > There is a regression new to 4.15 that happens in a rather common
> > workflow which results in the frustrating situation where the user has
> > clearly disabled UNWINDER_ORC in their ".config" file, and yet they
> > still get the immediate false error saying they need libelf-dev since
> > "CONFIG_UNWINDER_ORC=y" is still set, and hence they can not build.
> > 
> > The regression requires UNWINDER_ORC=y (now the default in commit
> > fc72ae40e303) followed by the user subsequently disabling it, which is
> > common if the user doesn't have libelf-dev and doesn't care about ORC.
> > 
> > This happens because the recently added test in the top level Makefile
> > assumes that ,config data will be mapped into include/config/auto.conf
> > either by the end user running "make oldconfig" or the Makefile itself
> > detecting that "silentoldconfig" should be run.  As the simple
> > reproducer below shows, this clearly does not happen as expected.
> > 
> > Note that the test for CONFIG_STACK_VALIDATION and libelf-dev in the
> > same place in the Makefile is broken in the same way, but since it is a
> > warning and not an error, nobody cared about the bogus false positives.
> 
> Yeah, that's odd.
> 
> > Since there is no way I'm going to debug Makefile stuff on Christmas
> > Day, I figured that I should at least report it intstead.  The work
> > around is to save your .config and run a "make distclean" or manually
> > clobber the stale include/config/auto.conf or similar.  But a frustrated
> > user wouldn't know that w/o the root cause...
> > 
> 
> I have tried to reproduce this multiple times but cannot do so.
> It remains with:
> 
> > grep UNWINDER .config
> # CONFIG_UNWINDER_ORC is not set
> CONFIG_UNWINDER_FRAME_POINTER=y

As it should.  Please re-read the reproducer and the above.  The data in
the .config is exactly as it should be.  The include/config/auto.conf
having stale data with ORC still listed as enabled is the issue.

Also note you need a machine with libelf-dev not installed, at the risk
of stating the obvious.

Paul.
--

> 
> > 
> >     --------------------- reproducer ------------------------
> > 
> > paul@gw:~/git/linux-head$ git describe 
> > v4.15-rc5
> > paul@gw:~/git/linux-head$ make distclean 
> > paul@gw:~/git/linux-head$ make defconfig
> >   HOSTCC  scripts/basic/fixdep
> >   HOSTCC  scripts/kconfig/conf.o
> >   SHIPPED scripts/kconfig/zconf.tab.c
> >   SHIPPED scripts/kconfig/zconf.lex.c
> >   HOSTCC  scripts/kconfig/zconf.tab.o
> >   HOSTLD  scripts/kconfig/conf
> > *** Default configuration is based on 'x86_64_defconfig'
> > #
> > # configuration written to .config
> > #
> > paul@gw:~/git/linux-head$ make
> > scripts/kconfig/conf  --silentoldconfig Kconfig
> > Makefile:926: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.
> > paul@gw:~/git/linux-head$ vi .config  # disable ORC in favour of FRAME_POINTER
> > paul@gw:~/git/linux-head$ make oldconfig
> > scripts/kconfig/conf  --oldconfig Kconfig
> > #
> > # configuration written to .config
> > #
> > paul@gw:~/git/linux-head$ grep UNWINDER .config
> > # CONFIG_UNWINDER_ORC is not set
> > CONFIG_UNWINDER_FRAME_POINTER=y
> > paul@gw:~/git/linux-head$ make
> > Makefile:926: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.
> > paul@gw:~/git/linux-head$ ls -l .config include/config/auto.conf
> > -rw-rw-r-- 1 paul paul 115953 Dec 25 22:48 .config
> > -rw-rw-r-- 1 paul paul  33069 Dec 25 22:46 include/config/auto.conf
> > paul@gw:~/git/linux-head$ grep UNWINDER include/config/auto.conf
> > CONFIG_UNWINDER_ORC=y
> > paul@gw:~/git/linux-head$ 
> > 
> >     --------------------- reproducer ------------------------
> 
> 
> -- 
> ~Randy

WARNING: multiple messages have this Message-ID (diff)
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
	Ingo Molnar <mingo@kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	<linux-kbuild@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.
Date: Thu, 28 Dec 2017 21:13:24 -0500	[thread overview]
Message-ID: <20171229021323.GF10431@windriver.com> (raw)
In-Reply-To: <d053e6df-ed00-2a02-eb27-4287b7549276@infradead.org>

[Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.] On 28/12/2017 (Thu 11:29) Randy Dunlap wrote:

> On 12/25/2017 08:30 PM, Paul Gortmaker wrote:
> > There is a regression new to 4.15 that happens in a rather common
> > workflow which results in the frustrating situation where the user has
> > clearly disabled UNWINDER_ORC in their ".config" file, and yet they
> > still get the immediate false error saying they need libelf-dev since
> > "CONFIG_UNWINDER_ORC=y" is still set, and hence they can not build.
> > 
> > The regression requires UNWINDER_ORC=y (now the default in commit
> > fc72ae40e303) followed by the user subsequently disabling it, which is
> > common if the user doesn't have libelf-dev and doesn't care about ORC.
> > 
> > This happens because the recently added test in the top level Makefile
> > assumes that ,config data will be mapped into include/config/auto.conf
> > either by the end user running "make oldconfig" or the Makefile itself
> > detecting that "silentoldconfig" should be run.  As the simple
> > reproducer below shows, this clearly does not happen as expected.
> > 
> > Note that the test for CONFIG_STACK_VALIDATION and libelf-dev in the
> > same place in the Makefile is broken in the same way, but since it is a
> > warning and not an error, nobody cared about the bogus false positives.
> 
> Yeah, that's odd.
> 
> > Since there is no way I'm going to debug Makefile stuff on Christmas
> > Day, I figured that I should at least report it intstead.  The work
> > around is to save your .config and run a "make distclean" or manually
> > clobber the stale include/config/auto.conf or similar.  But a frustrated
> > user wouldn't know that w/o the root cause...
> > 
> 
> I have tried to reproduce this multiple times but cannot do so.
> It remains with:
> 
> > grep UNWINDER .config
> # CONFIG_UNWINDER_ORC is not set
> CONFIG_UNWINDER_FRAME_POINTER=y

As it should.  Please re-read the reproducer and the above.  The data in
the .config is exactly as it should be.  The include/config/auto.conf
having stale data with ORC still listed as enabled is the issue.

Also note you need a machine with libelf-dev not installed, at the risk
of stating the obvious.

Paul.
--

> 
> > 
> >     --------------------- reproducer ------------------------
> > 
> > paul@gw:~/git/linux-head$ git describe 
> > v4.15-rc5
> > paul@gw:~/git/linux-head$ make distclean 
> > paul@gw:~/git/linux-head$ make defconfig
> >   HOSTCC  scripts/basic/fixdep
> >   HOSTCC  scripts/kconfig/conf.o
> >   SHIPPED scripts/kconfig/zconf.tab.c
> >   SHIPPED scripts/kconfig/zconf.lex.c
> >   HOSTCC  scripts/kconfig/zconf.tab.o
> >   HOSTLD  scripts/kconfig/conf
> > *** Default configuration is based on 'x86_64_defconfig'
> > #
> > # configuration written to .config
> > #
> > paul@gw:~/git/linux-head$ make
> > scripts/kconfig/conf  --silentoldconfig Kconfig
> > Makefile:926: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.
> > paul@gw:~/git/linux-head$ vi .config  # disable ORC in favour of FRAME_POINTER
> > paul@gw:~/git/linux-head$ make oldconfig
> > scripts/kconfig/conf  --oldconfig Kconfig
> > #
> > # configuration written to .config
> > #
> > paul@gw:~/git/linux-head$ grep UNWINDER .config
> > # CONFIG_UNWINDER_ORC is not set
> > CONFIG_UNWINDER_FRAME_POINTER=y
> > paul@gw:~/git/linux-head$ make
> > Makefile:926: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel".  Stop.
> > paul@gw:~/git/linux-head$ ls -l .config include/config/auto.conf
> > -rw-rw-r-- 1 paul paul 115953 Dec 25 22:48 .config
> > -rw-rw-r-- 1 paul paul  33069 Dec 25 22:46 include/config/auto.conf
> > paul@gw:~/git/linux-head$ grep UNWINDER include/config/auto.conf
> > CONFIG_UNWINDER_ORC=y
> > paul@gw:~/git/linux-head$ 
> > 
> >     --------------------- reproducer ------------------------
> 
> 
> -- 
> ~Randy

  reply	other threads:[~2017-12-29  2:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-26  4:30 [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague Paul Gortmaker
2017-12-26  4:30 ` Paul Gortmaker
2017-12-28 19:29 ` Randy Dunlap
2017-12-29  2:13   ` Paul Gortmaker [this message]
2017-12-29  2:13     ` Paul Gortmaker
2017-12-29 16:47     ` Josh Poimboeuf
2017-12-29 18:18       ` Paul Gortmaker
2017-12-29 18:18         ` Paul Gortmaker
2017-12-29 18:40         ` vcaputo
2018-12-16 21:42         ` Paul Gortmaker
2018-12-16 21:42           ` Paul Gortmaker
2018-12-18  4:56           ` Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171229021323.GF10431@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=mingo@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.