Skip to content

__sync_val_compare_and_swap_ linker error #58500

Closed
@lights0123

Description

@lights0123

nightly-2019-02-06 does not cause this error, but one revision later, nightly-2019-02-07, does. I'm targeting an embedded device that uses newlib and a custom gcc build. However, February 2nd, 2019's build of nightly Rust causes a link-time error, referring to __sync_val_compare_and_swap_1, __sync_val_compare_and_swap_2, and __sync_val_compare_and_swap_4. No atomic types are being used by my project. This seems similar to #56798.

Here's my custom target.json, and a log of the error:

error: linking with `nspire-gcc` failed: exit code: 1
  |
  = note: "nspire-gcc" "-L" "/home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.106gzic61cjkgqlp.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1256m1ff2vnvs2ol.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.132x4qe5hnk2pao4.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.17ql1tmsq2sdjo29.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1brbjkkjh6m7zqb4.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1nf3xvwrin6l23wj.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1qyuts48pmbnmbxn.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1rqn7jvzfiz714rg.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.1tojkli85puhoiat.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.208shlkxhdb3o79p.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.23d3ikab6hy12qxn.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.27wiy15gic05eepn.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.287yolbeazcivsey.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2az4oro1w8050jw7.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2fk4eg0d4u3aqgb3.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2gqzbm4yu0y61stz.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2lhj4dz48fz3rsao.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2q357qg40ikg5yzl.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2tn5jqobibct7dae.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.2vs7yb1bsuliqotr.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.373l6kebgkoh5bqv.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.3hc2jzy2fujzimsg.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.3opz8ssjooq2n2jc.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.3zm4roez5gafffjn.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n_periodic-091ad608a3fb4aed.496swhrgphpf8icu.rcgu.o" "/home/username/Documents/Projects/Calculator/n-periodic/target/armv5te-nspire-eabi/debug/deps/n
  = note: arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicBool as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN67_$LT$core..sync..atomic..AtomicBool$u20$as$u20$core..fmt..Debug$GT$3fmt17h2409f700d8cc79f4E+0x10): undefined reference to `__sync_val_compare_and_swap_1'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicI8 as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN65_$LT$core..sync..atomic..AtomicI8$u20$as$u20$core..fmt..Debug$GT$3fmt17ha561321bae6b6b2bE+0x18): undefined reference to `__sync_val_compare_and_swap_1'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicU8 as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN65_$LT$core..sync..atomic..AtomicU8$u20$as$u20$core..fmt..Debug$GT$3fmt17hf52d3dfa9ec687daE+0x18): undefined reference to `__sync_val_compare_and_swap_1'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicI16 as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN66_$LT$core..sync..atomic..AtomicI16$u20$as$u20$core..fmt..Debug$GT$3fmt17h105deeed344b8d2eE+0x18): undefined reference to `__sync_val_compare_and_swap_2'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicU16 as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN66_$LT$core..sync..atomic..AtomicU16$u20$as$u20$core..fmt..Debug$GT$3fmt17hdb14784a9235bd9bE+0x18): undefined reference to `__sync_val_compare_and_swap_2'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicIsize as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN66_$LT$core..sync..atomic..AtomicI32$u20$as$u20$core..fmt..Debug$GT$3fmt17hc7b07211c37c1defE+0x18): undefined reference to `__sync_val_compare_and_swap_4'
          arm-none-eabi-ld: /home/username/Documents/Projects/Calculator/n-periodic/target/sysroot/lib/rustlib/armv5te-nspire-eabi/lib/libcore-eb37d88bc53bf3ca.rlib(core-eb37d88bc53bf3ca.core.85mjtqkh-cgu.10.rcgu.o): in function `<core::sync::atomic::AtomicUsize as core::fmt::Debug>::fmt':
          core.85mjtqkh-cgu.10:(.text._ZN66_$LT$core..sync..atomic..AtomicU32$u20$as$u20$core..fmt..Debug$GT$3fmt17h2ba30e716d00887fE+0x18): undefined reference to `__sync_val_compare_and_swap_4'
          collect2: error: ld returned 1 exit status

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-linkageArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.O-ArmTarget: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 stateP-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions