brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.9 KiB · 203c210 Raw
333 lines · plain
1## In this test we test how machine-specific dynamic tags are dumped.2 3## Case 1: Test that hexagon machine-specific tags can be dumped.4# RUN: yaml2obj --docnum=1 -o %t.hex %s5# RUN: llvm-objdump -p %t.hex | FileCheck %s --check-prefix=HEXAGON6 7# HEXAGON:      Dynamic Section:8# HEXAGON-NEXT:  HEXAGON_SYMSZ 0x00000000000000109# HEXAGON-NEXT:  HEXAGON_VER   0x000000000000100010# HEXAGON-NEXT:  HEXAGON_PLT   0x000000000000100011 12--- !ELF13FileHeader:14  Class:   ELFCLASS6415  Data:    ELFDATA2LSB16  Type:    ET_EXEC17  Machine: EM_HEXAGON18Sections:19  - Name: .dynamic20    Type: SHT_DYNAMIC21    Entries:22      - Tag:   DT_HEXAGON_SYMSZ23        Value: 0x1024      - Tag:   DT_HEXAGON_VER25        Value: 0x100026      - Tag:   DT_HEXAGON_PLT27        Value: 0x100028      - Tag:   DT_NULL29        Value: 030ProgramHeaders:31  - Type:     PT_LOAD32    FirstSec: .dynamic33    LastSec:  .dynamic34  - Type:     PT_DYNAMIC35    FirstSec: .dynamic36    LastSec:  .dynamic37 38## Case 2: Test that MIPS machine-specific tags can be dumped.39##         MIPS has a few long tag names. Show that we indent columns properly.40# RUN: yaml2obj --docnum=2 -o %t.mips %s41# RUN: llvm-objdump -p %t.mips | FileCheck %s  --strict-whitespace --match-full-lines --check-prefix=MIPS42 43#      MIPS:Dynamic Section:44# MIPS-NEXT:  MIPS_RLD_VERSION           0x000000001234567845# MIPS-NEXT:  MIPS_TIME_STAMP            0x000000001122334446# MIPS-NEXT:  MIPS_ICHECKSUM             0x000000001111222247# MIPS-NEXT:  MIPS_IVERSION              0x000000000000000148# MIPS-NEXT:  MIPS_FLAGS                 0x000000001111111149# MIPS-NEXT:  MIPS_BASE_ADDRESS          0x000000008765432150# MIPS-NEXT:  MIPS_MSYM                  0x000000000000100051# MIPS-NEXT:  MIPS_CONFLICT              0x000000000000100052# MIPS-NEXT:  MIPS_LIBLIST               0x000000000000100053# MIPS-NEXT:  MIPS_LOCAL_GOTNO           0x000000000000000154# MIPS-NEXT:  MIPS_CONFLICTNO            0x000000000000000155# MIPS-NEXT:  MIPS_LIBLISTNO             0x000000000000000156# MIPS-NEXT:  MIPS_SYMTABNO              0x000000000000000157# MIPS-NEXT:  MIPS_UNREFEXTNO            0x000000000000000058# MIPS-NEXT:  MIPS_GOTSYM                0x000000000000000059# MIPS-NEXT:  MIPS_HIPAGENO              0x000000008877665560# MIPS-NEXT:  MIPS_RLD_MAP               0x000000000000100061# MIPS-NEXT:  MIPS_DELTA_CLASS           0x000000000000100062# MIPS-NEXT:  MIPS_DELTA_CLASS_NO        0x000000000000000163# MIPS-NEXT:  MIPS_DELTA_INSTANCE        0x000000000000100064# MIPS-NEXT:  MIPS_DELTA_INSTANCE_NO     0x000000000000000165# MIPS-NEXT:  MIPS_DELTA_RELOC           0x000000000000100066# MIPS-NEXT:  MIPS_DELTA_RELOC_NO        0x000000000000000167# MIPS-NEXT:  MIPS_DELTA_SYM             0x000000000000100068# MIPS-NEXT:  MIPS_DELTA_SYM_NO          0x000000000000000169# MIPS-NEXT:  MIPS_DELTA_CLASSSYM        0x000000000000100070# MIPS-NEXT:  MIPS_DELTA_CLASSSYM_NO     0x000000000000000171# MIPS-NEXT:  MIPS_CXX_FLAGS             0x000000008888777772# MIPS-NEXT:  MIPS_PIXIE_INIT            0x000000000000100073# MIPS-NEXT:  MIPS_LOCALPAGE_GOTIDX      0x000000000000000174# MIPS-NEXT:  MIPS_LOCAL_GOTIDX          0x000000000000000175# MIPS-NEXT:  MIPS_HIDDEN_GOTIDX         0x000000000000000176# MIPS-NEXT:  MIPS_PROTECTED_GOTIDX      0x000000000000000177# MIPS-NEXT:  MIPS_OPTIONS               0x000000000000100078# MIPS-NEXT:  MIPS_INTERFACE             0x000000000000100079# MIPS-NEXT:  MIPS_DYNSTR_ALIGN          0x000000008888888880# MIPS-NEXT:  MIPS_INTERFACE_SIZE        0x000000000000001081# MIPS-NEXT:  MIPS_RLD_TEXT_RESOLVE_ADDR 0x000000000000000882# MIPS-NEXT:  MIPS_PERF_SUFFIX           0x000000000000000083# MIPS-NEXT:  MIPS_COMPACT_SIZE          0x000000000000001084# MIPS-NEXT:  MIPS_GP_VALUE              0x000000000000000185# MIPS-NEXT:  MIPS_AUX_DYNAMIC           0x000000000000100086# MIPS-NEXT:  MIPS_PLTGOT                0x000000000000100087# MIPS-NEXT:  MIPS_RWPLT                 0x000000000000100088# MIPS-NEXT:  MIPS_RLD_MAP_REL           0x000000000000100089# MIPS-NEXT:  MIPS_XHASH                 0x000000000000200090 91--- !ELF92FileHeader:93  Class:   ELFCLASS6494  Data:    ELFDATA2LSB95  Type:    ET_EXEC96  Machine: EM_MIPS97Sections:98  - Name: .dynamic99    Type: SHT_DYNAMIC100    Entries:101      - Tag:   DT_MIPS_RLD_VERSION102        Value: 0x12345678103      - Tag:   DT_MIPS_TIME_STAMP104        Value: 0x11223344105      - Tag:   DT_MIPS_ICHECKSUM106        Value: 0x11112222107      - Tag:   DT_MIPS_IVERSION108        Value: 0x1109      - Tag:   DT_MIPS_FLAGS110        Value: 0x11111111111      - Tag:   DT_MIPS_BASE_ADDRESS112        Value: 0x87654321113      - Tag:   DT_MIPS_MSYM114        Value: 0x1000115      - Tag:   DT_MIPS_CONFLICT116        Value: 0x1000117      - Tag:   DT_MIPS_LIBLIST118        Value: 0x1000119      - Tag:   DT_MIPS_LOCAL_GOTNO120        Value: 0x1121      - Tag:   DT_MIPS_CONFLICTNO122        Value: 0x1123      - Tag:   DT_MIPS_LIBLISTNO124        Value: 0x1125      - Tag:   DT_MIPS_SYMTABNO126        Value: 0x1127      - Tag:   DT_MIPS_UNREFEXTNO128        Value: 0x0129      - Tag:   DT_MIPS_GOTSYM130        Value: 0x0131      - Tag:   DT_MIPS_HIPAGENO132        Value: 0x88776655133      - Tag:   DT_MIPS_RLD_MAP134        Value: 0x1000135      - Tag:   DT_MIPS_DELTA_CLASS136        Value: 0x1000137      - Tag:   DT_MIPS_DELTA_CLASS_NO138        Value: 0x1139      - Tag:   DT_MIPS_DELTA_INSTANCE140        Value: 0x1000141      - Tag:   DT_MIPS_DELTA_INSTANCE_NO142        Value: 0x1143      - Tag:   DT_MIPS_DELTA_RELOC144        Value: 0x1000145      - Tag:   DT_MIPS_DELTA_RELOC_NO146        Value: 0x1147      - Tag:   DT_MIPS_DELTA_SYM148        Value: 0x1000149      - Tag:   DT_MIPS_DELTA_SYM_NO150        Value: 0x1151      - Tag:   DT_MIPS_DELTA_CLASSSYM152        Value: 0x1000153      - Tag:   DT_MIPS_DELTA_CLASSSYM_NO154        Value: 0x1155      - Tag:   DT_MIPS_CXX_FLAGS156        Value: 0x88887777157      - Tag:   DT_MIPS_PIXIE_INIT158        Value: 0x1000159      - Tag:   DT_MIPS_LOCALPAGE_GOTIDX160        Value: 0x1161      - Tag:   DT_MIPS_LOCAL_GOTIDX162        Value: 0x1163      - Tag:   DT_MIPS_HIDDEN_GOTIDX164        Value: 0x1165      - Tag:   DT_MIPS_PROTECTED_GOTIDX166        Value: 0x1167      - Tag:   DT_MIPS_OPTIONS168        Value: 0x1000169      - Tag:   DT_MIPS_INTERFACE170        Value: 0x1000171      - Tag:   DT_MIPS_DYNSTR_ALIGN172        Value: 0x88888888173      - Tag:   DT_MIPS_INTERFACE_SIZE174        Value: 0x10175      - Tag:   DT_MIPS_RLD_TEXT_RESOLVE_ADDR176        Value: 0x8177      - Tag:   DT_MIPS_PERF_SUFFIX178        Value: 0x0179      - Tag:   DT_MIPS_COMPACT_SIZE180        Value: 0x10181      - Tag:   DT_MIPS_GP_VALUE182        Value: 0x1183      - Tag:   DT_MIPS_AUX_DYNAMIC184        Value: 0x1000185      - Tag:   DT_MIPS_PLTGOT186        Value: 0x1000187      - Tag:   DT_MIPS_RWPLT188        Value: 0x1000189      - Tag:   DT_MIPS_RLD_MAP_REL190        Value: 0x1000191      - Tag:   DT_MIPS_XHASH192        Value: 0x2000193      - Tag:   DT_NULL194        Value: 0195ProgramHeaders:196  - Type:     PT_LOAD197    FirstSec: .dynamic198    LastSec:  .dynamic199  - Type:     PT_DYNAMIC200    FirstSec: .dynamic201    LastSec:  .dynamic202 203## Case 3: Test that PPC machine-specific tags can be dumped.204# RUN: yaml2obj --docnum=3 -o %t.ppc %s205# RUN: llvm-objdump -p %t.ppc | FileCheck %s --check-prefix=PPC206 207# PPC:      Dynamic Section:208# PPC-NEXT:  PPC_GOT 0x000200c0209# PPC-NEXT:  PPC_OPT 0x00000001210 211--- !ELF212FileHeader:213  Class:   ELFCLASS32214  Data:    ELFDATA2MSB215  Type:    ET_EXEC216  Machine: EM_PPC217Sections:218  - Name: .dynamic219    Type: SHT_DYNAMIC220    Entries:221      - Tag:   DT_PPC_GOT222        Value: 0x200c0223      - Tag:   DT_PPC_OPT224        Value: 1225      - Tag:   DT_NULL226        Value: 0227ProgramHeaders:228  - Type:     PT_LOAD229    FirstSec: .dynamic230    LastSec:  .dynamic231  - Type:     PT_DYNAMIC232    FirstSec: .dynamic233    LastSec:  .dynamic234 235## Case 4: Test that PPC64 machine-specific tags can be dumped.236# RUN: yaml2obj --docnum=4 -o %t.ppc64 %s237# RUN: llvm-objdump -p %t.ppc64 | FileCheck %s --check-prefix=PPC64238 239# PPC64:      Dynamic Section:240# PPC64-NEXT:  PPC64_GLINK 0x0000000000001000241 242--- !ELF243FileHeader:244  Class:   ELFCLASS64245  Data:    ELFDATA2LSB246  Type:    ET_EXEC247  Machine: EM_PPC64248Sections:249  - Name: .dynamic250    Type: SHT_DYNAMIC251    Entries:252      - Tag:   DT_PPC64_GLINK253        Value: 0x1000254      - Tag:   DT_NULL255        Value: 0256ProgramHeaders:257  - Type:     PT_LOAD258    FirstSec: .dynamic259    LastSec:  .dynamic260  - Type:      PT_DYNAMIC261    FirstSec: .dynamic262    LastSec:  .dynamic263 264## Case 5: Test that AARCH64 machine-specific tags can be dumped.265# RUN: yaml2obj --docnum=5 -o %t.aarch64 %s266# RUN: llvm-objdump -p %t.aarch64 | FileCheck %s --check-prefix=AARCH64267 268# AARCH64:      Dynamic Section:269# AARCH64-NEXT:  AARCH64_BTI_PLT      0x0000000000000001270# AARCH64-NEXT:  AARCH64_PAC_PLT      0x0000000000000002271# AARCH64-NEXT:  AARCH64_AUTH_RELR    0x0000000000000003272# AARCH64-NEXT:  AARCH64_AUTH_RELRSZ  0x0000000000000004273# AARCH64-NEXT:  AARCH64_AUTH_RELRENT 0x0000000000000005274 275--- !ELF276FileHeader:277  Class:   ELFCLASS64278  Data:    ELFDATA2LSB279  Type:    ET_EXEC280  Machine: EM_AARCH64281Sections:282  - Name: .dynamic283    Type: SHT_DYNAMIC284    Entries:285      - Tag:   DT_AARCH64_BTI_PLT286        Value: 1287      - Tag:   DT_AARCH64_PAC_PLT288        Value: 2289      - Tag:   DT_AARCH64_AUTH_RELR290        Value: 3291      - Tag:   DT_AARCH64_AUTH_RELRSZ292        Value: 4293      - Tag:   DT_AARCH64_AUTH_RELRENT294        Value: 5295      - Tag:   DT_NULL296        Value: 0297ProgramHeaders:298  - Type:     PT_LOAD299    FirstSec: .dynamic300    LastSec:  .dynamic301  - Type:     PT_DYNAMIC302    FirstSec: .dynamic303    LastSec:  .dynamic304 305## Case 6: Test that RISC-V machine-specific tags can be dumped.306# RUN: yaml2obj --docnum=6 %s -o %t.rv307# RUN: llvm-objdump -p %t.rv | FileCheck %s --check-prefix=RISCV308 309# RISCV:      Dynamic Section:310# RISCV-NEXT:  RISCV_VARIANT_CC     0x0000000000000001311 312--- !ELF313FileHeader:314  Class:   ELFCLASS64315  Data:    ELFDATA2LSB316  Type:    ET_EXEC317  Machine: EM_RISCV318Sections:319  - Name: .dynamic320    Type: SHT_DYNAMIC321    Entries:322      - Tag:   DT_RISCV_VARIANT_CC323        Value: 1324      - Tag:   DT_NULL325        Value: 0326ProgramHeaders:327  - Type:     PT_LOAD328    FirstSec: .dynamic329    LastSec:  .dynamic330  - Type:     PT_DYNAMIC331    FirstSec: .dynamic332    LastSec:  .dynamic333