From ab30b7dc9d01f53073e31a78948d84a6434d24dc Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Mon, 28 Feb 2022 15:17:04 +0100 Subject: [PATCH] Don't filter ELF exports by functions Since we export a constant for CLAP. --- xtask/src/symbols.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/xtask/src/symbols.rs b/xtask/src/symbols.rs index b5809c05..12d24c2c 100644 --- a/xtask/src/symbols.rs +++ b/xtask/src/symbols.rs @@ -10,11 +10,11 @@ pub fn exported>(binary: P, symbol: &str) -> Result { let bytes = fs::read(&binary) .with_context(|| format!("Could not read '{}'", binary.as_ref().display()))?; match goblin::Object::parse(&bytes)? { - goblin::Object::Elf(obj) => Ok(obj.dynsyms.iter().any(|sym| { - !sym.is_import() - && sym.is_function() - && obj.dynstrtab.get_at(sym.st_name) == Some(symbol) - })), + goblin::Object::Elf(obj) => Ok(obj + .dynsyms + .iter() + // We don't filter by functions here since we need to export a constant for CLAP + .any(|sym| !sym.is_import() && obj.dynstrtab.get_at(sym.st_name) == Some(symbol))), goblin::Object::Mach(obj) => { let obj = match obj { goblin::mach::Mach::Fat(arches) => arches