jsji added a comment.

> "as binder can NOT discard only part of a csect." this part caused confusion 
> to me...

OK, yeah, csect is special to XCOFF, so this is not the same concept of 
sections in ELF.

> I haven't verified but it is possible that PGO picks the first pair (zero 
> value) and have an incorrect counter for `foo`.

As I mentioned before, we verified (with `llvm-profdata show --all-functions 
--counts`) that all the counters are good.

> ---
>
> Does your example imply that the weak symbol `__profc_foo` has 2 definitions 
> with conflicting values?

No, they are identical weak functions.  Those offsets are actually from real 
example using `std::stringbuf`, 
the foo is actually 
`_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ej`.

> Any idea whether the linker bug will be fixed?

Unfortunately, I just double confirmed with AIX linker (binder) owner, 
there is NO plan of lifting the limitation that binder can NOT discard only 
part of a csect.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110422/new/

https://reviews.llvm.org/D110422

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to