From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:38928 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757479AbcAaPxr (ORCPT ); Sun, 31 Jan 2016 10:53:47 -0500 Date: Sun, 31 Jan 2016 15:53:42 +0000 From: Al Viro To: kbuild test robot Cc: kbuild-all@01.org, linux-fsdevel@vger.kernel.org Subject: Re: [vfs:work.asm-exports 10/12] arch/ia64/lib/flush.S:29: undefined reference to `ia64_i_cache_stride_shift' Message-ID: <20160131155342.GH17997@ZenIV.linux.org.uk> References: <201601311658.k9hEPstr%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201601311658.k9hEPstr%fengguang.wu@intel.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Sun, Jan 31, 2016 at 04:44:04PM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.asm-exports > head: e1b27b33d149cf54144f015318d770e931b09b8c > commit: e11463e4da41c7541d4769886588e26c79cc4689 [10/12] ia64: move exports to definitions > config: ia64-sim_defconfig (attached as .config) > reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > git checkout e11463e4da41c7541d4769886588e26c79cc4689 > # save the attached .config to linux build tree > make.cross ARCH=ia64 > > All errors (new ones prefixed by >>): > > arch/ia64/lib/lib.a(flush.o): In function `flush_icache_range': > >> arch/ia64/lib/flush.S:29: undefined reference to `ia64_i_cache_stride_shift' > arch/ia64/lib/lib.a(flush.o): In function `clflush_cache_range': > >> arch/ia64/lib/flush.S:82: undefined reference to `ia64_cache_stride_shift' That turned out to be an interesting one: arch/ia64/hp/sim/boot/bootloader is unique in one respect - it's the only thing other than vmlinux that gets any built-in.o linked into it. Now all arch/ia64/lib/ lib-y objects with exports in them get pulled from their library by that sucker, and some of them require symbols *not* in bootloader. AFAICS, solved by moving several objects in arch/ia64/lib/ from obj-* to lib-* and dropping built-in.o from ld arguments when building bootloader. Hopefully fixed variant pushed...