lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 9 Apr 2021 21:13:42 -0700
From:   Randy Dunlap <rdunlap@...radead.org>
To:     linux-kernel@...r.kernel.org
Cc:     kernel test robot <lkp@...el.com>,
        Brendan Jackman <jackmanb@...gle.com>,
        Alexei Starovoitov <ast@...nel.org>, kbuild-all@...ts.01.org,
        Jeff Dike <jdike@...toit.com>,
        Richard Weinberger <richard@....at>,
        Anton Ivanov <anton.ivanov@...bridgegreys.com>,
        linux-um@...ts.infradead.org,
        Johannes Berg <johannes@...solutions.net>,
        Johannes Berg <johannes.berg@...el.com>
Subject: Re: [PATCH] um: add 2 missing libs to fix various build errors

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@...radead.org>
> Reported-by: kernel test robot <lkp@...el.com>
> Cc: Brendan Jackman <jackmanb@...gle.com>
> Cc: Alexei Starovoitov <ast@...nel.org>
> Cc: kbuild-all@...ts.01.org
> Cc: Jeff Dike <jdike@...toit.com>
> Cc: Richard Weinberger <richard@....at>
> Cc: Anton Ivanov <anton.ivanov@...bridgegreys.com>
> Cc: linux-um@...ts.infradead.org
> Cc: Johannes Berg <johannes@...solutions.net>
> Cc: Johannes Berg <johannes.berg@...el.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ