public ElfSymbol(string name, ElfSymbolBind bind, ElfSymbolType type, long value, long size) { Name = name; Bind = bind; Type = type; Value = value; Size = size; }
protected ElfSymbol Given_symbol(int index, string name, ElfSymbolType type, uint iSection, uint uAddr) { var sym = new ElfSymbol(name) { Value = uAddr, Type = type, SectionIndex = iSection, }; symbols.Add(index, sym); return(sym); }
public ElfSymbol GetSymbol(int index) { if (_is64Bit) { ElfSymbol64 s = _reader.Read <ElfSymbol64>(_address + index * _symSize); string name = _stringTable.GetStringAtIndex((int)s.Name); ElfSymbolBind b = (ElfSymbolBind)(s.Info >> 4); ElfSymbolType t = (ElfSymbolType)(s.Info & 0xF); return(new ElfSymbol(name, b, t, s.Value, (long)s.Size)); } else { ElfSymbol32 s = _reader.Read <ElfSymbol32>(_address + index * _symSize); string name = _stringTable.GetStringAtIndex((int)s.Name); ElfSymbolBind b = (ElfSymbolBind)(s.Info >> 4); ElfSymbolType t = (ElfSymbolType)(s.Info & 0xF); return(new ElfSymbol(name, b, t, (long)s.Value, s.Size)); } }
public static byte ELF32_ST_INFO(int b, ElfSymbolType t) { return((byte)(((b) << 4) + ((byte)t & 0xF))); }
public static byte ELF32_ST_INFO(int b, ElfSymbolType t) { return (byte)(((b) << 4) + ((byte)t & 0xF)); }