From: Randy Dunlap <rdunlap@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: kernel test robot <lkp@intel.com>,
Brendan Jackman <jackmanb@google.com>,
Alexei Starovoitov <ast@kernel.org>,
kbuild-all@lists.01.org, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
linux-um@lists.infradead.org,
Johannes Berg <johannes@sipsolutions.net>,
Johannes Berg <johannes.berg@intel.com>
Subject: Re: [PATCH] um: add 2 missing libs to fix various build errors
Date: Fri, 9 Apr 2021 21:13:42 -0700 [thread overview]
Message-ID: <9f7eeb70-8ddc-fb04-a378-5f1e80d485e6@infradead.org> (raw)
In-Reply-To: <20210404182044.9918-1-rdunlap@infradead.org>
On 4/4/21 11:20 AM, Randy Dunlap wrote:
> Fix many build errors (at least 18 build error reports) for uml on i386
> by adding 2 more library object files. All missing symbols are
> either cmpxchg8b_emu or atomic*386.
>
> Here are a few examples of the build errors that are eliminated:
>
> /usr/bin/ld: core.c:(.text+0xd83): undefined reference to `cmpxchg8b_emu'
> /usr/bin/ld: core.c:(.text+0x2bb2): undefined reference to `atomic64_add_386'
> /usr/bin/ld: core.c:(.text+0x2c5d): undefined reference to `atomic64_xchg_386'
> syscall.c:(.text+0x2f49): undefined reference to `atomic64_set_386'
> /usr/bin/ld: syscall.c:(.text+0x2f54): undefined reference to `atomic64_set_386'
> syscall.c:(.text+0x33a4): undefined reference to `atomic64_inc_386'
> /usr/bin/ld: syscall.c:(.text+0x33ac): undefined reference to `atomic64_inc_386'
> /usr/bin/ld: net/ipv4/inet_timewait_sock.o: in function `inet_twsk_alloc':
> inet_timewait_sock.c:(.text+0x3d1): undefined reference to `atomic64_read_386'
> /usr/bin/ld: inet_timewait_sock.c:(.text+0x3dd): undefined reference to `atomic64_set_386'
> /usr/bin/ld: net/ipv4/inet_connection_sock.o: in function `inet_csk_clone_lock':
> inet_connection_sock.c:(.text+0x1d74): undefined reference to `atomic64_read_386'
> /usr/bin/ld: inet_connection_sock.c:(.text+0x1d80): undefined reference to `atomic64_set_386'
> /usr/bin/ld: net/ipv4/tcp_input.o: in function `inet_reqsk_alloc':
> tcp_input.c:(.text+0xa345): undefined reference to `atomic64_set_386'
> /usr/bin/ld: net/mac80211/wpa.o: in function `ieee80211_crypto_tkip_encrypt':
> wpa.c:(.text+0x739): undefined reference to `atomic64_inc_return_386'
>
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Brendan Jackman <jackmanb@google.com>
> Cc: Alexei Starovoitov <ast@kernel.org>
> Cc: kbuild-all@lists.01.org
> Cc: Jeff Dike <jdike@addtoit.com>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: linux-um@lists.infradead.org
> Cc: Johannes Berg <johannes@sipsolutions.net>
> Cc: Johannes Berg <johannes.berg@intel.com>
> ---
> My UML on i386 build environment is br0ken so this is not tested other
> than to see that the .o files are built as expected.
> If someone can test/verify it, please respond. Thanks.
Hi,
Instead of trying to build this on x86_64, I powered up my 32-bit x86
laptop and verified that this patch fixes the build errors of
undefined references to cmpxchg8b_emu() and atomic64_*_386() functions.
There are still some build errors in 2 object files:
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x8): undefined reference to `X86_FEATURE_XMM2'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x15): undefined reference to `X86_FEATURE_XMM2'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x22): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x2f): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x3c): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x49): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x56): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: kernel/irq/generic-chip.o:(.altinstructions+0x63): more undefined references to `X86_FEATURE_XMM' follow
and
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x8): undefined reference to `X86_FEATURE_XMM2'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x15): undefined reference to `X86_FEATURE_XMM2'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x22): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x2f): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x3c): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x49): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x56): undefined reference to `X86_FEATURE_XMM'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x63): undefined reference to `X86_FEATURE_XMM2'
/usr/lib/gcc/i586-suse-linux/10/../../../../i586-suse-linux/bin/ld: drivers/fpga/altera-pr-ip-core.o:(.altinstructions+0x70): undefined reference to `X86_FEATURE_XMM2'
I don't know what to do about these or what is causing them (other than
"alternatives").
> arch/x86/um/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> --- lnx-512-rc5.orig/arch/x86/um/Makefile
> +++ lnx-512-rc5/arch/x86/um/Makefile
> @@ -21,6 +21,7 @@ obj-y += checksum_32.o syscalls_32.o
> obj-$(CONFIG_ELF_CORE) += elfcore.o
>
> subarch-y = ../lib/string_32.o ../lib/atomic64_32.o ../lib/atomic64_cx8_32.o
> +subarch-y += ../lib/cmpxchg8b_emu.o ../lib/atomic64_386_32.o
> subarch-y += ../kernel/sys_ia32.o
>
> else
>
--
~Randy
next prev parent reply other threads:[~2021-04-10 4:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-04 18:20 Randy Dunlap
2021-04-10 4:13 ` Randy Dunlap [this message]
2021-04-10 5:28 ` Anton Ivanov
2021-05-12 1:56 ` Randy Dunlap
2021-05-12 7:46 ` Anton Ivanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9f7eeb70-8ddc-fb04-a378-5f1e80d485e6@infradead.org \
--to=rdunlap@infradead.org \
--cc=anton.ivanov@cambridgegreys.com \
--cc=ast@kernel.org \
--cc=jackmanb@google.com \
--cc=jdike@addtoit.com \
--cc=johannes.berg@intel.com \
--cc=johannes@sipsolutions.net \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=lkp@intel.com \
--cc=richard@nod.at \
--subject='Re: [PATCH] um: add 2 missing libs to fix various build errors' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).