Skip to content

Commit

Permalink
[WebAssembly] Reorder reloc sections to come between symtab and name
Browse files Browse the repository at this point in the history
This is required in order to enable relocs to be validated
as they are read in.

Also update tests with new section ordering.

Differential Revision: https://reviews.llvm.org/D43940

llvm-svn: 326694
NWilson committed Mar 5, 2018
1 parent 94d3b16 commit c22bfb6
Showing 6 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion llvm/lib/MC/WasmObjectWriter.cpp
Original file line number Diff line number Diff line change
@@ -1307,9 +1307,9 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
writeElemSection(TableElems);
writeCodeSection(Asm, Layout, Functions);
writeDataSection();
writeLinkingMetaDataSection(SymbolInfos, InitFuncs, Comdats);
writeCodeRelocSection();
writeDataRelocSection();
writeLinkingMetaDataSection(SymbolInfos, InitFuncs, Comdats);

// TODO: Translate the .comment section to the output.
// TODO: Translate debug sections to the output.
Binary file modified llvm/test/Object/Inputs/trivial-object-test.wasm
Binary file not shown.
Binary file modified llvm/test/tools/llvm-objdump/Inputs/trivial.obj.wasm
Binary file not shown.
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-objdump/wasm.txt
Original file line number Diff line number Diff line change
@@ -7,8 +7,8 @@
# CHECK-NEXT: 2 FUNCTION 00000002 0000000000000000
# CHECK-NEXT: 3 CODE 00000019 0000000000000000 TEXT
# CHECK-NEXT: 4 DATA 0000001c 0000000000000000 DATA
# CHECK-NEXT: 5 reloc.CODE 00000017 0000000000000000
# CHECK-NEXT: 6 linking 00000055 0000000000000000
# CHECK-NEXT: 5 linking 00000055 0000000000000000
# CHECK-NEXT: 6 reloc.CODE 00000017 0000000000000000

# RUN: llvm-objdump -p %p/Inputs/trivial.obj.wasm | FileCheck %s -check-prefix CHECK-HEADER

Binary file modified llvm/test/tools/llvm-readobj/Inputs/trivial.obj.wasm
Binary file not shown.
10 changes: 5 additions & 5 deletions llvm/test/tools/llvm-readobj/sections.test
Original file line number Diff line number Diff line change
@@ -528,14 +528,14 @@ WASM-NEXT: ]
WASM-NEXT: }
WASM-NEXT: Section {
WASM-NEXT: Type: CUSTOM (0x0)
WASM-NEXT: Size: 23
WASM-NEXT: Size: 65
WASM-NEXT: Offset: 191
WASM-NEXT: Name: reloc.CODE
WASM-NEXT: Name: linking
WASM-NEXT: }
WASM-NEXT: Section {
WASM-NEXT: Type: CUSTOM (0x0)
WASM-NEXT: Size: 65
WASM-NEXT: Offset: 220
WASM-NEXT: Name: linking
WASM-NEXT: Size: 23
WASM-NEXT: Offset: 262
WASM-NEXT: Name: reloc.CODE
WASM-NEXT: }
WASM-NEXT: ]

0 comments on commit c22bfb6

Please sign in to comment.