diff --git a/passes.cc b/passes.cc index c86e18e7..02381f59 100644 --- a/passes.cc +++ b/passes.cc @@ -400,7 +400,7 @@ void scan_rels(Context &ctx) { // Add symbol aliases for COPYREL. tbb::parallel_for_each(ctx.dsos, [&](SharedFile *file) { for (Symbol *sym : file->symbols) - if (sym->flags & NEEDS_COPYREL) + if (sym->file == file && (sym->flags & NEEDS_COPYREL)) for (Symbol *alias : file->find_aliases(sym)) alias->flags |= NEEDS_DYNSYM; });