Skip to content

Commit 554a2fa

Browse files
authored
[WebAssembly] Fix element segments in wasm64 object files (#94617)
Followup to #94487
1 parent 84b0266 commit 554a2fa

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

llvm/lib/MC/WasmObjectWriter.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,8 @@ void WasmObjectWriter::writeElemSection(
10221022
encodeULEB128(TableNumber, W->OS); // the table number
10231023

10241024
// init expr for starting offset
1025-
W->OS << char(wasm::WASM_OPCODE_I32_CONST);
1025+
W->OS << char(is64Bit() ? wasm::WASM_OPCODE_I64_CONST
1026+
: wasm::WASM_OPCODE_I32_CONST);
10261027
encodeSLEB128(InitialTableOffset, W->OS);
10271028
W->OS << char(wasm::WASM_OPCODE_END);
10281029

llvm/test/MC/WebAssembly/reloc-pic64.s

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ hidden_func:
110110
# CHECK-NEXT: - Type: ELEM
111111
# CHECK-NEXT: Segments:
112112
# CHECK-NEXT: Offset:
113-
# CHECK-NEXT: Opcode: I32_CONST
113+
# CHECK-NEXT: Opcode: I64_CONST
114114
# CHECK-NEXT: Value: 1
115115
# CHECK-NEXT: Functions: [ 5 ]
116116
# CHECK-NEXT: - Type: DATACOUNT

0 commit comments

Comments
 (0)