diff --git a/llvm/lib/Object/WasmObjectFile.cpp b/llvm/lib/Object/WasmObjectFile.cpp --- a/llvm/lib/Object/WasmObjectFile.cpp +++ b/llvm/lib/Object/WasmObjectFile.cpp @@ -286,9 +286,9 @@ return; } - WasmSection Sec; WasmSectionOrderChecker Checker; while (Ctx.Ptr < Ctx.End) { + WasmSection Sec; if ((Err = readSection(Sec, Ctx, Checker))) return; if ((Err = parseSection(Sec))) diff --git a/llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test b/llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test --- a/llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test +++ b/llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test @@ -1,32 +1,36 @@ ## Test --only-section. # RUN: yaml2obj %s -o %t -# RUN: llvm-objcopy --only-section=producers %t %t2 +# RUN: llvm-objcopy --only-section=foo %t %t2 # RUN: obj2yaml %t2 | FileCheck --implicit-check-not TYPE --implicit-check-not linking %s ## Test that it's the same with only-section + keep-section (for the same section). -# RUN: llvm-objcopy --only-section=producers --keep-section=producers %t %t2 +# RUN: llvm-objcopy --only-section=foo --keep-section=foo %t %t2 # RUN: obj2yaml %t2 | FileCheck --implicit-check-not TYPE --implicit-check-not linking %s ## Also test that only-section overrides remove-section. -# RUN: llvm-objcopy --only-section=producers --remove-section=producers %t %t2 +# RUN: llvm-objcopy --only-section=foo --remove-section=foo %t %t2 # RUN: obj2yaml %t2 | FileCheck --implicit-check-not linking %s -## This file has both known and custom sections. Check that only the producers section is left. +## This file has both known and custom sections. Check that only the foo section is left. # CHECK: Sections: # CHECK-NEXT: - Type: CUSTOM -# CHECK-NEXT: Name: producers -# CHECK-NEXT: Tools: +# CHECK-NEXT: Name: foo +# CHECK-NEXT: Payload: DEADBEEF +# CHECK-NEXT: ... ## Test that only-section + keep-section keeps both sections. -# RUN: llvm-objcopy --only-section=producers --keep-section=linking %t %t2 +# RUN: llvm-objcopy --only-section=foo --keep-section=linking %t %t2 # RUN: obj2yaml %t2 | FileCheck --implicit-check-not=TYPE --check-prefix=KEEP %s +# KEEP: Name: foo # KEEP: Name: linking -# KEEP: Name: producers --- !WASM FileHeader: Version: 0x00000001 Sections: + - Type: CUSTOM + Name: foo + Payload: DEADBEEF - Type: TYPE Signatures: - Index: 0 @@ -37,8 +41,3 @@ - Type: CUSTOM Name: linking Version: 2 - - Type: CUSTOM - Name: producers - Tools: - - Name: clang - Version: 9.0.0