public void EL32_DisjointSegments() { Given_RawImage("C0 DE 00 00 00 00 00 00 DA 7A 00 00"); Given_ImageHeader(ElfMachine.EM_386); Given_ProgramHeader(ProgramHeaderType.PT_LOAD, 0, 0x1000, 8, 8); Given_ProgramHeader(ProgramHeaderType.PT_LOAD, 8, 0x2000, 4, 16); Given_Section(".text", 0x1000, "rx"); Given_Section(".data", 0x2000, "rw"); Given_Section(".bss", 0x2008, "rw"); When_CreateLoader32(false); var segmentMap = el32.LoadImageBytes(platform.Object, this.bytes, Address.Ptr32(0x1000)); Assert.IsTrue(segmentMap.TryFindSegment(Address.Ptr32(0x1001), out ImageSegment segText)); Assert.AreEqual(".text", segText.Name); Assert.AreEqual(8, segText.Size); }