[PATCH] D107533: Handle encoding personalities of same names but different kinds.
Vincent Lee via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 8 22:25:10 PDT 2021
thevinster added a comment.
I only reviewed the mechanical changes as I'm not too familiar with the functional changes. I'll let someone more experienced comment on that.
================
Comment at: lld/MachO/UnwindInfoSection.cpp:238
+ oldToNew[iSym->gotIndex + 1] = ds->gotIndex + 1;
+ personality = const_cast<Symbol *>(s);
+ }
----------------
Probably it's just my lack of knowledge here, but is this line useful? It eventually gets overridden in the start of the loop on L228 right?
================
Comment at: lld/MachO/UnwindInfoSection.cpp:402
auto it = find(personalities, cu->personality);
- uint32_t personalityIndex; // 1-based index
+ uint32_t personalityIndex = 0; // 1-based index
+
----------------
Why does this need to be initialized to 0? Isn't it always going to be eventually defined below?
================
Comment at: lld/test/MachO/compact-unwind-both-local-and-dylib-personality.s:25
+## postlink check: FIXME: maybe need a better verification here.
+# RUN: llvm-nm %t/a.out | FileCheck %s --check-prefix=POSTCHECK
+# POSTCHECK: {{.*}} U ___gxx_personality_v0
----------------
Shouldn't there also be a check on the symbol table for `b.out` and `c.out`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107533/new/
https://reviews.llvm.org/D107533
More information about the llvm-commits
mailing list