Messages in this thread | | | Date | Mon, 30 Nov 2015 09:46:45 -0800 | From | Andi Kleen <> | Subject | Re: LTO build errors (Re: linux-next: clean up the kbuild tree?) |
| |
> > > /tmp/ccUCMU7n.ltrans21.ltrans.o: In function `do_exit': > > > <artificial>:(.text+0xfc0): undefined reference to `sys_futex' > > > /tmp/ccUCMU7n.ltrans22.ltrans.o: In function `_do_fork': > > > <artificial>:(.text+0x39f7): undefined reference to `ret_from_fork' > > > <artificial>:(.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
| |