Closed Bug 1634523 Opened 4 years ago Closed 4 years ago

Win32 cross builds fail with clang 10

Categories

(Firefox Build System :: Toolchains, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: away, Unassigned)

References

Details

Only on cross-compiled 32-bit Windows builds:

[task 2020-04-29T17:44:21.464Z] 17:44:21     INFO -       Running `/builds/worker/workspace/obj-build/release/build/osclientcerts-static-a635d25fcf6bc547/build-script-build`
[task 2020-04-29T17:44:21.465Z] 17:44:21    ERROR -  [osclientcerts-static 0.1.4] /builds/worker/checkouts/gecko/vs2017_15.8.4/SDK/include/10.0.17134.0/um/winnt.h:959:5: error: MS-style inline assembly is not available: Unable to find target for this triple (no targets are registered)

That error message comes from LLVM here. I believe this happens during cbindgen's processing of this code in osclientcerts. But I'm still trying to figure out what this error actually means...

Well, I've figured out why I couldn't reproduce this locally before. This only happens when clang is built with -DLLVM_LINK_LLVM_DYLIB=ON, which build-clang uses.

Is clang-10-with-dynamic-libraries not linking in the backends when bindgen calls it?

Priority: -- → P3

Fixed in LLVM trunk 02b303321d3 and has been merged to 10.0.1.

The fix for this is included in bug 1616692, I'll resolve when it's cleared.

We're skipping clang 10, and clang 11 will have this fix already in it. No special action needed.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.