diff --git a/elf/passes.cc b/elf/passes.cc index ddd9bde2..0be4553a 100644 --- a/elf/passes.cc +++ b/elf/passes.cc @@ -1964,11 +1964,8 @@ void compute_address_significance(Context &ctx) { if (InputSection *sec = file->llvm_addrsig.get()) { u8 *p = (u8 *)sec->contents.data(); u8 *end = p + sec->contents.size(); - while (p != end) { - Symbol *sym = file->symbols[read_uleb(&p)]; - if (InputSection *isec = sym->get_input_section()) - isec->address_taken = true; - } + while (p != end) + mark(file->symbols[read_uleb(&p)]); } else { for (std::unique_ptr> &isec : file->sections) if (isec && !(isec->shdr().sh_flags & SHF_EXECINSTR))