File: ihex-elf-sections.yaml

package info (click to toggle)
llvm-toolchain-16 1%3A16.0.6-15~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,634,792 kB
  • sloc: cpp: 6,179,261; ansic: 1,216,205; asm: 741,319; python: 196,614; objc: 75,325; f90: 49,640; lisp: 32,396; pascal: 12,286; sh: 9,394; perl: 7,442; ml: 5,494; awk: 3,523; makefile: 2,723; javascript: 1,206; xml: 886; fortran: 581; cs: 573
file content (60 lines) | stat: -rw-r--r-- 2,167 bytes parent folder | download | duplicates (16)
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 created:
# '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