Amanieu / corosensei

A fast and safe implementation of stackful coroutines in Rust
Apache License 2.0
178 stars 13 forks source link

error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs #23

Closed ForsakenHarmony closed 6 months ago

ForsakenHarmony commented 7 months ago

GitHub Actions run: https://github.com/vercel/turbo/actions/runs/7961098095/job/21731648141?pr=7409#step:11:1401 Toolchain: nightly-2024-02-16-x86_64-apple-darwin

 error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs
   |
note: instantiated into assembly here
  --> <inline asm>:45:1
   |
45 | _stack_init_trampoline_return:
   | ^

error: previous .cfi_startproc was here
   |
note: instantiated into assembly here
  --> <inline asm>:27:1
   |
27 | .cfi_startproc
   | ^

May be related to https://github.com/llvm/llvm-project/issues/72802 https://github.com/libffi/libffi/issues/807 https://reviews.llvm.org/D155245#4657083

Amanieu commented 7 months ago

I think this is an LLVM bug (rust nightly recently upgraded to LLVM 18): https://github.com/llvm/llvm-project/issues/82261

eigmax commented 7 months ago

Any possible fix/updates for this?

Amanieu commented 7 months ago

This is fixed in LLVM main and is currently being backported to the 18.x branch in https://github.com/llvm/llvm-project/pull/83336. Once that is merged this will need to be cherry-picked into rustc's fork of LLVM. See https://github.com/rust-lang/llvm-project/pull/168.

ForsakenHarmony commented 6 months ago

Just needs to be merged into rust now: https://github.com/rust-lang/rust/pull/122559

ForsakenHarmony commented 6 months ago

Fixed in the latest rust nightly