pub fn exported_symbols(&self) -> Vec<Symbol> {
        let mut v = Vec::new();
        let elf = self.elf();
        for sym in elf.dynsyms.iter() {
            if sym.st_value == 0 || sym.st_shndx == 0 {
                continue;
            }
            if sym.st_bind() == goblin::elf::sym::STB_GLOBAL
                || sym.st_bind() == goblin::elf::sym::STB_WEAK
            {
                v.push(Symbol::new(
                    &elf.dynstrtab[sym.st_name],
                    sym.st_value + self.base_address(),
                ));
            }
        }

        v
    }
/// Return all symbols exported from this Elf
Return all symbols exported from this Elf
Return all symbols exported from this Elf
pub fn exported_symbols(&self) -> Vec<Symbol> {
        let mut v = Vec::new();
        let elf = self.elf();
        for sym in elf.dynsyms.iter() {
            if sym.st_value == 0 || sym.st_shndx == 0 {
                continue;
            }
            if sym.st_bind() == goblin::elf::sym::STB_GLOBAL
                || sym.st_bind() == goblin::elf::sym::STB_WEAK
            {
                v.push(Symbol::new(
                    &elf.dynstrtab[sym.st_name],
                    sym.st_value + self.base_address(),
                ));
            }
        }
        v
    }
pub fn exported_symbols ( & self ) -> Vec < Symbol > { let mut v = Vec :: new ( ) ; let elf = self . elf ( ) ; for sym in elf . dynsyms . iter ( ) { if sym . st_value == 0 || sym . st_shndx == 0 { continue ; } if sym . st_bind ( ) == goblin :: elf :: sym :: STB_GLOBAL || sym . st_bind ( ) == goblin :: elf :: sym :: STB_WEAK { v . push ( Symbol :: new ( & elf . dynstrtab [ sym . st_name ] , sym . st_value + self . base_address ( ) , ) ) ; } } v }
Return all symbols exported from this Elf
Return all symbols exported from this Elf
&self
&self