Skip to content

Some mixes of Rust with C/C++ are broken for arm64 mac and windows #92885

Closed
@glandium

Description

After #88354, Firefox builds fail with e.g:

LLVM ERROR: Function Import: link error: linking module flags 'branch-target-enforcement': IDs have conflicting behaviors in '/builds/worker/workspace/obj-build/aarch64-pc-windows-msvc/release/gkrust_gtest.libnsstring-be03ad04cbf7bb1a.nsstring.ce1e3b11-cgu.0.rcgu.o571656940' and '../../../dom/media/webrtc/jsapi/Unified_cpp_media_webrtc_jsapi0.obj'

This happens when targeting arm64 macos or arm64 windows.

Not only did the default change and now diverges from clang (causing the above error when mixing objects from clang and rust), but it's also apparently not possible to disable the feature.

Note this also now reached beta.

Cc: @jacobbramley, @Jmc18134, @nagisa

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions