-
Notifications
You must be signed in to change notification settings - Fork 234
libcompiler_builtins.rlib for armv7-linux-androideabi
includes multiple definitions of __sync_fetch_and_add_4
#449
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
The comment above this
On https://doc.rust-lang.org/nightly/rustc/platform-support.html, the definition of |
The change in 186517b was intended to affect only arm-linux-androideabi but also affected `armv7-linux-androideabi` which is not a pre-ARMv6 architecture. Fixes rust-lang#449
The change in 186517b was intended to affect only `arm-linux-androideabi` but also affected `armv7-linux-androideabi` which is not a pre-ARMv6 architecture. Fixes rust-lang#449
I already published 0.1.67 with this change. |
Update compiler_builtins to fix duplicate symbols in `armv7-linux-androideabi` rlib I ran `./x.py dist --host= --target=armv7-linux-androideabi` before this diff: ``` $ nm build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/armv7-linux-androideabi/lib/libcompiler_builtins-3d9661a82c59c66a.rlib 2> /dev/null | grep __sync_fetch_and_add_4 | wc -l 2 ``` And after: ``` $ nm build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/armv7-linux-androideabi/lib/libcompiler_builtins-ffd2745070943321.rlib 2> /dev/null | grep __sync_fetch_and_add_4 | wc -l 1 ``` Fixes rust-lang#93310 See also rust-lang/compiler-builtins#449 and rust-lang/compiler-builtins#450
Update compiler_builtins to fix duplicate symbols in `armv7-linux-androideabi` rlib I ran `./x.py dist --host= --target=armv7-linux-androideabi` before this diff: ``` $ nm build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/armv7-linux-androideabi/lib/libcompiler_builtins-3d9661a82c59c66a.rlib 2> /dev/null | grep __sync_fetch_and_add_4 | wc -l 2 ``` And after: ``` $ nm build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/armv7-linux-androideabi/lib/libcompiler_builtins-ffd2745070943321.rlib 2> /dev/null | grep __sync_fetch_and_add_4 | wc -l 1 ``` Fixes rust-lang#93310 See also rust-lang/compiler-builtins#449 and rust-lang/compiler-builtins#450
Seeing this bug on cd /home/buildroot/buildroot/output/build/bat-0.18.3 && PATH="/home/buildroot/buildroot/output/per-package/bat/host/bin:/home/buildroot/buildroot/output/per-package/bat/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PATH="/home/buildroot/buildroot/output/per-package/bat/host/bin:/home/buildroot/buildroot/output/per-package/bat/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gcc-ar" AS="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-as" LD="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-ld" NM="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gcc-nm" CC="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gcc" GCC="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gcc" CPP="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-cpp" CXX="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-g++" FC="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gfortran" F77="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gfortran" RANLIB="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-gcc-ranlib" READELF="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-readelf" STRIP="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-strip" OBJCOPY="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-objcopy" OBJDUMP="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/buildroot/buildroot/output/per-package/bat/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/bat/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/bat/host/include" LDFLAGS_FOR_BUILD="-L/home/buildroot/buildroot/output/per-package/bat/host/lib -Wl,-rpath,/home/buildroot/buildroot/output/per-package/bat/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-as" DEFAULT_LINKER="/home/buildroot/buildroot/output/per-package/bat/host/bin/arm-none-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1" CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -D_FORTIFY_SOURCE=1" LDFLAGS="" FCFLAGS=" -Os -g0" FFLAGS=" -Os -g0" PKG_CONFIG="/home/buildroot/buildroot/output/per-package/bat/host/bin/pkg-config" STAGING_DIR="/home/buildroot/buildroot/output/per-package/bat/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl CARGO_HOME=/home/buildroot/buildroot/output/per-package/bat/host/share/cargo __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" CARGO_TARGET_APPLIES_TO_HOST="false" CARGO_BUILD_TARGET="armv5te-unknown-linux-gnueabi" CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_LINKER=arm-none-linux-gnueabi-gcc cargo build --offline --release --manifest-path Cargo.toml --locked
Compiling libc v0.2.95
Compiling autocfg v1.0.1
Compiling proc-macro2 v1.0.26
Compiling unicode-xid v0.2.2
Compiling syn v1.0.72
Compiling pkg-config v0.3.19
Compiling bitflags v1.2.1
Compiling memchr v2.4.0
Compiling serde_derive v1.0.126
Compiling cfg-if v1.0.0
Compiling serde v1.0.126
Compiling lazy_static v1.4.0
Compiling encoding_index_tests v0.1.4
Compiling tinyvec_macros v0.1.0
Compiling log v0.4.14
Compiling proc-macro-hack v0.5.19
Compiling matches v0.1.8
Compiling regex-syntax v0.6.25
Compiling byteorder v1.4.3
Compiling crc32fast v1.2.1
Compiling ryu v1.0.5
Compiling unicode-width v0.1.8
Compiling serde_json v1.0.64
Compiling percent-encoding v2.1.0
Compiling fnv v1.0.7
Compiling vec_map v0.8.2
Compiling hashbrown v0.9.1
Compiling ansi_term v0.11.0
Compiling adler v1.0.2
Compiling strsim v0.8.0
Compiling linked-hash-map v0.5.4
Compiling same-file v1.0.6
Compiling ucd-trie v0.1.3
Compiling safemem v0.3.3
Compiling version_check v0.9.3
Compiling xml-rs v0.8.3
Compiling itoa v0.4.7
Compiling bugreport v0.4.1
Compiling base64 v0.13.0
Compiling termcolor v1.1.2
Compiling shell-escape v0.1.5
Compiling lazycell v1.3.0
Compiling std_prelude v0.2.12
Compiling dtoa v0.4.8
Compiling wild v2.0.4
Compiling shell-words v1.0.0
Compiling ansi_term v0.12.1
Compiling tinyvec v1.2.0
Compiling unicode-bidi v0.3.5
Compiling encoding-index-singlebyte v1.20141219.5
Compiling encoding-index-japanese v1.20141219.5
Compiling encoding-index-tradchinese v1.20141219.5
Compiling encoding-index-korean v1.20141219.5
Compiling encoding-index-simpchinese v1.20141219.5
Compiling line-wrap v0.1.1
Compiling walkdir v2.3.2
Compiling pest v2.1.3
Compiling form_urlencoded v1.0.1
Compiling regex-automata v0.1.9
Compiling path_abs v0.5.1
Compiling yaml-rust v0.4.5
Compiling num-traits v0.2.14
Compiling num-integer v0.1.44
Compiling miniz_oxide v0.4.4
Compiling indexmap v1.6.2
Compiling error-chain v0.12.4
Compiling encoding v0.2.33
Compiling aho-corasick v0.7.18
Compiling bstr v0.2.16
Compiling content_inspector v0.2.4
Compiling quote v1.0.9
Compiling unicode-normalization v0.1.17
Compiling semver-parser v0.10.2
Compiling semver v0.11.0
Compiling chrono v0.4.19
Compiling atty v0.2.14
Compiling term_size v0.3.2
Compiling flate2 v1.0.20
Compiling dirs-sys-next v0.1.2
Compiling terminal_size v0.1.16
Compiling textwrap v0.11.0
Compiling dirs-next v2.0.0
Compiling clap v2.33.3
Compiling jobserver v0.1.22
Compiling idna v0.2.3
Compiling regex v1.5.4
Compiling cc v1.0.67
Compiling url v2.2.2
Compiling libz-sys v1.1.3
Compiling onig_sys v69.6.0
Compiling sys-info v0.9.0
Compiling libgit2-sys v0.12.21+1.1.0
Compiling ansi_colours v1.0.4
Compiling globset v0.4.8
Compiling console v0.14.1
Compiling grep-cli v0.1.6
Compiling git-version-macro v0.3.4
Compiling onig v6.1.1
Compiling bat v0.18.3 (/home/buildroot/buildroot/output/build/bat-0.18.3)
Compiling git-version v0.3.4
Compiling git2 v0.13.20
Compiling bincode v1.3.3
Compiling plist v1.1.0
Compiling serde_yaml v0.8.17
Compiling clircle v0.3.0
Compiling syntect v4.5.0
error: linking with `arm-none-linux-gnueabi-gcc` failed: exit status: 1
|
= note: "arm-none-linux-gnueabi-gcc" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/deps/bat-4471b2a57bffe2f9.bat.163418b7-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/deps" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/release/deps" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/ansi_colours-decaa8786ef1e93b/out" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/sys-info-054f71f505bff363/out" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/libgit2-sys-8134ffc088f48930/out/build" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/libz-sys-cc637e64eac095d8/out/lib" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/libz-sys-cc637e64eac095d8/out/lib" "-L" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/build/onig_sys-95f6c166737927e5/out" "-L" "/home/buildroot/buildroot/output/per-package/bat/host/lib64/rustlib/armv5te-unknown-linux-gnueabi/lib" "-Wl,-Bstatic" "/tmp/rustceCyJcC/libsys_info-f4b8a5896d118176.rlib" "/tmp/rustceCyJcC/libansi_colours-11e556d34e4e4d91.rlib" "/tmp/rustceCyJcC/liblibgit2_sys-ea6e3bc9089d1a8a.rlib" "/tmp/rustceCyJcC/liblibz_sys-7272aef01f904e4e.rlib" "/tmp/rustceCyJcC/libonig_sys-0993d1993b1cbd53.rlib" "-Wl,--start-group" "-Wl,--end-group" "/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/buildroot/buildroot/output/per-package/bat/host/lib64/rustlib/armv5te-unknown-linux-gnueabi/lib" "-o" "/home/buildroot/buildroot/output/build/bat-0.18.3/target/armv5te-unknown-linux-gnueabi/release/deps/bat-4471b2a57bffe2f9" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
= note: /home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_add_4':
linux-atomic.c:(.text+0x0): multiple definition of `__sync_fetch_and_add_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_sub_4':
linux-atomic.c:(.text+0x38): multiple definition of `__sync_fetch_and_sub_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_or_4':
linux-atomic.c:(.text+0x70): multiple definition of `__sync_fetch_and_or_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_and_4':
linux-atomic.c:(.text+0xa8): multiple definition of `__sync_fetch_and_and_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_xor_4':
linux-atomic.c:(.text+0xe0): multiple definition of `__sync_fetch_and_xor_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_nand_4':
linux-atomic.c:(.text+0x118): multiple definition of `__sync_fetch_and_nand_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_add_2':
linux-atomic.c:(.text+0x154): multiple definition of `__sync_fetch_and_add_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_sub_2':
linux-atomic.c:(.text+0x1b8): multiple definition of `__sync_fetch_and_sub_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_or_2':
linux-atomic.c:(.text+0x21c): multiple definition of `__sync_fetch_and_or_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_and_2':
linux-atomic.c:(.text+0x280): multiple definition of `__sync_fetch_and_and_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_xor_2':
linux-atomic.c:(.text+0x2e4): multiple definition of `__sync_fetch_and_xor_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_nand_2':
linux-atomic.c:(.text+0x348): multiple definition of `__sync_fetch_and_nand_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_add_1':
linux-atomic.c:(.text+0x3b0): multiple definition of `__sync_fetch_and_add_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_sub_1':
linux-atomic.c:(.text+0x410): multiple definition of `__sync_fetch_and_sub_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_or_1':
linux-atomic.c:(.text+0x470): multiple definition of `__sync_fetch_and_or_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_and_1':
linux-atomic.c:(.text+0x4d0): multiple definition of `__sync_fetch_and_and_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_xor_1':
linux-atomic.c:(.text+0x530): multiple definition of `__sync_fetch_and_xor_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_fetch_and_nand_1':
linux-atomic.c:(.text+0x590): multiple definition of `__sync_fetch_and_nand_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_val_compare_and_swap_4':
linux-atomic.c:(.text+0xc48): multiple definition of `__sync_val_compare_and_swap_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:102: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_val_compare_and_swap_2':
linux-atomic.c:(.text+0xc94): multiple definition of `__sync_val_compare_and_swap_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:102: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_val_compare_and_swap_1':
linux-atomic.c:(.text+0xd14): multiple definition of `__sync_val_compare_and_swap_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:102: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_synchronize':
linux-atomic.c:(.text+0xdf4): multiple definition of `__sync_synchronize'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:209: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_lock_test_and_set_4':
linux-atomic.c:(.text+0xe08): multiple definition of `__sync_lock_test_and_set_4'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_lock_test_and_set_2':
linux-atomic.c:(.text+0xe40): multiple definition of `__sync_lock_test_and_set_2'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
/home/buildroot/buildroot/output/per-package/bat/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/libgcc.a(linux-atomic.o): In function `__sync_lock_test_and_set_1':
linux-atomic.c:(.text+0xea0): multiple definition of `__sync_lock_test_and_set_1'
/home/buildroot/buildroot/output/per-package/bat/host/lib/rustlib/armv5te-unknown-linux-gnueabi/lib/libcompiler_builtins-7c9e64595edaafe9.rlib(compiler_builtins-7c9e64595edaafe9.compiler_builtins.37b1fe12-cgu.100.rcgu.o):/cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.53/src/arm_linux.rs:94: first defined here
collect2: error: ld returned 1 exit status
error: could not compile `bat` due to previous error It appears this can be worked around with but that's not really a proper fix: diff --git a/package/pkg-cargo.mk b/package/pkg-cargo.mk
index e74a8358bc..dca2fdb8c1 100644
--- a/package/pkg-cargo.mk
+++ b/package/pkg-cargo.mk
@@ -44,7 +44,8 @@ PKG_CARGO_ENV = \
CARGO_UNSTABLE_TARGET_APPLIES_TO_HOST="true" \
CARGO_TARGET_APPLIES_TO_HOST="false" \
CARGO_BUILD_TARGET="$(RUSTC_TARGET_NAME)" \
- CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER=$(notdir $(TARGET_CROSS))gcc
+ CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER="$(notdir $(TARGET_CROSS))gcc" \
+ CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_RUSTFLAGS="-Clink-arg=-Wl,--allow-multiple-definition"
HOST_PKG_CARGO_ENV = \
$(PKG_COMMON_CARGO_ENV) |
@jameshilliard that looks potentially different. My symptom was duplicate symbols in the binary artifact distribution, but I only see 1 symbol for the ones where you are getting duplicate symbols during linking.
|
hmm, guess I'm getting a symbol conflict between compiler-builtins and the cross libgcc or something? |
Hopefully this should be fixed by #452 which will be included in rust-lang/rust#93696. Please try it in the next nightly once that is merged. |
The change in 186517b was intended to affect only `arm-linux-androideabi` but also affected `armv7-linux-androideabi` which is not a pre-ARMv6 architecture. Fixes rust-lang#449
Uh oh!
There was an error while loading. Please reload this page.
This may be related to #420 and #412, but this seems pretty straightforward. In investigating rust-lang/rust#93310 I determined it was a bug with compiler-builtins and root caused it to 186517b. By making a small change, I was able to compile a rust toolchain which did not have the duplicate symbols:
The change in 186517b seems intended to affect only
arm-linux-androideabi
by the comment, but it ended up affectingarmv7-linux-androideabi
. Anyway, it looks like after the changearm-linux-androideabi
properly only has the symbols once, butarmv7-linux-androideabi
is defining them twice:I'm not sure exactly how
x.py
ends up compiling compiler_builtins, since I was unable to reproduce the duplicate symbol issue in this repo alone (I triedcargo build --target armv7-linux-androideabi
). I think there must be additional features enabled that cause the duplication in the end.The text was updated successfully, but these errors were encountered: