File: ihex-elf-sections.yaml

package info (click to toggle)
llvm-toolchain-9 1%3A9.0.1-16
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 882,436 kB
  • sloc: cpp: 4,167,636; ansic: 714,256; asm: 457,610; python: 155,927; objc: 65,094; sh: 42,856; lisp: 26,908; perl: 7,786; pascal: 7,722; makefile: 6,881; ml: 5,581; awk: 3,648; cs: 2,027; xml: 888; javascript: 381; ruby: 156
file content (60 lines) | stat: -rw-r--r-- 2,167 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
!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