Abstract class, that represents sections in an executable file provided by the linker.
Exemplo n.º 1
0
        protected BaseLinker()
        {
            Sections = new LinkerSection[4];
            //LinkRequests = new List<LinkRequest>();

            Endianness = Common.Endianness.Little;
            MachineID = 0;

            BaseAddress = 0x00400000; // Use the Win32 default for now
            SectionAlignment = 0x1000; // default 1K
            BaseFileOffset = 0;
        }
Exemplo n.º 2
0
        protected BaseLinker()
        {
            Sections     = new LinkerSection[4];
            LinkRequests = new List <LinkRequest>();

            Endianness = Common.Endianness.Little;
            MachineID  = 0;

            BaseAddress      = 0x00400000;        // Use the Win32 default for now
            SectionAlignment = 0x1000;            // default 1K
            BaseFileOffset   = 0;
        }
Exemplo n.º 3
0
        public BaseLinker(ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType)
        {
            LinkerSections = new LinkerSection[4];

            BaseAddress = baseAddress;
            Endianness  = endianness;
            MachineType = machineType;
            EmitSymbols = emitSymbols;

            elfLinker = new ElfLinker(this, LinkerFormatType);

            BaseFileOffset   = elfLinker.BaseFileOffset;
            SectionAlignment = elfLinker.SectionAlignment;

            AddSection(new LinkerSection(SectionKind.Text, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.Data, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.ROData, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.BSS, SectionAlignment));
        }
Exemplo n.º 4
0
        public BaseLinker(ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType)
        {
            LinkerSections = new LinkerSection[4];

            BaseAddress = baseAddress;
            Endianness = endianness;
            MachineType = machineType;
            EmitSymbols = emitSymbols;

            elfLinker = new ElfLinker(this, LinkerFormatType);

            BaseFileOffset = elfLinker.BaseFileOffset;
            SectionAlignment = elfLinker.SectionAlignment;

            AddSection(new LinkerSection(SectionKind.Text, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.Data, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.ROData, SectionAlignment));
            AddSection(new LinkerSection(SectionKind.BSS, SectionAlignment));
        }
Exemplo n.º 5
0
 protected void AddSection(LinkerSection section)
 {
     Sections[(int)section.SectionKind] = section;
 }
Exemplo n.º 6
0
 protected void AddSection(LinkerSection section)
 {
     Sections[(int)section.SectionKind] = section;
 }
Exemplo n.º 7
0
 private void AddSection(LinkerSection section)
 {
     LinkerSections[(int)section.SectionKind] = section;
 }
Exemplo n.º 8
0
 private void AddSection(LinkerSection section)
 {
     LinkerSections[(int)section.SectionKind] = section;
 }