!ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Machine: EM_X86_64 Sections: - Name: .text # This section contents exceeds default IHex line length of 16 bytes # so we expect two lines created for it. Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Address: 0x0 AddressAlign: 0x8 Content: "000102030405060708090A0B0C0D0E0F1011121314" - Name: .data # This section overlap 16-bit segment boundary, so we expect # additional 'SegmentAddr' record of type '02' Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] Content: "3031323334353637383940" Address: 0xFFF8 AddressAlign: 0x8 - Name: .data2 # Previous section '.data' should have forced creation of # 'SegmentAddr'(02) record with segment address of 0x10000, # so this section should have address of 0x100. Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] Content: "40414243" Address: 0x10100 AddressAlign: 0x8 - Name: .data3 # The last section not only overlaps segment boundary, but # also has linear address which doesn't fit 20 bits. The # following records should be craeted: # 'SegmentAddr'(02) record with address 0x0 # 'ExtendedAddr'(04) record with address 0x100000 # 'Data'(00) record with 8 bytes of section data # 'SegmentAddr'(02) record with address 0x10000 # 'Data'(00) record with remaining 3 bytes of data. Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] Content: "5051525354555657585960" Address: 0x10FFF8 AddressAlign: 0x8 - Name: .bss # NOBITS sections are not written to IHex Type: SHT_NOBITS Flags: [ SHF_ALLOC ] Address: 0x10100 Size: 0x1000 AddressAlign: 0x8 - Name: .dummy # Non-allocatable sections are not written to IHex Type: SHT_PROGBITS Flags: [ ] Address: 0x20FFF8 Size: 65536 AddressAlign: 0x8