[lld-macho] Change personalities entry type to Ptr to avoid overflowing uint32

PR51262

Differential Revision: https://reviews.llvm.org/D107035
This commit is contained in:
Vy Nguyen 2021-07-29 01:07:22 -04:00
parent 916d5b9098
commit 0bd14711ac
1 changed files with 2 additions and 2 deletions

View File

@ -115,7 +115,7 @@ private:
std::vector<std::pair<compact_unwind_encoding_t, size_t>> commonEncodings;
EncodingMap commonEncodingIndexes;
// Indices of personality functions within the GOT.
std::vector<uint32_t> personalities;
std::vector<Ptr> personalities;
SmallDenseMap<std::pair<InputSection *, uint64_t /* addend */>, Symbol *>
personalityTable;
std::vector<unwind_info_section_header_lsda_index_entry> lsdaEntries;
@ -286,7 +286,7 @@ relocateCompactUnwind(ConcatOutputSection *compactUnwindSection,
template <class Ptr>
static void
encodePersonalities(const std::vector<CompactUnwindEntry<Ptr> *> &cuPtrVector,
std::vector<uint32_t> &personalities) {
std::vector<Ptr> &personalities) {
for (CompactUnwindEntry<Ptr> *cu : cuPtrVector) {
if (cu->personality == 0)
continue;