11f448149SJames Henderson# We want to preserve areas in segments that are not covered by section headers. 21f448149SJames Henderson# This test shows that we do this for areas at the start of a segment, between 31f448149SJames Henderson# sections in a segment, and after all sections in a segment. 41f448149SJames Henderson# To create inputs with arbitrary data in segments, not covered by sections, we 51f448149SJames Henderson# use yaml2obj to create segments with sections covering all areas, then remove 61f448149SJames Henderson# some sections in those segments, and finally write over the areas of the 71f448149SJames Henderson# removed sections using python. 81f448149SJames Henderson 91f448149SJames Henderson# blob* sections are the sections that will be removed to create unlabelled 101f448149SJames Henderson# areas and then overwritten with data to show we preserve the data. 111f448149SJames Henderson 121f448149SJames Henderson# RUN: yaml2obj %s -o %t.base 131f448149SJames Henderson# RUN: llvm-objcopy %t.base %t.stripped --regex -R blob.* 141f448149SJames Henderson# Show that the removal leaves the bytes as zeroes, as desired, for all our 151f448149SJames Henderson# test cases. 16818ab3d6SGeorgii Rymar# RUN: od -t x1 -j 0x2000 -N 28 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK1 -DPATTERN="00 00 00 00" 1742b7cd58SKai Nacke# RUN: od -t x1 -j 0x2100 -N 12 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK2 -DPATTERN="00 00 00 00" 1842b7cd58SKai Nacke# RUN: od -t x1 -j 0x2200 -N 4 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK3 -DPATTERN="00 00 00 00" 1942b7cd58SKai Nacke# RUN: od -t x1 -j 0x2300 -N 12 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK4 -DPATTERN="00 00 00 00" 2042b7cd58SKai Nacke# RUN: od -t x1 -j 0x3000 -N 68 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK5 -DPATTERN="00 00 00 00" 2142b7cd58SKai Nacke# RUN: od -t x1 -j 0x4000 -N 60 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK6 -DPATTERN="00 00 00 00" 2242b7cd58SKai Nacke# RUN: od -t x1 -j 0x5000 -N 60 %t.stripped | FileCheck %s --ignore-case --check-prefix=CHECK7 -DPATTERN="00 00 00 00" 231f448149SJames Henderson 241f448149SJames Henderson# RUN: cp %t.stripped %t.in 258245140dSAlexandre Ganea# RUN: echo "with open('%/t.in', 'rb+') as input:" > %t.py 261f448149SJames Henderson# RUN: echo " for offset in [" >> %t.py 27818ab3d6SGeorgii Rymar# RUN: echo " 0x2000, 0x2008, 0x200C, 0x2018, 0x2104, 0x2300," >> %t.py 281f448149SJames Henderson# RUN: echo " 0x3008, 0x3010, 0x3018, 0x3020, 0x3028, 0x302C, 0x3034, 0x303C," >> %t.py 291f448149SJames Henderson# RUN: echo " 0x4000, 0x4008, 0x4010, 0x4014, 0x401C, 0x4024, 0x4034," >> %t.py 301f448149SJames Henderson# RUN: echo " 0x5000, 0x5008, 0x5010, 0x501C, 0x5024, 0x502C, 0x5030, 0x5038]:" >> %t.py 311f448149SJames Henderson# RUN: echo " input.seek(offset)" >> %t.py 328245140dSAlexandre Ganea# RUN: echo " input.write(bytearray.fromhex('DEADBEEF'))" >> %t.py 331f448149SJames Henderson# RUN: %python %t.py 341f448149SJames Henderson# RUN: llvm-objcopy %t.in %t.out 35818ab3d6SGeorgii Rymar# RUN: od -t x1 -j 0x2000 -N 28 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK1 -DPATTERN="de ad be ef" 3642b7cd58SKai Nacke# RUN: od -t x1 -j 0x2100 -N 12 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK2 -DPATTERN="de ad be ef" 3742b7cd58SKai Nacke# RUN: od -t x1 -j 0x2200 -N 4 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK3 -DPATTERN="de ad be ef" 3842b7cd58SKai Nacke# RUN: od -t x1 -j 0x2300 -N 12 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK4 -DPATTERN="de ad be ef" 3942b7cd58SKai Nacke# RUN: od -t x1 -j 0x3000 -N 68 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK5 -DPATTERN="de ad be ef" 4042b7cd58SKai Nacke# RUN: od -t x1 -j 0x4000 -N 60 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK6 -DPATTERN="de ad be ef" 4142b7cd58SKai Nacke# RUN: od -t x1 -j 0x5000 -N 60 %t.out | FileCheck %s --ignore-case --check-prefix=CHECK7 -DPATTERN="de ad be ef" 421f448149SJames Henderson 431f448149SJames Henderson# CHECK1: [[PATTERN]] 11 22 33 44 [[PATTERN]] [[PATTERN]] 44818ab3d6SGeorgii Rymar# CHECK1-NEXT: 00 00 00 00 55 66 77 88 [[PATTERN]] 451f448149SJames Henderson# CHECK2: 99 00 aa bb [[PATTERN]] cc dd ee ff 461f448149SJames Henderson# CHECK3: fe fe fe fe 471f448149SJames Henderson# CHECK4: [[PATTERN]] 00 00 00 00 00 00 00 00 481f448149SJames Henderson# CHECK5: ff ff ee ee dd dd cc cc [[PATTERN]] bb bb aa aa 491f448149SJames Henderson# CHECK5-NEXT: [[PATTERN]] 00 00 99 99 [[PATTERN]] 88 88 77 77 501f448149SJames Henderson# CHECK5-NEXT: [[PATTERN]] 66 66 55 55 [[PATTERN]] [[PATTERN]] 511f448149SJames Henderson# CHECK5-NEXT: 44 44 33 33 [[PATTERN]] 22 22 11 11 [[PATTERN]] 521f448149SJames Henderson# CHECK5-NEXT: 00 11 22 33 531f448149SJames Henderson# CHECK6: [[PATTERN]] 44 55 66 77 [[PATTERN]] 88 99 aa bb 541f448149SJames Henderson# CHECK6-NEXT: [[PATTERN]] [[PATTERN]] cc dd ee ff [[PATTERN]] 551f448149SJames Henderson# CHECK6-NEXT: ff ee dd cc [[PATTERN]] bb aa 99 88 77 66 55 44 561f448149SJames Henderson# CHECK6-NEXT: 33 22 11 00 [[PATTERN]] 11 11 11 11 571f448149SJames Henderson# CHECK7: [[PATTERN]] 12 34 56 78 [[PATTERN]] 90 ab cd ef 581f448149SJames Henderson# CHECK7-NEXT: [[PATTERN]] fe dc ba 09 87 65 43 21 [[PATTERN]] 591f448149SJames Henderson# CHECK7-NEXT: 22 22 22 22 [[PATTERN]] 33 33 33 33 [[PATTERN]] 601f448149SJames Henderson# CHECK7-NEXT: [[PATTERN]] 44 44 44 44 [[PATTERN]] 611f448149SJames Henderson 621f448149SJames Henderson--- !ELF 631f448149SJames HendersonFileHeader: 641f448149SJames Henderson Class: ELFCLASS64 651f448149SJames Henderson Data: ELFDATA2LSB 661f448149SJames Henderson Type: ET_EXEC 671f448149SJames Henderson Machine: EM_X86_64 681f448149SJames HendersonSections: 691f448149SJames Henderson - Name: blob1 701f448149SJames Henderson Type: SHT_PROGBITS 711f448149SJames Henderson Content: 'abbababa' 721f448149SJames Henderson Address: 0x2000 731f448149SJames Henderson AddressAlign: 0x2000 741f448149SJames Henderson - Name: section1 751f448149SJames Henderson Type: SHT_PROGBITS 761f448149SJames Henderson Address: 0x2004 771f448149SJames Henderson Content: '11223344' 781f448149SJames Henderson - Name: blob2 791f448149SJames Henderson Type: SHT_PROGBITS 801f448149SJames Henderson Content: 'abbababa' 811f448149SJames Henderson Address: 0x2008 821f448149SJames Henderson - Name: section2 831f448149SJames Henderson Type: SHT_NOBITS 841f448149SJames Henderson Size: 4 851f448149SJames Henderson Address: 0x200C 861f448149SJames Henderson - Name: blob3 871f448149SJames Henderson Type: SHT_PROGBITS 881f448149SJames Henderson Content: 'abbababa' 891f448149SJames Henderson Address: 0x2010 901f448149SJames Henderson - Name: section3 911f448149SJames Henderson Type: SHT_PROGBITS 921f448149SJames Henderson Content: '55667788' 931f448149SJames Henderson Address: 0x2014 941f448149SJames Henderson - Name: blob4 951f448149SJames Henderson Type: SHT_PROGBITS 961f448149SJames Henderson Content: 'abbababa' 971f448149SJames Henderson Address: 0x2018 981f448149SJames Henderson - Name: section4 991f448149SJames Henderson Type: SHT_PROGBITS 1001f448149SJames Henderson Content: '9900aabb' 1011f448149SJames Henderson Address: 0x2100 1021f448149SJames Henderson AddressAlign: 0x100 1031f448149SJames Henderson - Name: blob5 1041f448149SJames Henderson Type: SHT_PROGBITS 1051f448149SJames Henderson Content: 'abbababa' 1061f448149SJames Henderson Address: 0x2104 1071f448149SJames Henderson - Name: section5 1081f448149SJames Henderson Type: SHT_PROGBITS 1091f448149SJames Henderson Address: 0x2108 1101f448149SJames Henderson Content: 'ccddeeff' 1111f448149SJames Henderson - Name: section6 1121f448149SJames Henderson Type: SHT_PROGBITS 1131f448149SJames Henderson Content: 'fefefefe' 1141f448149SJames Henderson Address: 0x2200 1151f448149SJames Henderson AddressAlign: 0x100 1161f448149SJames Henderson - Name: blob6 1171f448149SJames Henderson Type: SHT_PROGBITS 1181f448149SJames Henderson Content: 'abbababa' 1191f448149SJames Henderson Address: 0x2300 1201f448149SJames Henderson AddressAlign: 0x100 1211f448149SJames Henderson - Name: sectionA 1221f448149SJames Henderson Type: SHT_PROGBITS 1231f448149SJames Henderson Content: 'ffffeeee' 1241f448149SJames Henderson Address: 0x3000 1251f448149SJames Henderson AddressAlign: 0x1000 1261f448149SJames Henderson - Name: sectionB 1271f448149SJames Henderson Type: SHT_PROGBITS 1281f448149SJames Henderson Content: 'ddddcccc' 1291f448149SJames Henderson Address: 0x3004 1301f448149SJames Henderson - Name: blobA 1311f448149SJames Henderson Type: SHT_PROGBITS 1321f448149SJames Henderson Content: 'abbababa' 1331f448149SJames Henderson Address: 0x3008 1341f448149SJames Henderson - Name: sectionC 1351f448149SJames Henderson Type: SHT_PROGBITS 1361f448149SJames Henderson Content: 'bbbbaaaa' 1371f448149SJames Henderson Address: 0x300C 1381f448149SJames Henderson - Name: blobB 1391f448149SJames Henderson Type: SHT_PROGBITS 1401f448149SJames Henderson Content: 'abbababa' 1411f448149SJames Henderson Address: 0x3010 1421f448149SJames Henderson - Name: sectionD 1431f448149SJames Henderson Type: SHT_PROGBITS 1441f448149SJames Henderson Content: '00009999' 1451f448149SJames Henderson Address: 0x3014 1461f448149SJames Henderson - Name: blobC 1471f448149SJames Henderson Type: SHT_PROGBITS 1481f448149SJames Henderson Content: 'abbababa' 1491f448149SJames Henderson Address: 0x3018 1501f448149SJames Henderson - Name: sectionE 1511f448149SJames Henderson Type: SHT_PROGBITS 1521f448149SJames Henderson Content: '88887777' 1531f448149SJames Henderson Address: 0x301C 1541f448149SJames Henderson - Name: blobD 1551f448149SJames Henderson Type: SHT_PROGBITS 1561f448149SJames Henderson Content: 'abbababa' 1571f448149SJames Henderson Address: 0x3020 1581f448149SJames Henderson - Name: sectionF 1591f448149SJames Henderson Type: SHT_PROGBITS 1601f448149SJames Henderson Content: '66665555' 1611f448149SJames Henderson Address: 0x3024 1621f448149SJames Henderson - Name: blobE 1631f448149SJames Henderson Type: SHT_PROGBITS 1641f448149SJames Henderson Content: 'abbababa' 1651f448149SJames Henderson Address: 0x3028 1661f448149SJames Henderson - Name: blobF 1671f448149SJames Henderson Type: SHT_PROGBITS 1681f448149SJames Henderson Content: 'abbababa' 1691f448149SJames Henderson Address: 0x302C 1701f448149SJames Henderson - Name: sectionG 1711f448149SJames Henderson Type: SHT_PROGBITS 1721f448149SJames Henderson Content: '44443333' 1731f448149SJames Henderson Address: 0x3030 1741f448149SJames Henderson - Name: blobG 1751f448149SJames Henderson Type: SHT_PROGBITS 1761f448149SJames Henderson Content: 'abbababa' 1771f448149SJames Henderson Address: 0x3034 1781f448149SJames Henderson - Name: sectionH 1791f448149SJames Henderson Type: SHT_PROGBITS 1801f448149SJames Henderson Content: '22221111' 1811f448149SJames Henderson Address: 0x3038 1821f448149SJames Henderson - Name: blobH 1831f448149SJames Henderson Type: SHT_PROGBITS 1841f448149SJames Henderson Content: 'abbababa' 1851f448149SJames Henderson Address: 0x303C 1861f448149SJames Henderson - Name: sectionI 1871f448149SJames Henderson Type: SHT_PROGBITS 1881f448149SJames Henderson Content: '00112233' 1891f448149SJames Henderson Address: 0x3040 1901f448149SJames Henderson - Name: blobz 1911f448149SJames Henderson Type: SHT_PROGBITS 1921f448149SJames Henderson Content: 'abbababa' 1931f448149SJames Henderson Address: 0x4000 1941f448149SJames Henderson AddressAlign: 0x1000 1951f448149SJames Henderson - Name: sectionz 1961f448149SJames Henderson Type: SHT_PROGBITS 1971f448149SJames Henderson Content: '44556677' 1981f448149SJames Henderson Address: 0x4004 1991f448149SJames Henderson - Name: bloby 2001f448149SJames Henderson Type: SHT_PROGBITS 2011f448149SJames Henderson Content: 'abbababa' 2021f448149SJames Henderson Address: 0x4008 2031f448149SJames Henderson - Name: sectiony 2041f448149SJames Henderson Type: SHT_PROGBITS 2051f448149SJames Henderson Content: '8899aabb' 2061f448149SJames Henderson Address: 0x400C 2071f448149SJames Henderson - Name: blobx 2081f448149SJames Henderson Type: SHT_PROGBITS 2091f448149SJames Henderson Content: 'abbababa' 2101f448149SJames Henderson Address: 0x4010 2111f448149SJames Henderson - Name: blobw 2121f448149SJames Henderson Type: SHT_PROGBITS 2131f448149SJames Henderson Content: 'abbababa' 2141f448149SJames Henderson Address: 0x4014 2151f448149SJames Henderson - Name: sectionx 2161f448149SJames Henderson Type: SHT_PROGBITS 2171f448149SJames Henderson Content: 'ccddeeff' 2181f448149SJames Henderson Address: 0x4018 2191f448149SJames Henderson - Name: blobv 2201f448149SJames Henderson Type: SHT_PROGBITS 2211f448149SJames Henderson Content: 'abbababa' 2221f448149SJames Henderson Address: 0x401C 2231f448149SJames Henderson - Name: sectionw 2241f448149SJames Henderson Type: SHT_PROGBITS 2251f448149SJames Henderson Content: 'ffeeddcc' 2261f448149SJames Henderson Address: 0x4020 2271f448149SJames Henderson - Name: blobu 2281f448149SJames Henderson Type: SHT_PROGBITS 2291f448149SJames Henderson Content: 'abbababa' 2301f448149SJames Henderson Address: 0x4024 2311f448149SJames Henderson - Name: sectionv 2321f448149SJames Henderson Type: SHT_PROGBITS 2331f448149SJames Henderson Content: 'bbaa9988' 2341f448149SJames Henderson Address: 0x4028 2351f448149SJames Henderson - Name: sectionu 2361f448149SJames Henderson Type: SHT_PROGBITS 2371f448149SJames Henderson Content: '77665544' 2381f448149SJames Henderson Address: 0x402C 2391f448149SJames Henderson - Name: sectiont 2401f448149SJames Henderson Type: SHT_PROGBITS 2411f448149SJames Henderson Content: '33221100' 2421f448149SJames Henderson Address: 0x4030 2431f448149SJames Henderson - Name: blobt 2441f448149SJames Henderson Type: SHT_PROGBITS 2451f448149SJames Henderson Content: 'abbababa' 2461f448149SJames Henderson Address: 0x4034 2471f448149SJames Henderson - Name: sections 2481f448149SJames Henderson Type: SHT_PROGBITS 2491f448149SJames Henderson Content: '11111111' 2501f448149SJames Henderson Address: 0x4038 2511f448149SJames Henderson - Name: bloba 2521f448149SJames Henderson Type: SHT_PROGBITS 2531f448149SJames Henderson Content: 'abbababa' 2541f448149SJames Henderson Address: 0x5000 2551f448149SJames Henderson AddressAlign: 0x1000 2561f448149SJames Henderson - Name: sectiona 2571f448149SJames Henderson Type: SHT_PROGBITS 2581f448149SJames Henderson Content: '12345678' 2591f448149SJames Henderson Address: 0x5004 2601f448149SJames Henderson - Name: blobb 2611f448149SJames Henderson Type: SHT_PROGBITS 2621f448149SJames Henderson Content: 'abbababa' 2631f448149SJames Henderson Address: 0x5008 2641f448149SJames Henderson - Name: sectionb 2651f448149SJames Henderson Type: SHT_PROGBITS 2661f448149SJames Henderson Content: '90abcdef' 2671f448149SJames Henderson Address: 0x500C 2681f448149SJames Henderson - Name: blobc 2691f448149SJames Henderson Type: SHT_PROGBITS 2701f448149SJames Henderson Content: 'abbababa' 2711f448149SJames Henderson Address: 0x5010 2721f448149SJames Henderson - Name: sectionc 2731f448149SJames Henderson Type: SHT_PROGBITS 2741f448149SJames Henderson Content: 'fedcba09' 2751f448149SJames Henderson Address: 0x5014 2761f448149SJames Henderson - Name: sectiond 2771f448149SJames Henderson Type: SHT_PROGBITS 2781f448149SJames Henderson Content: '87654321' 2791f448149SJames Henderson Address: 0x5018 2801f448149SJames Henderson - Name: blobd 2811f448149SJames Henderson Type: SHT_PROGBITS 2821f448149SJames Henderson Content: 'abbababa' 2831f448149SJames Henderson Address: 0x501C 2841f448149SJames Henderson - Name: sectione 2851f448149SJames Henderson Type: SHT_PROGBITS 2861f448149SJames Henderson Content: '22222222' 2871f448149SJames Henderson Address: 0x5020 2881f448149SJames Henderson - Name: blobe 2891f448149SJames Henderson Type: SHT_PROGBITS 2901f448149SJames Henderson Content: 'abbababa' 2911f448149SJames Henderson Address: 0x5024 2921f448149SJames Henderson - Name: sectionf 2931f448149SJames Henderson Type: SHT_PROGBITS 2941f448149SJames Henderson Content: '33333333' 2951f448149SJames Henderson Address: 0x5028 2961f448149SJames Henderson - Name: blobf 2971f448149SJames Henderson Type: SHT_PROGBITS 2981f448149SJames Henderson Content: 'abbababa' 2991f448149SJames Henderson Address: 0x502C 3001f448149SJames Henderson - Name: blobg 3011f448149SJames Henderson Type: SHT_PROGBITS 3021f448149SJames Henderson Content: 'abbababa' 3031f448149SJames Henderson Address: 0x5030 3041f448149SJames Henderson - Name: sectiong 3051f448149SJames Henderson Type: SHT_PROGBITS 3061f448149SJames Henderson Content: '44444444' 3071f448149SJames Henderson Address: 0x5034 3081f448149SJames Henderson - Name: blobh 3091f448149SJames Henderson Type: SHT_PROGBITS 3101f448149SJames Henderson Content: 'abbababa' 3111f448149SJames Henderson Address: 0x5038 3121f448149SJames HendersonProgramHeaders: 3131f448149SJames Henderson # First segment has unlabelled space at start and end. 3141f448149SJames Henderson - Type: 0x6ABCDEF0 # Non-specific segment type. 3151f448149SJames Henderson VAddr: 0x2000 3161f448149SJames Henderson Align: 0x2000 317*a7a447beSGeorgii Rymar FirstSec: blob1 318*a7a447beSGeorgii Rymar LastSec: blob4 3191f448149SJames Henderson # Second segment has sections at start and end. 3201f448149SJames Henderson - Type: 0x6ABCDEF0 3211f448149SJames Henderson VAddr: 0x2100 3221f448149SJames Henderson Align: 0x100 323*a7a447beSGeorgii Rymar FirstSec: section4 324*a7a447beSGeorgii Rymar LastSec: section5 3251f448149SJames Henderson # Third segment is all covered by a section. 3261f448149SJames Henderson - Type: 0x6ABCDEF0 3271f448149SJames Henderson VAddr: 0x2200 3281f448149SJames Henderson Align: 0x100 329*a7a447beSGeorgii Rymar FirstSec: section6 330*a7a447beSGeorgii Rymar LastSec: section6 3311f448149SJames Henderson # Fourth segment has no sections (after removing blob headers). 3321f448149SJames Henderson - Type: 0x6ABCDEF0 3331f448149SJames Henderson VAddr: 0x2300 3341f448149SJames Henderson Align: 0x100 335*a7a447beSGeorgii Rymar FirstSec: blob6 336*a7a447beSGeorgii Rymar LastSec: blob6 3371f448149SJames Henderson # Fifth segment is empty. 3381f448149SJames Henderson - Type: 0x6ABCDEF0 3391f448149SJames Henderson VAddr: 0x2308 3401f448149SJames Henderson Offset: 0x2308 3411f448149SJames Henderson # The next few segments test behaviour of fully nested segments. 3421f448149SJames Henderson # Sixth segment is the "parent" segment. 3431f448149SJames Henderson - Type: 0x6ABCDEF0 3441f448149SJames Henderson VAddr: 0x3000 3451f448149SJames Henderson Align: 0x1000 346*a7a447beSGeorgii Rymar FirstSec: sectionA 347*a7a447beSGeorgii Rymar LastSec: sectionI 3481f448149SJames Henderson # Seventh segment is empty and nested. 3491f448149SJames Henderson - Type: 0x6ABCDEF0 3501f448149SJames Henderson VAddr: 0x3002 3511f448149SJames Henderson Offset: 0x3002 3521f448149SJames Henderson # Eighth segment contains only a section and is nested. 3531f448149SJames Henderson - Type: 0x6ABCDEF0 3541f448149SJames Henderson VAddr: 0x3004 355*a7a447beSGeorgii Rymar FirstSec: sectionB 356*a7a447beSGeorgii Rymar LastSec: sectionB 3571f448149SJames Henderson # Ninth segment contains only unlabelled space and is nested. 3581f448149SJames Henderson - Type: 0x6ABCDEF0 3591f448149SJames Henderson VAddr: 0x3008 360*a7a447beSGeorgii Rymar FirstSec: blobA 361*a7a447beSGeorgii Rymar LastSec: blobA 3621f448149SJames Henderson # Tenth segment contains two sections with space between and is nested. 3631f448149SJames Henderson - Type: 0x6ABCDEF0 3641f448149SJames Henderson VAddr: 0x300C 365*a7a447beSGeorgii Rymar FirstSec: sectionC 366*a7a447beSGeorgii Rymar LastSec: sectionD 3671f448149SJames Henderson # Eleventh segment contains two sections with space between and at ends and is nested. 3681f448149SJames Henderson - Type: 0x6ABCDEF0 3691f448149SJames Henderson VAddr: 0x3018 370*a7a447beSGeorgii Rymar FirstSec: blobC 371*a7a447beSGeorgii Rymar LastSec: blobE 3721f448149SJames Henderson # Twelfth segment contains one section with space at ends adjacent to space in parent segment. 3731f448149SJames Henderson - Type: 0x6ABCDEF0 3741f448149SJames Henderson VAddr: 0x302E 3751f448149SJames Henderson Offset: 0x302E 3761f448149SJames Henderson FileSize: 8 377*a7a447beSGeorgii Rymar FirstSec: sectionG 378*a7a447beSGeorgii Rymar LastSec: sectionG 3791f448149SJames Henderson # Thirteenth segment contains overlaps sections at either end in parent segment. 3801f448149SJames Henderson - Type: 0x6ABCDEF0 3811f448149SJames Henderson VAddr: 0x303A 3821f448149SJames Henderson Offset: 0x303A 3831f448149SJames Henderson FileSize: 0x8 384*a7a447beSGeorgii Rymar FirstSec: blobH 385*a7a447beSGeorgii Rymar LastSec: blobH 3861f448149SJames Henderson 3871f448149SJames Henderson # The next batch of segments are segments that only partially overlap other segments. 3881f448149SJames Henderson 3891f448149SJames Henderson # Segment14: |-unlabelled-|-Sec-| 3901f448149SJames Henderson # Segment15: |--|-Sec-|-unlabelled-| 3911f448149SJames Henderson - Type: 0x6ABCDEF0 3921f448149SJames Henderson VAddr: 0x4000 393*a7a447beSGeorgii Rymar FirstSec: blobz 394*a7a447beSGeorgii Rymar LastSec: sectionz 3951f448149SJames Henderson - Type: 0x6ABCDEF0 3961f448149SJames Henderson VAddr: 0x4002 3971f448149SJames Henderson Offset: 0x4002 398*a7a447beSGeorgii Rymar FirstSec: sectionz 399*a7a447beSGeorgii Rymar LastSec: bloby 4001f448149SJames Henderson 4011f448149SJames Henderson # Segment16: |-Sec-|--| 4021f448149SJames Henderson # Segment17: |--|----unlabelled---| 4031f448149SJames Henderson - Type: 0x6ABCDEF0 4041f448149SJames Henderson VAddr: 0x400C 4051f448149SJames Henderson FileSize: 6 406*a7a447beSGeorgii Rymar FirstSec: sectiony 407*a7a447beSGeorgii Rymar LastSec: sectiony 4081f448149SJames Henderson - Type: 0x6ABCDEF0 4091f448149SJames Henderson VAddr: 0x400E 4101f448149SJames Henderson Offset: 0x400E 411*a7a447beSGeorgii Rymar FirstSec: blobx 412*a7a447beSGeorgii Rymar LastSec: blobx 4131f448149SJames Henderson 4141f448149SJames Henderson # Segment18: |-unlabelled-|-Sec-| 4151f448149SJames Henderson # Segment19: |-Sec-|-unlabelled-| 4161f448149SJames Henderson - Type: 0x6ABCDEF0 4171f448149SJames Henderson VAddr: 0x4014 418*a7a447beSGeorgii Rymar FirstSec: blobw 419*a7a447beSGeorgii Rymar LastSec: sectionx 4201f448149SJames Henderson - Type: 0x6ABCDEF0 4211f448149SJames Henderson VAddr: 0x4018 422*a7a447beSGeorgii Rymar FirstSec: sectionx 423*a7a447beSGeorgii Rymar LastSec: blobv 4241f448149SJames Henderson 4251f448149SJames Henderson # Segment20: |-Sec-| 4261f448149SJames Henderson # Segment21: |--|-unlabelled-|-Sec-| 4271f448149SJames Henderson - Type: 0x6ABCDEF0 4281f448149SJames Henderson VAddr: 0x4020 429*a7a447beSGeorgii Rymar FirstSec: sectionw 430*a7a447beSGeorgii Rymar LastSec: sectionw 431*a7a447beSGeorgii Rymar 4321f448149SJames Henderson - Type: 0x6ABCDEF0 4331f448149SJames Henderson VAddr: 0x4022 4341f448149SJames Henderson Offset: 0x4022 435*a7a447beSGeorgii Rymar FirstSec: blobu 436*a7a447beSGeorgii Rymar LastSec: sectionv 4371f448149SJames Henderson 4381f448149SJames Henderson # Segment22: |-Sec-| 4391f448149SJames Henderson # Segment23: |--|-Sec-| 4401f448149SJames Henderson - Type: 0x6ABCDEF0 4411f448149SJames Henderson VAddr: 0x402C 442*a7a447beSGeorgii Rymar FirstSec: sectionu 443*a7a447beSGeorgii Rymar LastSec: sectionu 4441f448149SJames Henderson - Type: 0x6ABCDEF0 4451f448149SJames Henderson VAddr: 0x402E 4461f448149SJames Henderson Offset: 0x402E 447*a7a447beSGeorgii Rymar FirstSec: sectiont 448*a7a447beSGeorgii Rymar LastSec: sectiont 4491f448149SJames Henderson 4501f448149SJames Henderson # Segment24: |-unlabelled-|--| 4511f448149SJames Henderson # Segment25: |--Sec--| 4521f448149SJames Henderson - Type: 0x6ABCDEF0 4531f448149SJames Henderson VAddr: 0x4034 4541f448149SJames Henderson FileSize: 6 455*a7a447beSGeorgii Rymar FirstSec: blobt 456*a7a447beSGeorgii Rymar LastSec: blobt 4571f448149SJames Henderson - Type: 0x6ABCDEF0 4581f448149SJames Henderson VAddr: 0x4038 459*a7a447beSGeorgii Rymar FirstSec: sections 460*a7a447beSGeorgii Rymar LastSec: sections 4611f448149SJames Henderson 4621f448149SJames Henderson # The next batch of segments represent groups of three nested/overlapping segments, 4631f448149SJames Henderson # with one parent segment containing two overlapping segments. 4641f448149SJames Henderson 4651f448149SJames Henderson # Segment26: |-unlabelled-|-Sec-|-unlabelled-| 4661f448149SJames Henderson # Segment27: |------------|--| 4671f448149SJames Henderson # Segment28: |-Sec-|------------| 4681f448149SJames Henderson - Type: 0x6ABCDEF0 4691f448149SJames Henderson VAddr: 0x5000 4701f448149SJames Henderson Align: 0x1000 471*a7a447beSGeorgii Rymar FirstSec: bloba 472*a7a447beSGeorgii Rymar LastSec: blobb 4731f448149SJames Henderson - Type: 0x6ABCDEF0 4741f448149SJames Henderson VAddr: 0x5000 4751f448149SJames Henderson FileSize: 6 476*a7a447beSGeorgii Rymar FirstSec: bloba 477*a7a447beSGeorgii Rymar LastSec: bloba 4781f448149SJames Henderson - Type: 0x6ABCDEF0 4791f448149SJames Henderson VAddr: 0x5004 480*a7a447beSGeorgii Rymar FirstSec: sectiona 481*a7a447beSGeorgii Rymar LastSec: blobb 4821f448149SJames Henderson 4831f448149SJames Henderson # Segment29: |-Sec-|-unlabelled-|-Sec-| 4841f448149SJames Henderson # Segment30: |-Sec-|--------| 4851f448149SJames Henderson # Segment31: |---------|-Sec-| 4861f448149SJames Henderson - Type: 0x6ABCDEF0 4871f448149SJames Henderson VAddr: 0x500C 488*a7a447beSGeorgii Rymar FirstSec: sectionb 489*a7a447beSGeorgii Rymar LastSec: sectionc 4901f448149SJames Henderson - Type: 0x6ABCDEF0 4911f448149SJames Henderson VAddr: 0x500C 4921f448149SJames Henderson FileSize: 7 493*a7a447beSGeorgii Rymar FirstSec: sectionb 494*a7a447beSGeorgii Rymar LastSec: sectionb 4951f448149SJames Henderson - Type: 0x6ABCDEF0 4961f448149SJames Henderson VAddr: 0x5011 4971f448149SJames Henderson Offset: 0x5011 498*a7a447beSGeorgii Rymar FirstSec: sectionc 499*a7a447beSGeorgii Rymar LastSec: sectionc 5001f448149SJames Henderson 5011f448149SJames Henderson # Segment32: |-Sec-|-unlabelled-|-Sec-| 5021f448149SJames Henderson # Segment33: |-Sec-|------------| 5031f448149SJames Henderson # Segment34: |------------|-Sec-| 5041f448149SJames Henderson - Type: 0x6ABCDEF0 5051f448149SJames Henderson VAddr: 0x5018 506*a7a447beSGeorgii Rymar FirstSec: sectiond 507*a7a447beSGeorgii Rymar LastSec: sectione 5081f448149SJames Henderson - Type: 0x6ABCDEF0 5091f448149SJames Henderson VAddr: 0x5018 510*a7a447beSGeorgii Rymar FirstSec: sectiond 511*a7a447beSGeorgii Rymar LastSec: blobd 5121f448149SJames Henderson - Type: 0x6ABCDEF0 5131f448149SJames Henderson VAddr: 0x501C 514*a7a447beSGeorgii Rymar FirstSec: blobd 515*a7a447beSGeorgii Rymar LastSec: sectione 5161f448149SJames Henderson 5171f448149SJames Henderson # Segment35: |-unlabelled-|-Sec-|-unlabelled-| 5181f448149SJames Henderson # Segment36: |------------|-Sec-| 5191f448149SJames Henderson # Segment37: |-Sec-|------------| 5201f448149SJames Henderson - Type: 0x6ABCDEF0 5211f448149SJames Henderson VAddr: 0x5024 522*a7a447beSGeorgii Rymar FirstSec: blobe 523*a7a447beSGeorgii Rymar LastSec: blobf 5241f448149SJames Henderson - Type: 0x6ABCDEF0 5251f448149SJames Henderson VAddr: 0x5024 526*a7a447beSGeorgii Rymar FirstSec: blobe 527*a7a447beSGeorgii Rymar LastSec: sectionf 5281f448149SJames Henderson - Type: 0x6ABCDEF0 5291f448149SJames Henderson VAddr: 0x5028 530*a7a447beSGeorgii Rymar FirstSec: sectionf 531*a7a447beSGeorgii Rymar LastSec: blobf 5321f448149SJames Henderson 5331f448149SJames Henderson # Segment38: |-unlabelled-|-Sec-|-unlabelled-| 5341f448149SJames Henderson # Segment39: |------------|---| 5351f448149SJames Henderson # Segment40: |---|------------| 5361f448149SJames Henderson - Type: 0x6ABCDEF0 5371f448149SJames Henderson VAddr: 0x5030 538*a7a447beSGeorgii Rymar FirstSec: blobg 539*a7a447beSGeorgii Rymar LastSec: blobh 5401f448149SJames Henderson - Type: 0x6ABCDEF0 5411f448149SJames Henderson VAddr: 0x5030 5421f448149SJames Henderson FileSize: 7 543*a7a447beSGeorgii Rymar FirstSec: blobg 544*a7a447beSGeorgii Rymar LastSec: blobg 5451f448149SJames Henderson - Type: 0x6ABCDEF0 5461f448149SJames Henderson VAddr: 0x5035 5471f448149SJames Henderson Offset: 0x5035 548*a7a447beSGeorgii Rymar FirstSec: blobh 549*a7a447beSGeorgii Rymar LastSec: blobh 550