Index: llvm/trunk/lib/Object/WasmObjectFile.cpp =================================================================== --- llvm/trunk/lib/Object/WasmObjectFile.cpp +++ llvm/trunk/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: llvm/trunk/lib/ObjectYAML/WasmYAML.cpp =================================================================== --- llvm/trunk/lib/ObjectYAML/WasmYAML.cpp +++ llvm/trunk/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: llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml =================================================================== --- llvm/trunk/test/ObjectYAML/wasm/elem_section.yaml +++ llvm/trunk/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: ...