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

Nicholas Wilson via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 5 04:59:04 PST 2018


Author: ncw
Date: Mon Mar  5 04:59:03 2018
New Revision: 326694

URL: http://llvm.org/viewvc/llvm-project?rev=326694&view=rev
Log:
[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

Modified:
    llvm/trunk/lib/MC/WasmObjectWriter.cpp
    llvm/trunk/test/Object/Inputs/trivial-object-test.wasm
    llvm/trunk/test/tools/llvm-objdump/Inputs/trivial.obj.wasm
    llvm/trunk/test/tools/llvm-objdump/wasm.txt
    llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.wasm
    llvm/trunk/test/tools/llvm-readobj/sections.test

Modified: llvm/trunk/lib/MC/WasmObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WasmObjectWriter.cpp?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
--- llvm/trunk/lib/MC/WasmObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/WasmObjectWriter.cpp Mon Mar  5 04:59:03 2018
@@ -1307,9 +1307,9 @@ void WasmObjectWriter::writeObject(MCAss
   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.

Modified: llvm/trunk/test/Object/Inputs/trivial-object-test.wasm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/trivial-object-test.wasm?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/trivial-object-test.wasm (original) and llvm/trunk/test/Object/Inputs/trivial-object-test.wasm Mon Mar  5 04:59:03 2018 differ

Modified: llvm/trunk/test/tools/llvm-objdump/Inputs/trivial.obj.wasm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/Inputs/trivial.obj.wasm?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
Binary files llvm/trunk/test/tools/llvm-objdump/Inputs/trivial.obj.wasm (original) and llvm/trunk/test/tools/llvm-objdump/Inputs/trivial.obj.wasm Mon Mar  5 04:59:03 2018 differ

Modified: llvm/trunk/test/tools/llvm-objdump/wasm.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/wasm.txt?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/wasm.txt (original)
+++ llvm/trunk/test/tools/llvm-objdump/wasm.txt Mon Mar  5 04:59:03 2018
@@ -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
 

Modified: llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.wasm
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.wasm?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
Binary files llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.wasm (original) and llvm/trunk/test/tools/llvm-readobj/Inputs/trivial.obj.wasm Mon Mar  5 04:59:03 2018 differ

Modified: llvm/trunk/test/tools/llvm-readobj/sections.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/sections.test?rev=326694&r1=326693&r2=326694&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/sections.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/sections.test Mon Mar  5 04:59:03 2018
@@ -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: ]




More information about the llvm-commits mailing list