# RUN: yaml2obj %s -o %t # RUN: obj2yaml %t | FileCheck %s ## Check we can use obj2yaml to yamalize the object containing ## .dynamic section. Check that resulting section has the ## proper attributes and dynamic tags. # CHECK: Sections: # CHECK-NEXT: - Name: .dynamic # CHECK-NEXT: Type: SHT_DYNAMIC # CHECK-NEXT: Address: 0x0000000000001000 # CHECK-NEXT: AddressAlign: 0x0000000000002000 # CHECK-NEXT: EntSize: 0x0000000000000010 # CHECK-NEXT: Entries: # CHECK-NEXT: - Tag: DT_NULL # CHECK-NEXT: Value: 0x0000000000000000 # CHECK-NEXT: - Tag: DT_NEEDED # CHECK-NEXT: Value: 0x0000000000000001 # CHECK-NEXT: - Tag: DT_PLTRELSZ # CHECK-NEXT: Value: 0x0000000000000002 # CHECK-NEXT: - Tag: DT_PLTGOT # CHECK-NEXT: Value: 0x0000000000000003 # CHECK-NEXT: - Tag: DT_HASH # CHECK-NEXT: Value: 0x0000000000000004 # CHECK-NEXT: - Tag: DT_STRTAB # CHECK-NEXT: Value: 0x0000000000000005 # CHECK-NEXT: - Tag: DT_SYMTAB # CHECK-NEXT: Value: 0x0000000000000006 # CHECK-NEXT: - Tag: DT_RELA # CHECK-NEXT: Value: 0x0000000000000007 # CHECK-NEXT: - Tag: DT_RELASZ # CHECK-NEXT: Value: 0x0000000000000008 # CHECK-NEXT: - Tag: DT_RELAENT # CHECK-NEXT: Value: 0x0000000000000009 # CHECK-NEXT: - Tag: DT_STRSZ # CHECK-NEXT: Value: 0x000000000000000A # CHECK-NEXT: - Tag: DT_SYMENT # CHECK-NEXT: Value: 0x000000000000000B # CHECK-NEXT: - Tag: DT_INIT # CHECK-NEXT: Value: 0x000000000000000C # CHECK-NEXT: - Tag: DT_FINI # CHECK-NEXT: Value: 0x000000000000000D # CHECK-NEXT: - Tag: DT_SONAME # CHECK-NEXT: Value: 0x000000000000000E # CHECK-NEXT: - Tag: DT_RPATH # CHECK-NEXT: Value: 0x000000000000000F # CHECK-NEXT: - Tag: DT_SYMBOLIC # CHECK-NEXT: Value: 0x0000000000000010 # CHECK-NEXT: - Tag: DT_REL # CHECK-NEXT: Value: 0x0000000000000011 # CHECK-NEXT: - Tag: DT_RELSZ # CHECK-NEXT: Value: 0x0000000000000012 # CHECK-NEXT: - Tag: DT_RELENT # CHECK-NEXT: Value: 0x0000000000000013 # CHECK-NEXT: - Tag: DT_PLTREL # CHECK-NEXT: Value: 0x0000000000000014 # CHECK-NEXT: - Tag: DT_DEBUG # CHECK-NEXT: Value: 0x0000000000000015 # CHECK-NEXT: - Tag: DT_TEXTREL # CHECK-NEXT: Value: 0x0000000000000016 # CHECK-NEXT: - Tag: DT_JMPREL # CHECK-NEXT: Value: 0x0000000000000017 # CHECK-NEXT: - Tag: DT_BIND_NOW # CHECK-NEXT: Value: 0x0000000000000018 # CHECK-NEXT: - Tag: DT_INIT_ARRAY # CHECK-NEXT: Value: 0x0000000000000019 # CHECK-NEXT: - Tag: DT_FINI_ARRAY # CHECK-NEXT: Value: 0x000000000000001A # CHECK-NEXT: - Tag: DT_INIT_ARRAYSZ # CHECK-NEXT: Value: 0x000000000000001B # CHECK-NEXT: - Tag: DT_FINI_ARRAYSZ # CHECK-NEXT: Value: 0x000000000000001C # CHECK-NEXT: - Tag: DT_RUNPATH # CHECK-NEXT: Value: 0x000000000000001D # CHECK-NEXT: - Tag: DT_FLAGS # CHECK-NEXT: Value: 0x000000000000001E # CHECK-NEXT: - Tag: DT_PREINIT_ARRAY # CHECK-NEXT: Value: 0x000000000000001F # CHECK-NEXT: - Tag: DT_PREINIT_ARRAYSZ # CHECK-NEXT: Value: 0x0000000000000020 # CHECK-NEXT: - Tag: DT_SYMTAB_SHNDX # CHECK-NEXT: Value: 0x0000000000000021 # CHECK-NEXT: - Tag: DT_RELRSZ # CHECK-NEXT: Value: 0x0000000000000022 # CHECK-NEXT: - Tag: DT_RELR # CHECK-NEXT: Value: 0x0000000000000023 # CHECK-NEXT: - Tag: DT_RELRENT # CHECK-NEXT: Value: 0x0000000000000024 # CHECK-NEXT: - Tag: DT_ANDROID_REL # CHECK-NEXT: Value: 0x0000000000000025 # CHECK-NEXT: - Tag: DT_ANDROID_RELSZ # CHECK-NEXT: Value: 0x0000000000000026 # CHECK-NEXT: - Tag: DT_ANDROID_RELA # CHECK-NEXT: Value: 0x0000000000000027 # CHECK-NEXT: - Tag: DT_ANDROID_RELASZ # CHECK-NEXT: Value: 0x0000000000000028 # CHECK-NEXT: - Tag: DT_ANDROID_RELR # CHECK-NEXT: Value: 0x0000000000000029 # CHECK-NEXT: - Tag: DT_ANDROID_RELRSZ # CHECK-NEXT: Value: 0x000000000000002A # CHECK-NEXT: - Tag: DT_ANDROID_RELRENT # CHECK-NEXT: Value: 0x000000000000002B # CHECK-NEXT: - Tag: DT_GNU_HASH # CHECK-NEXT: Value: 0x000000000000002C # CHECK-NEXT: - Tag: DT_TLSDESC_PLT # CHECK-NEXT: Value: 0x000000000000002D # CHECK-NEXT: - Tag: DT_TLSDESC_GOT # CHECK-NEXT: Value: 0x000000000000002E # CHECK-NEXT: - Tag: DT_RELACOUNT # CHECK-NEXT: Value: 0x000000000000002F # CHECK-NEXT: - Tag: DT_RELCOUNT # CHECK-NEXT: Value: 0x0000000000000030 # CHECK-NEXT: - Tag: DT_FLAGS_1 # CHECK-NEXT: Value: 0x0000000000000031 # CHECK-NEXT: - Tag: DT_VERSYM # CHECK-NEXT: Value: 0x0000000000000032 # CHECK-NEXT: - Tag: DT_VERDEF # CHECK-NEXT: Value: 0x0000000000000033 # CHECK-NEXT: - Tag: DT_VERDEFNUM # CHECK-NEXT: Value: 0x0000000000000034 # CHECK-NEXT: - Tag: DT_VERNEED # CHECK-NEXT: Value: 0x0000000000000035 # CHECK-NEXT: - Tag: DT_VERNEEDNUM # CHECK-NEXT: Value: 0x0000000000000036 # CHECK-NEXT: - Tag: DT_USED # CHECK-NEXT: Value: 0x0000000000000001 !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_DYN Machine: EM_X86_64 Sections: - Name: .dynamic Type: SHT_DYNAMIC Address: 0x0000000000001000 AddressAlign: 0x0000000000002000 EntSize: 0x0000000000000010 Entries: - Tag: DT_NULL Value: 0x0000000000000000 - Tag: DT_NEEDED Value: 0x0000000000000001 - Tag: DT_PLTRELSZ Value: 0x0000000000000002 - Tag: DT_PLTGOT Value: 0x0000000000000003 - Tag: DT_HASH Value: 0x0000000000000004 - Tag: DT_STRTAB Value: 0x0000000000000005 - Tag: DT_SYMTAB Value: 0x0000000000000006 - Tag: DT_RELA Value: 0x0000000000000007 - Tag: DT_RELASZ Value: 0x0000000000000008 - Tag: DT_RELAENT Value: 0x0000000000000009 - Tag: DT_STRSZ Value: 0x000000000000000A - Tag: DT_SYMENT Value: 0x000000000000000B - Tag: DT_INIT Value: 0x000000000000000C - Tag: DT_FINI Value: 0x000000000000000D - Tag: DT_SONAME Value: 0x000000000000000E - Tag: DT_RPATH Value: 0x000000000000000F - Tag: DT_SYMBOLIC Value: 0x0000000000000010 - Tag: DT_REL Value: 0x0000000000000011 - Tag: DT_RELSZ Value: 0x0000000000000012 - Tag: DT_RELENT Value: 0x0000000000000013 - Tag: DT_PLTREL Value: 0x0000000000000014 - Tag: DT_DEBUG Value: 0x0000000000000015 - Tag: DT_TEXTREL Value: 0x0000000000000016 - Tag: DT_JMPREL Value: 0x0000000000000017 - Tag: DT_BIND_NOW Value: 0x0000000000000018 - Tag: DT_INIT_ARRAY Value: 0x0000000000000019 - Tag: DT_FINI_ARRAY Value: 0x000000000000001A - Tag: DT_INIT_ARRAYSZ Value: 0x000000000000001B - Tag: DT_FINI_ARRAYSZ Value: 0x000000000000001C - Tag: DT_RUNPATH Value: 0x000000000000001D - Tag: DT_FLAGS Value: 0x000000000000001E - Tag: DT_PREINIT_ARRAY Value: 0x000000000000001F - Tag: DT_PREINIT_ARRAYSZ Value: 0x0000000000000020 - Tag: DT_SYMTAB_SHNDX Value: 0x0000000000000021 - Tag: DT_RELRSZ Value: 0x0000000000000022 - Tag: DT_RELR Value: 0x0000000000000023 - Tag: DT_RELRENT Value: 0x0000000000000024 - Tag: DT_ANDROID_REL Value: 0x0000000000000025 - Tag: DT_ANDROID_RELSZ Value: 0x0000000000000026 - Tag: DT_ANDROID_RELA Value: 0x0000000000000027 - Tag: DT_ANDROID_RELASZ Value: 0x0000000000000028 - Tag: DT_ANDROID_RELR Value: 0x0000000000000029 - Tag: DT_ANDROID_RELRSZ Value: 0x000000000000002A - Tag: DT_ANDROID_RELRENT Value: 0x000000000000002B - Tag: DT_GNU_HASH Value: 0x000000000000002C - Tag: DT_TLSDESC_PLT Value: 0x000000000000002D - Tag: DT_TLSDESC_GOT Value: 0x000000000000002E - Tag: DT_RELACOUNT Value: 0x000000000000002F - Tag: DT_RELCOUNT Value: 0x0000000000000030 - Tag: DT_FLAGS_1 Value: 0x0000000000000031 - Tag: DT_VERSYM Value: 0x0000000000000032 - Tag: DT_VERDEF Value: 0x0000000000000033 - Tag: DT_VERDEFNUM Value: 0x0000000000000034 - Tag: DT_VERNEED Value: 0x0000000000000035 - Tag: DT_VERNEEDNUM Value: 0x0000000000000036 - Tag: DT_USED Value: 0x0000000000000001