예제 #1
0
        private void Given_Linker(bool big_endian)
        {
            BuildObjectFile32();
            mr.ReplayAll();

            var eil = new ElfImageLoader(sc, "foo.o", rawBytes);

            eil.LoadElfIdentification();
            var eh = Elf32_EHdr.Load(new BeImageReader(rawBytes, ElfImageLoader.HEADER_OFFSET));
            var el = new ElfLoader32(eil, eh, rawBytes, big_endian ? ElfLoader.ELFDATA2MSB : ElfLoader.ELFDATA2LSB);

            el.LoadSectionHeaders();
            el.LoadSymbols();
            this.linker = new ElfObjectLinker32(el, arch, rawBytes);
        }