brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · b1032f3 Raw
173 lines · plain
1## Test various details of llvm-objdump -h (--section-headers).2 3## Check leading and trailing whitespace for full lines.4 5# RUN: yaml2obj %s --docnum=1 -o %t-whitespace.o6# RUN: llvm-objdump -h --show-lma %t-whitespace.o \7# RUN:   | FileCheck %s --check-prefix=WHITESPACE --strict-whitespace8# RUN: llvm-objdump -h %t-whitespace.o \9# RUN:   | FileCheck %s --check-prefix=WHITESPACE-NO-LMA --strict-whitespace10 11# WHITESPACE:      {{^}}Sections:{{$}}12# WHITESPACE-NEXT: {{^}}Idx Name          Size     VMA              LMA              Type{{$}}13# WHITESPACE-NEXT: {{^}}  0               00000000 0000000000000000 0000000000000000 {{$}}14# WHITESPACE-NEXT: {{^}}  1 .text         00000000 0000000000000000 0000000000000000 TEXT{{$}}15# WHITESPACE-NEXT: {{^}}  2 .data         00000000 0000000000000000 0000000000000000 DATA{{$}}16# WHITESPACE-NEXT: {{^}}  3 .bss          00000000 0000000000000000 0000000000000000 BSS{{$}}17# WHITESPACE-NEXT: {{^}}  4 .other        00000000 0000000000000000 0000000000000000 {{$}}18# WHITESPACE-NEXT: {{^}}  5 .debug_abbrev 00000000 0000000000000000 0000000000000000 DEBUG{{$}}19# WHITESPACE-NEXT: {{^}}  6 .debug_info   00000000 0000000000000000 0000000000000000 DATA, DEBUG{{$}}20# WHITESPACE-NEXT: {{^}}  7 .mydata       00000000 0000000000000000 0000000000000000 DATA{{$}}21# WHITESPACE-NEXT: {{^}}  8 .bss1         00000000 0000000000000000 0000000000000000 BSS{{$}}22# WHITESPACE-NEXT: {{^}}  9 .nonalloc.bss 00000000 0000000000000000 0000000000000000 {{$}}23 24# WHITESPACE-NO-LMA:      {{^}}Sections:{{$}}25# WHITESPACE-NO-LMA-NEXT: {{^}}Idx Name          Size     VMA              Type{{$}}26# WHITESPACE-NO-LMA-NEXT: {{^}}  0               00000000 0000000000000000 {{$}}27# WHITESPACE-NO-LMA-NEXT: {{^}}  1 .text         00000000 0000000000000000 TEXT{{$}}28# WHITESPACE-NO-LMA-NEXT: {{^}}  2 .data         00000000 0000000000000000 DATA{{$}}29# WHITESPACE-NO-LMA-NEXT: {{^}}  3 .bss          00000000 0000000000000000 BSS{{$}}30# WHITESPACE-NO-LMA-NEXT: {{^}}  4 .other        00000000 0000000000000000 {{$}}31# WHITESPACE-NO-LMA-NEXT: {{^}}  5 .debug_abbrev 00000000 0000000000000000 DEBUG{{$}}32# WHITESPACE-NO-LMA-NEXT: {{^}}  6 .debug_info   00000000 0000000000000000 DATA, DEBUG{{$}}33# WHITESPACE-NO-LMA-NEXT: {{^}}  7 .mydata       00000000 0000000000000000 DATA{{$}}34# WHITESPACE-NO-LMA-NEXT: {{^}}  8 .bss1         00000000 0000000000000000 BSS{{$}}35# WHITESPACE-NO-LMA-NEXT: {{^}}  9 .nonalloc.bss 00000000 0000000000000000 {{$}}36 37--- !ELF38FileHeader:39  Class:   ELFCLASS6440  Data:    ELFDATA2LSB41  Type:    ET_EXEC42  Machine: EM_X86_6443Sections:44  - Name:  .text45    Type:  SHT_PROGBITS46    Flags: [SHF_ALLOC, SHF_EXECINSTR]47  - Name:  .data48    Type:  SHT_PROGBITS49    Flags: [SHF_ALLOC, SHF_WRITE]50  - Name:  .bss51    Type:  SHT_NOBITS52    Flags: [SHF_ALLOC, SHF_WRITE]53  - Name:  .other54    Type:  SHT_REL55  - Name:  .debug_abbrev56    Type:  SHT_PROGBITS57  - Name:  .debug_info58    Type:  SHT_PROGBITS59    Flags: [ SHF_WRITE, SHF_ALLOC ]60  - Name:  .mydata61    Type:  0x7000000062    Flags: [ SHF_ALLOC ]63  - Name:  .bss164    Type:  SHT_NOBITS65    Flags: [SHF_ALLOC]66  - Name:  .nonalloc.bss67    Type:  SHT_NOBITS68 69## Check that --section-headers and --headers are aliases for -h.70# RUN: llvm-objdump --section-headers --show-lma %t-whitespace.o \71# RUN:   | FileCheck %s --check-prefix=WHITESPACE --strict-whitespace72# RUN: llvm-objdump --headers --show-lma %t-whitespace.o \73# RUN:   | FileCheck %s --check-prefix=WHITESPACE --strict-whitespace74 75## The name field automatically expands past the default 13 columns when a76## section name is longer than that.77## Note: check with and without --show-lma to make sure resizing happens in78## both cases.79 80# RUN: yaml2obj %s --docnum=2 -o %t-name13chars.o81# RUN: llvm-objdump -h --show-lma %t-name13chars.o \82# RUN:   | FileCheck %s --check-prefix=NAME-13 --strict-whitespace83# RUN: llvm-objdump -h %t-name13chars.o \84# RUN:   | FileCheck %s --check-prefix=NAME-13 --strict-whitespace85 86# NAME-13:      Sections:87# NAME-13-NEXT: {{^}}Idx Name          Size88# NAME-13-NEXT: {{^}}  0               0000000089# NAME-13-NEXT: {{^}}  1 .foo          0000000090# NAME-13-NEXT: {{^}}  2 .thirteenchar 0000000091# NAME-13-NEXT: {{^}}  3 .bar          0000000092 93## Including a section with a name of length 14 expands the width of the "Name"94## column.95# RUN: yaml2obj %s --docnum=3 -o %t-name14chars.o96# RUN: llvm-objdump -h --show-lma %t-name14chars.o \97# RUN:   | FileCheck %s --check-prefix=NAME-14 --strict-whitespace98# RUN: llvm-objdump -h %t-name14chars.o \99# RUN:   | FileCheck %s --check-prefix=NAME-14 --strict-whitespace100 101# NAME-14:      Sections:102# NAME-14-NEXT: {{^}}Idx Name           Size103# NAME-14-NEXT: {{^}}  0                00000000104# NAME-14-NEXT: {{^}}  1 .foo           00000000105# NAME-14-NEXT: {{^}}  2 .fourteenchars 00000000106# NAME-14-NEXT: {{^}}  3 .bar           00000000107 108--- !ELF109FileHeader:110  Class:   ELFCLASS64111  Data:    ELFDATA2LSB112  Type:    ET_EXEC113  Machine: EM_X86_64114Sections:115  - Name: .foo116    Type: SHT_PROGBITS117  - Name: .thirteenchar118    Type: SHT_PROGBITS119  - Name: .bar120    Type: SHT_PROGBITS121 122--- !ELF123FileHeader:124  Class:   ELFCLASS64125  Data:    ELFDATA2LSB126  Type:    ET_EXEC127  Machine: EM_X86_64128Sections:129  - Name: .foo130    Type: SHT_PROGBITS131  - Name: .fourteenchars132    Type: SHT_PROGBITS133  - Name: .bar134    Type: SHT_PROGBITS135 136## Check that objdump -h only prints the necessary amount of bytes for137## addresses.138 139# RUN: yaml2obj %s --docnum=4 -D BITS=32 -o %t-32bit.o140# RUN: yaml2obj %s --docnum=4 -D BITS=64 -o %t-64bit.o141 142# RUN: llvm-objdump -h --show-lma %t-32bit.o \143# RUN:   | FileCheck %s --check-prefix=32 --strict-whitespace144# 32: {{^}}Idx Name          Size     VMA      LMA      Type{{$}}145# 32: {{^}}  1 .foo          00000000 00000400 00000400 TEXT{{$}}146 147# RUN: llvm-objdump -h %t-32bit.o \148# RUN:   | FileCheck %s --check-prefix=32-NO-LMA --strict-whitespace149# 32-NO-LMA: {{^}}Idx Name          Size     VMA      Type{{$}}150# 32-NO-LMA: {{^}}  1 .foo          00000000 00000400 TEXT{{$}}151 152# RUN: llvm-objdump -h --show-lma %t-64bit.o \153# RUN:   | FileCheck %s --check-prefix=64 --strict-whitespace154# 64: {{^}}Idx Name          Size     VMA              LMA              Type{{$}}155# 64: {{^}}  1 .foo          00000000 0000000000000400 0000000000000400 TEXT{{$}}156 157# RUN: llvm-objdump -h %t-64bit.o \158# RUN:   | FileCheck %s --check-prefix=64-NO-LMA --strict-whitespace159# 64-NO-LMA: {{^}}Idx Name          Size     VMA              Type{{$}}160# 64-NO-LMA: {{^}}  1 .foo          00000000 0000000000000400 TEXT{{$}}161 162--- !ELF163FileHeader:164  Class:   ELFCLASS[[BITS]]165  Data:    ELFDATA2LSB166  Type:    ET_EXEC167  Machine: EM_386168Sections:169  - Name:    .foo170    Type:    SHT_PROGBITS171    Flags:   [SHF_ALLOC, SHF_EXECINSTR]172    Address: 0x400173