[PATCH] D110422: [AIX] Enable PGO without LTO
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 27 13:57:12 PDT 2021
MaskRay added a comment.
> However, on AIX, the current binder can NOT discard the weak symbols if we put all of them into the same csect, as binder can NOT discard only part of a csect.
"as binder can NOT discard only part of a csect." this part caused confusion to me...
> CountersOffset is now 0x1ffffffffffffda3 ( CounterPtr - CountersDelta / sizeof(unit64_6))
>
> CountersOffset > MaxNumCounters !
It is true that there are two pairs of weak profc/profd, but the first profc has a zero value, so I assume that it is fine?
The second pair of profc/profd has correct value.
I haven't verified but it is possible that PGO picks the first pair (zero value) and have an incorrect counter for `foo`.
---
Does your example imply that the weak symbol `__profc_foo` has 2 definitions with conflicting values?
I presume it can cause more fallout.
Any idea whether the linker bug will be fixed?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D110422/new/
https://reviews.llvm.org/D110422
More information about the cfe-commits
mailing list