Sometimes people intentionally re-define a dylib personlity symbol as a local defined symbol as a workaround to a ld -r bug.
As a result, we could see "too many personalities" to encode. This patch tries to handle this case by ignoring the local symbols entirely.
More generally, this patch also tries to resolve which personality symbols getting "picked" when there are more than one with the same name to avoid encoding too many personalities. (eg., personality symbols could be from 3 groups, local, global, and dylib. Granted, this is not a usual scenario but it does happen sometimes and LD64 seems to allow it - so I think LLD should , too.)
PR: 51262 Differential Revision: https://reviews.llvm.org/D107533
hm, what do you mean "intentionally defined ... as a hack to get around another bug"? Did you figure out why ld -r is emitting these local symbols?