brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · 5a37976 Raw
143 lines · plain
1# REQUIRES: zstd2## This test checks that we can read compressed SHT_LLVM_BB_ADDR_MAP sections.3 4## Check 64-bit:5# RUN: yaml2obj --docnum=1 %s -DBITS=64 -DADDR=0x999999999 -o %t1.x64.o6# RUN: llvm-objcopy %t1.x64.o --compress-sections .llvm_bb_addr_map=zstd %t1.x64.compressed.o7# RUN: llvm-readobj %t1.x64.compressed.o --bb-addr-map 2>&1 | FileCheck %s -DADDR=0x999999999 -DFILE=%t1.x64.compressed.o --check-prefix=CHECK8 9## Check 32-bit:10# RUN: yaml2obj --docnum=1 %s -DBITS=32 -o %t1.x32.o11# RUN: llvm-objcopy %t1.x32.o --compress-sections .llvm_bb_addr_map=zstd %t1.x32.compressed.o12# RUN: llvm-readobj %t1.x32.compressed.o --bb-addr-map 2>&1 | FileCheck %s -DADDR=0x11111 -DFILE=%t1.x32.compressed.o --check-prefix=CHECK13 14# CHECK:      BBAddrMap [15# CHECK-NEXT:   Function {16# CHECK-NEXT:     At: [[ADDR]]17# CHECK-NEXT: warning: '[[FILE]]': could not identify function symbol for address ([[ADDR]]) in SHT_LLVM_BB_ADDR_MAP section with index 318# CHECK-NEXT:     Name: <?>19# CHECK-NEXT:     BB Ranges [20# CHECK-NEXT:       {21# CHECK-NEXT:         Base Address: [[ADDR]]22# CHECK-NEXT:         BB Entries [23# CHECK-NEXT:           {24# CHECK-NEXT:             ID: 025# CHECK-NEXT:             Offset: 0x026# CHECK-NEXT:             Size: 0x127# CHECK-NEXT:             HasReturn: No28# CHECK-NEXT:             HasTailCall: Yes29# CHECK-NEXT:             IsEHPad: No30# CHECK-NEXT:             CanFallThrough: No31# CHECK-NEXT:             HasIndirectBranch: No32# CHECK-NEXT:           }33# CHECK-NEXT:         ]34# CHECK-NEXT:       }35# CHECK-NEXT:       {36# CHECK-NEXT:         Base Address: 0x4444437# CHECK-NEXT:         BB Entries [38# CHECK-NEXT:           {39# CHECK-NEXT:             ID: 240# CHECK-NEXT:             Offset: 0x341# CHECK-NEXT:             Size: 0x442# CHECK-NEXT:             HasReturn: Yes43# CHECK-NEXT:             HasTailCall: No44# CHECK-NEXT:             IsEHPad: Yes45# CHECK-NEXT:             CanFallThrough: No46# CHECK-NEXT:             HasIndirectBranch: Yes47# CHECK-NEXT:           }48# CHECK-NEXT:         ]49# CHECK-NEXT:       }50# CHECK-NEXT:     ]51# CHECK-NEXT:   }52# CHECK-NEXT:   Function {53# CHECK-NEXT:     At: 0x2222254# CHECK-NEXT:     Name: foo55# CHECK-NEXT:     BB Ranges [56# CHECK-NEXT:       {57# CHECK-NEXT:         Base Address: 0x2222258# CHECK-NEXT:         BB Entries [59# CHECK-NEXT:           {60# CHECK-NEXT:             ID: 461# CHECK-NEXT:             Offset: 0x662# CHECK-NEXT:             Size: 0x763# CHECK-NEXT:             HasReturn: No64# CHECK-NEXT:             HasTailCall: No65# CHECK-NEXT:             IsEHPad: No66# CHECK-NEXT:             CanFallThrough: Yes67# CHECK-NEXT:            HasIndirectBranch: No68# CHECK-NEXT:           }69# CHECK-NEXT:         ]70# CHECK-NEXT:       }71# CHECK-NEXT:     ]72# CHECK-NEXT:   }73# CHECK-NEXT: ]74 75--- !ELF76FileHeader:77  Class: ELFCLASS[[BITS]]78  Data:  ELFDATA2LSB79  Type:  ET_EXEC80Sections:81  - Name:   .text82    Type:   SHT_PROGBITS83    Flags:  [SHF_ALLOC]84  - Name:   .text.bar85    Type:   SHT_PROGBITS86    Flags:  [SHF_ALLOC]87  - Name:   .llvm_bb_addr_map88    Type:   SHT_LLVM_BB_ADDR_MAP89    ShSize: [[SIZE=<none>]]90    Link:   .text91    Entries:92      - Version: 293        Feature: 0x894        BBRanges:95          - BaseAddress: [[ADDR=0x11111]]96            BBEntries:97              - ID:            098                AddressOffset: 0x099                Size:          0x1100                Metadata:      [[METADATA=0x2]]101          - BaseAddress: 0x44444102            BBEntries:103              - ID:            2104                AddressOffset: 0x3105                Size:          0x4106                Metadata:      0x15107      - Version: 2108        BBRanges:109          - BaseAddress: 0x22222110            BBEntries:111              - ID:            4112                AddressOffset: 0x6113                Size:          0x7114                Metadata:      0x8115  - Name: dummy_section116    Type: SHT_PROGBITS117    Size: 16118  - Name: '.llvm_bb_addr_map (1)'119    Type: SHT_LLVM_BB_ADDR_MAP120    Link: .text.bar121    Entries:122      - Version: 2123        BBRanges:124          - BaseAddress: 0x33333125            BBEntries:126              - ID:            6127                AddressOffset: 0x9128                Size:          0xa129                Metadata:      0x1b130              - ID:            7131                AddressOffset: 0xc132                Size:          0xd133                Metadata:      0xe134Symbols:135  - Name:    foo136    Section: .text137    Type:    STT_FUNC138    Value:   0x22222139  - Name:    bar140    Section: .text.bar141    Type:    STT_FUNC142    Value:   0x33333143