1## An empty dynamic section is invalid. Test we report a warning instead of an 2## error, so that dumping can continue with other objects. 3# RUN: yaml2obj %s --docnum=1 -o %t.empty 4# RUN: llvm-objdump -p %t.empty 2>&1 | FileCheck %s -DFILE=%t.empty --check-prefix=EMPTY 5 6# EMPTY: Program Header: 7# EMPTY-NEXT: warning: '[[FILE]]': invalid empty dynamic section 8# EMPTY-EMPTY: 9 10--- !ELF 11FileHeader: 12 Class: ELFCLASS64 13 Data: ELFDATA2LSB 14 Type: ET_EXEC 15Sections: 16 - Name: .dynamic 17 Type: SHT_DYNAMIC 18 19# RUN: yaml2obj %s --docnum=2 -o %t.nonull 20# RUN: llvm-objdump -p %t.nonull 2>&1 | FileCheck %s -DFILE=%t.nonull --check-prefix=NONULL 21 22# NONULL: Program Header: 23# NONULL-NEXT: warning: '[[FILE]]': dynamic sections must be DT_NULL terminated 24# NONULL-EMPTY: 25 26--- !ELF 27FileHeader: 28 Class: ELFCLASS64 29 Data: ELFDATA2LSB 30 Type: ET_EXEC 31Sections: 32 - Name: .dynamic 33 Type: SHT_DYNAMIC 34 Entries: 35 - Tag: DT_SONAME 36 Value: 1 37 38# RUN: yaml2obj %s --docnum=3 -o %t.invalidaddr 39# RUN: llvm-objdump -p %t.invalidaddr 2>&1 | \ 40# RUN: FileCheck %s -DFILE=%t.invalidaddr --implicit-check-not=warning: --check-prefix=ADDR 41 42# ADDR: Dynamic Section: 43# ADDR-NEXT: warning: '[[FILE]]': virtual address is not in any segment: 0x474 44# ADDR-NEXT: NEEDED 0xffffffffbe5a0b5f 45# ADDR-NEXT: STRTAB 0x0000000000000474 46 47--- 48!ELF 49FileHeader: 50 Class: ELFCLASS64 51 Data: ELFDATA2LSB 52 Type: ET_DYN 53Sections: 54 - Name: .dynamic 55 Type: SHT_DYNAMIC 56 Entries: 57 - Tag: DT_NEEDED 58 Value: 0xFFFFFFFFBE5A0B5F 59 - Tag: DT_STRTAB 60 Value: 0x474 61 - Tag: DT_NULL 62 Value: 0x0 63