Closed Bug 1530448 Opened 6 years ago Closed 6 years ago

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

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: emilio, Unassigned)

References

()

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).

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
Blocks: 1528648
Depends on: 1531986
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: 6 years ago
Depends on: 1533010
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.