Skip to content

wasm32v1-none still creates incorrect object files #145491

@StackOverflowExcept1on

Description

@StackOverflowExcept1on

@alexcrichton

I thought this had been fixed in #145275. But it seems that the problem still exists.

foo.rs

#![no_core]
#![crate_type = "cdylib"]
#![feature(no_core)]
rustc +nightly-2025-08-16 foo.rs --target wasm32v1-none -C linker-plugin-lto=on && wasm-dis foo.wasm
(module $foo.wasm
 (import "env" "memory" (memory $mimport$0 16))
 (global $__stack_pointer (mut i32) (i32.const 1048576))
 (global $global$1 i32 (i32.const 1048576))
 (global $global$2 i32 (i32.const 1048576))
 (export "__data_end" (global $global$1))
 (export "__heap_base" (global $global$2))
 ;; custom section "producers", size 59
 ;; features section: mutable-globals, nontrapping-float-to-int, bulk-memory, sign-ext, reference-types, multivalue
)

target_features should not have anything other than mutable-globals: https://doc.rust-lang.org/rustc/platform-support/wasm32v1-none.html#enabled-webassembly-features

Meta

rustc +nightly-2025-08-16 --version --verbose:

rustc 1.91.0-nightly (cd7cbe818 2025-08-15)
binary: rustc
commit-hash: cd7cbe818e4a66d46fe2df993d1b8518eba8a5cd
commit-date: 2025-08-15
host: x86_64-unknown-linux-gnu
release: 1.91.0-nightly
LLVM version: 21.1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.O-wasmTarget: WASM (WebAssembly), http://webassembly.org/T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions