On Thu, Mar 30, 2017 at 05:49:27PM +0200, Peter Zijlstra wrote: > On Thu, Mar 30, 2017 at 09:02:31PM +0800, kbuild test robot wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/asm > > head: 19d436268dde95389c616bb3819da73f0a8b28a8 > > commit: 19d436268dde95389c616bb3819da73f0a8b28a8 [3/3] debug: Add _ONCE() > > logic to report_bug() > > config: arm-efm32_defconfig (attached as .config) > > compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 > > reproduce: > > wget > > https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O > > ~/bin/make.cross > > chmod +x ~/bin/make.cross > > git checkout 19d436268dde95389c616bb3819da73f0a8b28a8 > > # save the attached .config to linux build tree > > make.cross ARCH=arm > > > > All errors (new ones prefixed by >>): > > > > lib/lib.a(bug.o): In function `find_bug': > > >> lib/bug.c:135: undefined reference to `__start___bug_table' > > >> lib/bug.c:135: undefined reference to `__stop___bug_table' > > Blergh.. this cures it for me. > > Ideally all those would use RW_DATA_SECTION, but alas. >
> diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S > index c74ae9c..c8a3b61 100644 > --- a/arch/x86/kernel/vmlinux.lds.S > +++ b/arch/x86/kernel/vmlinux.lds.S > @@ -146,6 +146,7 @@ SECTIONS > _edata = .; > } :data > > + BUG_TABLE > > . = ALIGN(PAGE_SIZE); > __vvar_page = .; Also, I have absolutely 0 clues as to why x86 builds without this :/