
LLVM ObjectFile currently records the start offsets of sections as the start of the section header, whereas most other tools (WABT, emscripten, wasm-tools) record it as the start of the section content, after the header. This affects binutils tools such as objdump and nm, but not compilation/assembly (since that is driven by symbols and assembler labels which already have their values inside the section payload rather in the header. This patch updates LLVM to match the other tools.
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
## Check how we print sections.
|
|
|
|
# RUN: llvm-readobj --sections %p/Inputs/trivial.obj.wasm | FileCheck %s
|
|
|
|
# CHECK: Sections [
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: TYPE (0x1)
|
|
# CHECK-NEXT: Size: 17
|
|
# CHECK-NEXT: Offset: 14
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: IMPORT (0x2)
|
|
# CHECK-NEXT: Size: 93
|
|
# CHECK-NEXT: Offset: 37
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: FUNCTION (0x3)
|
|
# CHECK-NEXT: Size: 3
|
|
# CHECK-NEXT: Offset: 136
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: CODE (0xA)
|
|
# CHECK-NEXT: Size: 36
|
|
# CHECK-NEXT: Offset: 145
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: DATA (0xB)
|
|
# CHECK-NEXT: Size: 19
|
|
# CHECK-NEXT: Offset: 187
|
|
# CHECK-NEXT: Segments [
|
|
# CHECK-NEXT: Segment {
|
|
# CHECK-NEXT: Name: .rodata..L.str
|
|
# CHECK-NEXT: Size: 13
|
|
# CHECK-NEXT: Offset: 0
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: ]
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: CUSTOM (0x0)
|
|
# CHECK-NEXT: Size: 89
|
|
# CHECK-NEXT: Offset: 212
|
|
# CHECK-NEXT: Name: linking
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: Section {
|
|
# CHECK-NEXT: Type: CUSTOM (0x0)
|
|
# CHECK-NEXT: Size: 15
|
|
# CHECK-NEXT: Offset: 315
|
|
# CHECK-NEXT: Name: reloc.CODE
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: ]
|