ROCm / hcc

HCC is an Open Source, Optimizing C++ Compiler for Heterogeneous Compute currently for the ROCm GPU Computing Platform
https://github.com/RadeonOpenCompute/hcc/wiki
Other
429 stars 107 forks source link

libmcwamp and libhc_am are circularly dependent #1449

Open sclarkson opened 4 years ago

sclarkson commented 4 years ago

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