LLVM ERROR: SEH unwind data splitting not yet implemented on aarch64

RESOLVED FIXED

Status

defect
RESOLVED FIXED
4 months ago
3 months ago

People

(Reporter: emilio, Unassigned)

Tracking

Trunk
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

()

No description provided.

From bug 1530098 comment #4:

We dealt with this issue before for C++, but this is the first time it's
come up in Rust. It sounds like rustc's copy of LLVM will need to merge
https://bugs.llvm.org/show_bug.cgi?id=40311.

Though I'm kind of surprised that rustc is doing SEH stuff on
aarch64-windows, as that too was only recently implemented in LLVM, not long
before the bugfix above. What revision of LLVM does rustc use? I wonder if
there are more patches from around that time that they'd want to merge.

Do we know what kind of things will trigger this issue? Is it just random crate update attempts will start running into this bug based on code they contain?

(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)

Do we know what kind of things will trigger this issue? Is it just random
crate update attempts will start running into this bug based on code they
contain?

At this point, yes, that's about all we know.

Here's the change that did it: https://github.com/rust-lang/rust/commit/7be0b23b691479236580ce4b601f84da2bfe9e94

This brought into rust an incomplete SEH implementation for aarch64-windows.

But apparently https://github.com/rust-lang/rust/commit/df0466d0bb807a7266cc8ac9931cd43b3e84b62e then switched LLVM from trunk onto the 8.0 release branch.

https://bugs.llvm.org/show_bug.cgi?id=40311 (along with other SEH fixes) was backported to the 8.0 release branch after that.

This suggests that the best course of action is to get rust to update their llvm-project tree to latest 8.0 release candidate (and, while you're at it, make a followup to get the official 8.0 release when available).

Reporter

Comment 5

4 months ago

Just in case people aren't following the URL I linked from the bug, https://github.com/rust-lang/rust/pull/58408 is the Rust PR that will include the LLVM fixes.

Thanks Emilio! Glad to see it's already in progress.

Is it possible to disable SEH?

If we update our rust it will also fix https://bugzilla.mozilla.org/show_bug.cgi?id=1526443#c8.

Blocks: 1509466
Comment hidden (obsolete)
Comment hidden (obsolete)
Blocks: 1528648
Reporter

Updated

4 months ago
Depends on: 1531986
Reporter

Updated

3 months ago
Blocks: 1513173

This issue is resolved now that bug 1533010 is on m-c. Anyone who was blocked by this, feel free to re-land.

Status: NEW → RESOLVED
Closed: 3 months ago
Depends on: 1533010
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.