89 lines · yaml
1## Check we are able to set custom sh_flags field2## for different sections.3 4# RUN: yaml2obj --docnum=1 %s -o %t15# RUN: llvm-readobj --sections %t1 | FileCheck %s --check-prefix=UPDATE-FLAGS6 7# UPDATE-FLAGS: Name: .symtab8# UPDATE-FLAGS-NEXT: Type: SHT_SYMTAB9# UPDATE-FLAGS-NEXT: Flags [ (0x1)10 11# UPDATE-FLAGS: Name: .strtab12# UPDATE-FLAGS-NEXT: Type: SHT_STRTAB13# UPDATE-FLAGS-NEXT: Flags [ (0x2)14 15# UPDATE-FLAGS: Name: .shstrtab16# UPDATE-FLAGS-NEXT: Type: SHT_STRTAB17# UPDATE-FLAGS-NEXT: Flags [ (0x3)18 19# UPDATE-FLAGS: Name: .dynsym20# UPDATE-FLAGS-NEXT: Type: SHT_DYNSYM21# UPDATE-FLAGS-NEXT: Flags [ (0x4)22 23# UPDATE-FLAGS: Name: .dynstr24# UPDATE-FLAGS-NEXT: Type: SHT_STRTAB25# UPDATE-FLAGS-NEXT: Flags [ (0x5)26 27# UPDATE-FLAGS: Name: .regular.os28# UPDATE-FLAGS-NEXT: Type: SHT_PROGBITS29# UPDATE-FLAGS-NEXT: Flags [ (0xAB00000)30 31# UPDATE-FLAGS: Name: .regular.proc32# UPDATE-FLAGS-NEXT: Type: SHT_PROGBITS33# UPDATE-FLAGS-NEXT: Flags [ (0xC0000000)34 35# UPDATE-FLAGS: Name: .regular.all36# UPDATE-FLAGS-NEXT: Type: SHT_PROGBITS37# UPDATE-FLAGS-NEXT: Flags [ (0xFFFFFFFF)38 39--- !ELF40FileHeader:41 Class: ELFCLASS6442 Data: ELFDATA2LSB43 Type: ET_REL44Sections:45## Check we can override flags for implicit sections.46 - Name: .symtab47 Type: SHT_SYMTAB48 ShFlags: 0x00000000149 - Name: .strtab50 Type: SHT_STRTAB51 ShFlags: 0x00000000252 - Name: .shstrtab53 Type: SHT_STRTAB54 ShFlags: 0x00000000355 - Name: .dynsym56 Type: SHT_DYNSYM57 ShFlags: 0x00000000458 - Name: .dynstr59 Type: SHT_STRTAB60 ShFlags: 0x00000000561## Check we can override flags for regular sections.62 - Name: .regular.os63 Type: SHT_PROGBITS64 ShFlags: 0x0AB0000065 - Name: .regular.proc66 Type: SHT_PROGBITS67 ShFlags: 0xC000000068 - Name: .regular.all69 Type: SHT_PROGBITS70 ShFlags: 0xFFFFFFFF71 72## ShFlags is used when we want to work around the flag values validation.73## It does not make sense to allow both ShFlags and Flags in the document.74 75# RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --check-prefix=ERR76 77# ERR: error: ShFlags and Flags cannot be used together78 79--- !ELF80FileHeader:81 Class: ELFCLASS6482 Data: ELFDATA2LSB83 Type: ET_REL84Sections:85 - Name: .symtab86 Type: SHT_SYMTAB87 Flags: [ SHF_ALLOC ]88 ShFlags: 0x189