## Check how "Content", "Size" and "Entries" keys can be used to ## describe a content for relocations sections. ## Check we can use the "Content" key alone. # RUN: yaml2obj -DCONTENT="01234567" %s -o %t1.content # RUN: llvm-readobj --sections --section-data %t1.content | \ # RUN: FileCheck %s --check-prefix=RAW -DDATA="01234567" # RAW: Name: .dynamic # RAW: EntrySize: # RAW-SAME: 255{{$}} # RAW: SectionData ( # RAW-NEXT: 0000: [[DATA]] | # RAW-NEXT: ) --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Sections: - Name: .dynamic Type: SHT_DYNAMIC EntSize: 0xff Content: [[CONTENT=]] Size: [[SIZE=]] Entries: [[ENTRIES=]] ## Check we can use the "Size" key alone. # RUN: yaml2obj -DSIZE=3 %s -o %t1.size # RUN: llvm-readobj --sections --section-data %t1.size | \ # RUN: FileCheck %s --check-prefix=RAW -DDATA="000000" ## Check we can use the "Content" key with the "Size" key when the size is greater ## than or equal to the content size. # RUN: not yaml2obj -DSIZE=1 -DCONTENT="'0011'" %s 2>&1 | \ # RUN: FileCheck %s --check-prefix=CONTENT-SIZE-ERR # CONTENT-SIZE-ERR: error: Section size must be greater than or equal to the content size # RUN: yaml2obj -DSIZE=2 -DCONTENT="'0011'" %s -o %t.cont.size.eq.o # RUN: llvm-readobj --sections --section-data %t.cont.size.eq.o | \ # RUN: FileCheck %s --check-prefix=RAW -DDATA="0011" # RUN: yaml2obj -DSIZE=3 -DCONTENT="'0011'" %s -o %t.cont.size.gr.o # RUN: llvm-readobj --sections --section-data %t.cont.size.gr.o | \ # RUN: FileCheck %s --check-prefix=RAW -DDATA="001100" ## Check we can't use the "Entries" key together with the "Content" or "Size" keys. # RUN: not yaml2obj -DSIZE=0 -DENTRIES="[]" %s 2>&1 | \ # RUN: FileCheck %s --check-prefix=ENT-ERR # RUN: not yaml2obj -DCONTENT="'00'" -DENTRIES="[]" %s 2>&1 | \ # RUN: FileCheck %s --check-prefix=ENT-ERR # ENT-ERR: error: "Entries" cannot be used with "Content" or "Size" ## Check we create an empty section when none of "Size", "Content" or "Entries" are specified. # RUN: yaml2obj %s -o %t.empty.o # RUN: llvm-readelf --sections --section-data %t.empty.o | \ # RUN: FileCheck %s --check-prefix=EMPTY-SEC # EMPTY-SEC: [Nr] Name Type Address Off Size # EMPTY-SEC: [ 1] .dynamic DYNAMIC 0000000000000000 000040 000000