## An empty dynamic section is invalid. Test we report a warning instead of an ## error, so that dumping can continue with other objects. # RUN: yaml2obj %s --docnum=1 -o %t.empty # RUN: llvm-objdump -p %t.empty 2>&1 | FileCheck %s -DFILE=%t.empty --check-prefix=EMPTY # EMPTY: Program Header: # EMPTY-NEXT: warning: '[[FILE]]': invalid empty dynamic section # EMPTY-EMPTY: --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Sections: - Name: .dynamic Type: SHT_DYNAMIC # RUN: yaml2obj %s --docnum=2 -o %t.nonull # RUN: llvm-objdump -p %t.nonull 2>&1 | FileCheck %s -DFILE=%t.nonull --check-prefix=NONULL # NONULL: Program Header: # NONULL-NEXT: warning: '[[FILE]]': dynamic sections must be DT_NULL terminated # NONULL-EMPTY: --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Sections: - Name: .dynamic Type: SHT_DYNAMIC Entries: - Tag: DT_SONAME Value: 1 # RUN: yaml2obj %s --docnum=3 -o %t.invalidaddr # RUN: llvm-objdump -p %t.invalidaddr 2>&1 | \ # RUN: FileCheck %s -DFILE=%t.invalidaddr --implicit-check-not=warning: --check-prefix=ADDR # ADDR: Dynamic Section: # ADDR-NEXT: warning: '[[FILE]]': virtual address is not in any segment: 0x474 # ADDR-NEXT: NEEDED 0xffffffffbe5a0b5f # ADDR-NEXT: STRTAB 0x0000000000000474 --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Sections: - Name: .dynamic Type: SHT_DYNAMIC Entries: - Tag: DT_NEEDED Value: 0xFFFFFFFFBE5A0B5F - Tag: DT_STRTAB Value: 0x474 - Tag: DT_NULL Value: 0x0