message: parse section relocations but do not parse dynamic relocations twice.
diff: @@ -430,12 +430,16 @@ void Parser::parse_binary(void) {
  }
  // Try to parse using sections
  - if (this->binary_->relocations_.size() == 0) {
  + // If we don't have any relocations, we parse all relocation sections
  + // otherwise, only the non-allocated sections to avoid parsing dynamic
  + // relocations (or plt relocations) twice.
  + bool skip_allocated_sections = this->binary_->relocations_.size() > 0;
  for (const Section& section : this->binary_->sections()) {
  -
  + if(skip_allocated_sections && section.has(ELF_SECTION_FLAGS::SHF_ALLOC)){
  + continue;
  + }
  try {
  if (section.type() == ELF_SECTION_TYPES::SHT_REL) {
  -
  this->parse_section_relocations<ELF_T, typename ELF_T::Elf_Rel>(section);
  }
  else if (section.type() == ELF_SECTION_TYPES::SHT_RELA) {
  @@ -448,7 +452,6 @@ void Parser::parse_binary(void) {
  << " (" << e.what() << ")";
  }
  }
  - }
  this->link_symbol_version();
  this->parse_overlay();
  