Index: lib/Object/WasmObjectFile.cpp =================================================================== --- lib/Object/WasmObjectFile.cpp +++ lib/Object/WasmObjectFile.cpp @@ -144,7 +144,7 @@ Expr.Value.Float64 = readFloat64(Ptr); break; case wasm::WASM_OPCODE_GET_GLOBAL: - Expr.Value.Global = readUint32(Ptr); + Expr.Value.Global = readULEB128(Ptr); break; default: return make_error("Invalid opcode in init_expr", Index: lib/ObjectYAML/WasmYAML.cpp =================================================================== --- lib/ObjectYAML/WasmYAML.cpp +++ lib/ObjectYAML/WasmYAML.cpp @@ -294,6 +294,9 @@ case wasm::WASM_OPCODE_F64_CONST: IO.mapRequired("Value", Expr.Value.Float64); break; + case wasm::WASM_OPCODE_GET_GLOBAL: + IO.mapRequired("Index", Expr.Value.Global); + break; } } Index: test/ObjectYAML/wasm/elem_section.yaml =================================================================== --- test/ObjectYAML/wasm/elem_section.yaml +++ test/ObjectYAML/wasm/elem_section.yaml @@ -18,8 +18,8 @@ Functions: - 1 - Offset: - Opcode: I32_CONST - Value: 5 + Opcode: GET_GLOBAL + Index: 1 Functions: - 4 ... @@ -34,7 +34,7 @@ # CHECK: Value: 3 # CHECK: Functions: [ 1 ] # CHECK: - Offset: -# CHECK: Opcode: I32_CONST -# CHECK: Value: 5 +# CHECK: Opcode: GET_GLOBAL +# CHECK: Index: 1 # CHECK: Functions: [ 4 ] # CHECK: ...