Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753891AbbK3Rsq (ORCPT ); Mon, 30 Nov 2015 12:48:46 -0500 Received: from mga01.intel.com ([192.55.52.88]:30254 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751484AbbK3Rso (ORCPT ); Mon, 30 Nov 2015 12:48:44 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,365,1444719600"; d="scan'208";a="4880284" Date: Mon, 30 Nov 2015 09:46:45 -0800 From: Andi Kleen To: Takashi Iwai Cc: Michal Marek , Stephen Rothwell , linux-next@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: LTO build errors (Re: linux-next: clean up the kbuild tree?) Message-ID: <20151130174645.GC3528@tassilo.jf.intel.com> References: <20151115112705.0bf4f0ed@canb.auug.org.au> <20151115175848.GD10150@tassilo.jf.intel.com> <5649D3B9.7020701@suse.cz> <20151121010033.GB8438@tassilo.jf.intel.com> <20151124021231.GE8438@tassilo.jf.intel.com> <20151125043344.GG8438@tassilo.jf.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1511 Lines: 35 > > > /tmp/ccUCMU7n.ltrans21.ltrans.o: In function `do_exit': > > > :(.text+0xfc0): undefined reference to `sys_futex' > > > /tmp/ccUCMU7n.ltrans22.ltrans.o: In function `_do_fork': > > > :(.text+0x39f7): undefined reference to `ret_from_fork' > > > :(.text+0x4428): undefined reference to `ret_from_kernel_thread' > > > > > > That's new, but can be fixed by adding __visible or asmlinkage to these symbols > > I guess it's from the recent entry* restructuring. > > > > I'll do an updated tree later. > > > > Everything that's called from assembler in C needs to be marked like this. It's > > fairly mechanic. > > OK, thanks for the information! I uploaded lto-4.1/4.2/4.3 trees to my git tree. It only needed some minor changes. However I think the problems with the assembler labels you had are due to toolchain misconfiguration. I had the same issue when the compiler was using the non Linux binutils as plugin ld. Unfortunately there is no way to ask the compiler to use a different plugin ld, other than: - rebuilding and specifying it at build time (see "Documentation/lto-build") - or replacing the linker binary (/usr/bin/ld in a standard hosted compiler) -Andi -- ak@linux.intel.com -- Speaking for myself only -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/