ROCm/hcc

libmcwamp and libhc_am are circularly dependent

sclarkson opened this issue · 0 comments

libmcwamp is depends on libhc_am

$ objdump -p libmcwamp.so.3 | grep NEEDED | grep hc_am
NEEDED               libhc_am.so.3

However, libhc_am depends on libmcwamp for the symbol Kalmar::getContext, despite not explicitly linking to it.

$ objdump -p libhc_am.so.3 | grep NEEDED | grep hc_am
$ nm -D libhc_am.so.3 | c++filt | grep getContext
                 U Kalmar::getContext()
$ nm -D libmcwamp.so.3 | c++filt | grep getContext
0000000000023cf0 T Kalmar::getContext()

Furthermore, hcc-config always links to both libraries. Is there any reason for these libraries not to be merged, especially now that the plugin loader has been removed? Seems like there's not a clear separation of responsibilities between them.

Related to #1037