complexity of matching symbol names to version scripts

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 30 20:27:32 PDT 2016


On Sat, Apr 30, 2016 at 7:46 PM, Rafael EspĂ­ndola
<llvm-commits at lists.llvm.org> wrote:
> No idea why this just came to mind, but anyway:
>
> I remember you mentioning that one annoying thing about version
> scripts is the need to match each symbol against multiple possible
> regular expressions (globs?).
>
> But I just remembered that that can be done efficiently. Multiple
> regular expressions can be tested at once. They are all just NFAs :-)
>
> Cheers,
> Rafael
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


As you brought the issue on the table, I'd like to point out another efficiency
problem that might show up while matching symbol names.
It's very tricky to (efficiently) match demangled names preserving full
semantics.
- ld.bfd supports exact semantics and it's slow.
- gold decides to be quasi-compatible and efficient
http://www.airs.com/blog/archives/300.

-- 
Davide

"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare


More information about the llvm-commits mailing list