[WebAssembly] Reorder reloc sections to come between symtab and name

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
This commit is contained in:
Nicholas Wilson 2018-03-05 12:59:03 +00:00
parent 94d3b16101
commit c22bfb6b4b
6 changed files with 8 additions and 8 deletions

View File

@ -1307,9 +1307,9 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
writeElemSection(TableElems); writeElemSection(TableElems);
writeCodeSection(Asm, Layout, Functions); writeCodeSection(Asm, Layout, Functions);
writeDataSection(); writeDataSection();
writeLinkingMetaDataSection(SymbolInfos, InitFuncs, Comdats);
writeCodeRelocSection(); writeCodeRelocSection();
writeDataRelocSection(); writeDataRelocSection();
writeLinkingMetaDataSection(SymbolInfos, InitFuncs, Comdats);
// TODO: Translate the .comment section to the output. // TODO: Translate the .comment section to the output.
// TODO: Translate debug sections to the output. // TODO: Translate debug sections to the output.

View File

@ -7,8 +7,8 @@
# CHECK-NEXT: 2 FUNCTION 00000002 0000000000000000 # CHECK-NEXT: 2 FUNCTION 00000002 0000000000000000
# CHECK-NEXT: 3 CODE 00000019 0000000000000000 TEXT # CHECK-NEXT: 3 CODE 00000019 0000000000000000 TEXT
# CHECK-NEXT: 4 DATA 0000001c 0000000000000000 DATA # CHECK-NEXT: 4 DATA 0000001c 0000000000000000 DATA
# CHECK-NEXT: 5 reloc.CODE 00000017 0000000000000000 # CHECK-NEXT: 5 linking 00000055 0000000000000000
# CHECK-NEXT: 6 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 # RUN: llvm-objdump -p %p/Inputs/trivial.obj.wasm | FileCheck %s -check-prefix CHECK-HEADER

View File

@ -528,14 +528,14 @@ WASM-NEXT: ]
WASM-NEXT: } WASM-NEXT: }
WASM-NEXT: Section { WASM-NEXT: Section {
WASM-NEXT: Type: CUSTOM (0x0) WASM-NEXT: Type: CUSTOM (0x0)
WASM-NEXT: Size: 23 WASM-NEXT: Size: 65
WASM-NEXT: Offset: 191 WASM-NEXT: Offset: 191
WASM-NEXT: Name: reloc.CODE WASM-NEXT: Name: linking
WASM-NEXT: } WASM-NEXT: }
WASM-NEXT: Section { WASM-NEXT: Section {
WASM-NEXT: Type: CUSTOM (0x0) WASM-NEXT: Type: CUSTOM (0x0)
WASM-NEXT: Size: 65 WASM-NEXT: Size: 23
WASM-NEXT: Offset: 220 WASM-NEXT: Offset: 262
WASM-NEXT: Name: linking WASM-NEXT: Name: reloc.CODE
WASM-NEXT: } WASM-NEXT: }
WASM-NEXT: ] WASM-NEXT: ]