Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On macOS rust-lld fails for aarch64-unknown-none target #53940

Closed
ncihnegn opened this issue Sep 4, 2018 · 1 comment
Closed

On macOS rust-lld fails for aarch64-unknown-none target #53940

ncihnegn opened this issue Sep 4, 2018 · 1 comment

Comments

@ncihnegn
Copy link

ncihnegn commented Sep 4, 2018

To reproduce:

git clone https:/andre-richter/rust-raspi3-tutorial
cd rust-raspi3-tutorial/01_bareminimum
make

Compiling kernel8 v0.1.0 (file:///Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum)
Running rustc --crate-name kernel8 src/main.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C metadata=856c7337adaf6150 -C extra-filename=-856c7337adaf6150 --out-dir /Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps --target aarch64-unknown-none -L dependency=/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps -L dependency=/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/release/deps --extern panic_abort=/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps/libpanic_abort-d8d8752c0588d4de.rlib -C link-arg=-Tlink.ld -C target-feature=-fp-armv8 -C target-cpu=cortex-a53 --sysroot /Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/../xbuild_sysroot
error: linking with rust-lld failed: signal: 6
|
= note: "rust-lld" "-flavor" "gnu" "-L" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/../xbuild_sysroot/lib/rustlib/aarch64-unknown-none/lib" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps/kernel8-856c7337adaf6150.kernel8.bsr98c9g-cgu.0.rcgu.o" "-o" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps/kernel8-856c7337adaf6150" "--gc-sections" "-no-pie" "-O1" "-L" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps" "-L" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/release/deps" "-L" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/../xbuild_sysroot/lib/rustlib/aarch64-unknown-none/lib" "--start-group" "-Bstatic" "/Users//Projects/rust/rust-raspi3-tutorial/01_bareminimum/target/aarch64-unknown-none/release/deps/libpanic_abort-d8d8752c0588d4de.rlib" "/Users//Projects/rust/rust-raspi3-tutorial/xbuild_sysroot/lib/rustlib/aarch64-unknown-none/lib/libcore-8dba9ab814d18195.rlib" "--end-group" "/Users//Projects/rust/rust-raspi3-tutorial/xbuild_sysroot/lib/rustlib/aarch64-unknown-none/lib/libcompiler_builtins-1f5a0835bd5086bd.rlib" "-Tlink.ld" "-Bdynamic"
= note: rust-lld(15355,0x7fffa2cd2380) malloc: *** mach_vm_map(size=18446462616956137472) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc

Backtrace:

(lldb) bt

  • thread Thread a session or semantic context through IL #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    • frame #0: 0x00007fff6a30eb66 libsystem_kernel.dylib__pthread_kill + 10 frame #1: 0x00007fff6a4d9080 libsystem_pthread.dylibpthread_kill + 333
      frame bind's glue function should tail-call its target  #2: 0x00007fff6a26a1ae libsystem_c.dylibabort + 127 frame #3: 0x00007fff68164f8f libc++abi.dylibabort_message + 245
      frame add an IL type checker #4: 0x00007fff68165113 libc++abi.dylibdefault_terminate_handler() + 241 frame #5: 0x00007fff695a6eab libobjc.A.dylib_objc_terminate() + 105
      frame implement lambda blocks #6: 0x00007fff681807c9 libc++abi.dylibstd::__terminate(void (*)()) + 8 frame #7: 0x00007fff6818026f libc++abi.dylib__cxa_throw + 121
      frame Complete name-mangling rules for linkage #8: 0x0000000100517028 libLLVM.dylibllvm::report_bad_alloc_error(char const*, bool) + 108 frame #9: 0x0000000100529320 libLLVM.dylibllvm::SmallVectorBase::grow_pod(void*, unsigned long, unsigned long) + 124
      frame libuv bindings in stdlib #10: 0x000000010027b8e3 rust-lld_GLOBAL__sub_I_TargetOptionsCommandFlags.cpp + 4915 frame #11: 0x0000000100440ac6 dyldImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 420
      frame Add fast path to bypass upcall_require on crate cache hit. #12: 0x0000000100440cf6 dyldImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40 frame #13: 0x000000010043c218 dyldImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 330
      frame 595 #14: 0x000000010043b34e dyldImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134 frame #15: 0x000000010043b3e2 dyldImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 74
      frame Classify spill / vreg address roles #16: 0x000000010042c567 dylddyld::initializeMainExecutable() + 196 frame #17: 0x0000000100431239 dylddyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 7242
      frame communication-alt statements #18: 0x000000010042b3d4 dylddyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 453 frame #19: 0x000000010042b1d2 dyld_dyld_start + 54
      (lldb)
@ncihnegn
Copy link
Author

ncihnegn commented Sep 8, 2018

Fixed on nightly-2018-09-07.

@ncihnegn ncihnegn closed this as completed Sep 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant