hardcode some hash table properties

This commit is contained in:
Folkert 2022-08-23 14:17:16 +02:00
parent fd5e9a9b48
commit d7499ce928
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C

View file

@ -370,22 +370,12 @@ fn copy_file(in_data: &[u8], custom_names: &[String]) -> Result<Vec<u8>, Box<dyn
} }
// Hash parameters. // Hash parameters.
let hash_index_base = out_dynsyms let hash_index_base = 1;
.first()
.map(|sym| out_dynsyms_index[sym.in_sym].0)
.unwrap_or(0);
let hash_chain_count = writer.dynamic_symbol_count(); let hash_chain_count = writer.dynamic_symbol_count();
// GNU hash parameters. // GNU hash parameters.
let gnu_hash_index_base = out_dynsyms let gnu_hash_index_base = 0;
.iter() let gnu_hash_symbol_base = 1;
.position(|sym| sym.gnu_hash.is_some())
.unwrap_or(0);
let gnu_hash_symbol_base = out_dynsyms
.iter()
.find(|sym| sym.gnu_hash.is_some())
.map(|sym| out_dynsyms_index[sym.in_sym].0)
.unwrap_or_else(|| writer.dynamic_symbol_count());
let gnu_hash_symbol_count = writer.dynamic_symbol_count() - gnu_hash_symbol_base; let gnu_hash_symbol_count = writer.dynamic_symbol_count() - gnu_hash_symbol_base;
// Assign symbol indices. // Assign symbol indices.