63 lines · plain
1## An empty dynamic section is invalid. Test we report a warning instead of an2## error, so that dumping can continue with other objects.3# RUN: yaml2obj %s --docnum=1 -o %t.empty4# RUN: llvm-objdump -p %t.empty 2>&1 | FileCheck %s -DFILE=%t.empty --check-prefix=EMPTY5 6# EMPTY: Program Header:7# EMPTY-NEXT: warning: '[[FILE]]': invalid empty dynamic section8# EMPTY-EMPTY:9 10--- !ELF11FileHeader:12 Class: ELFCLASS6413 Data: ELFDATA2LSB14 Type: ET_EXEC15Sections:16 - Name: .dynamic17 Type: SHT_DYNAMIC18 19# RUN: yaml2obj %s --docnum=2 -o %t.nonull20# RUN: llvm-objdump -p %t.nonull 2>&1 | FileCheck %s -DFILE=%t.nonull --check-prefix=NONULL21 22# NONULL: Program Header:23# NONULL-NEXT: warning: '[[FILE]]': dynamic sections must be DT_NULL terminated24# NONULL-EMPTY:25 26--- !ELF27FileHeader:28 Class: ELFCLASS6429 Data: ELFDATA2LSB30 Type: ET_EXEC31Sections:32 - Name: .dynamic33 Type: SHT_DYNAMIC34 Entries:35 - Tag: DT_SONAME36 Value: 137 38# RUN: yaml2obj %s --docnum=3 -o %t.invalidaddr39# RUN: llvm-objdump -p %t.invalidaddr 2>&1 | \40# RUN: FileCheck %s -DFILE=%t.invalidaddr --implicit-check-not=warning: --check-prefix=ADDR41 42# ADDR: Dynamic Section:43# ADDR-NEXT: warning: '[[FILE]]': virtual address is not in any segment: 0x47444# ADDR-NEXT: NEEDED 0xffffffffbe5a0b5f45# ADDR-NEXT: STRTAB 0x000000000000047446 47---48!ELF49FileHeader:50 Class: ELFCLASS6451 Data: ELFDATA2LSB52 Type: ET_DYN53Sections:54 - Name: .dynamic55 Type: SHT_DYNAMIC56 Entries:57 - Tag: DT_NEEDED58 Value: 0xFFFFFFFFBE5A0B5F59 - Tag: DT_STRTAB60 Value: 0x47461 - Tag: DT_NULL62 Value: 0x063