[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YpOLHkUZImdEr7yl@antec>
Date: Mon, 30 May 2022 00:02:54 +0900
From: Stafford Horne <shorne@...il.com>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
Guenter Roeck <linux@...ck-us.net>,
Guo Ren <guoren@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nicolas Schier <nicolas@...sle.eu>,
Sami Tolvanen <samitolvanen@...gle.com>,
linux-csky@...r.kernel.org, Joel Stanley <joel@....id.au>,
nicolas@...ian.org
Subject: Re: [PATCH] kbuild: ignore *.cmd files for objects that come from
libgcc.a
Cc Joel, Nicolas
On Sun, May 29, 2022 at 01:23:18PM +0900, Masahiro Yamada wrote:
> Guenter Roeck reported the build breakage for parisc and csky.
> I confirmed nios2 and openrisc are broken as well.
Joel reported and issue building the openrisc kernel as well with this error:
This fails at the link step:
LD vmlinux.o
+ or1k-elf-ld -r -o vmlinux.o --whole-archive
arch/openrisc/kernel/head.o init/built-in.a usr/built-in.a
arch/openrisc/built-in.a kernel/built-in.a certs/built-in.a
mm/built-in.a fs/built-in.a ipc/built-in.a security/built-in.a
crypto/built-in.a block/built-in.a lib/built-in.a drivers/built-in.a
sound/built-in.a net/built-in.a virt/built-in.a --no-whole-archive
--start-group lib/lib.a /usr/lib/gcc/or1k-elf/12/libgcc.a --end-group
or1k-elf-ld: /usr/lib/gcc/or1k-elf/12/libgcc.a: error adding symbols:
archive has no index; run ranlib to add one
Is it the same? It might be good to have details of the error in the commit
message.
> The reason is that they borrow libgcc.a from the toolchains.
>
> For example, see this line in arch/parisc/Makefile:
>
> LIBGCC := $(shell $(CC) -print-libgcc-file-name)
>
> Some objects in libgcc.a are linked to vmlinux.o, but they do not have
> .*.cmd files.
>
> Obviously, there is no EXPORT_SYMBOL in external objects. Ignore them.
>
> (Most of the architectures import library code into the kernel tree.
> Perhaps those 4 architectures can do similar, but I am not sure.)
Ill have a look at this. Could you give an example of what you mean by import
library code, from where? OpenRISC imports builtins from libgcc, also we have
string and other lib routines from within the port.
-Stafford
Powered by blists - more mailing lists