예제 #1
0
 public ObjFileInfo(FileStream arMember, string libraryName, string member,
                    IDictionary <string, SyEntry> globalSymbols, IDictionary <string, string> externSymbols)
     : base(String.Format("{0}({1})", libraryName, member),
            globalSymbols, externSymbols)
 {
     Elf = new ArmElfReader(this, arMember);
 }
예제 #2
0
 public void DumpHeaderTable()
 {
     if (!loadSectionTable(e_shstrndx, SHT.STRTAB))      // needed for getString() call
     {
         throw new AsmException("ELF string table could not be loaded");
     }
     for (int i = 0; i < e_shnum; i++)
     {
         byte[] htentry = sectionHeaderTable[i];
         Console.WriteLine("    Header Table entry #{0}:", i);
         uint   nameix   = getInt32(htentry, 0);
         string name     = getString(nameix);
         uint   typeix   = getInt32(htentry, 4);
         string typename = ArmElfReader.LookupType(typeix);
         uint   addr     = getInt32(htentry, 12);
         uint   offset   = getInt32(htentry, 16);
         uint   size     = getInt32(htentry, 20);
         Debug.WriteLine(String.Format(
                             "        name={0}, type={1}", name, typename));
         Debug.WriteLine(String.Format(
                             "        addr=0x{0:X}, offset=0x{1:X}, size=0x{2:X}",
                             addr, offset, size));
     }
     Console.WriteLine();
 }
예제 #3
0
 public ObjFileInfo(string fileName,
                    IDictionary <string, SyEntry> globalSymbols, IDictionary <string, string> externSymbols)
     : base(fileName, globalSymbols, externSymbols)
 {
     Elf = new ArmElfReader(this);
 }