Recent updates address C++ header-level renaming gaps that were not always covered by ELF symbol replacement alone.
What is now handled
C++ namespace fallback rewrites in wrapper headers:
namespace blis→<prefix>blis(for example,aocl_bliswith prefixaocl_, oraoclbliswith prefixaocl)namespace libflame→<prefix>libflame(for example,aocl_libflamewith prefixaocl_, oraocllibflamewith prefixaocl)
C++ wrapper identifier rewrites in selected wrapper headers:
blis.hh(for wrapper APIs such asrotg,gemm, etc.)libflame_interface.hh(for wrapper APIs such aspotrf,getrf, etc.)
API-family header rewrites for declarations/wrappers not present as concrete ELF symbols:
cblas_*,lapacke_*,blis_*,bli_*,da_*,aoclsparse_*
Safety rules applied during header rewrites
Function-like identifiers are rewritten only when they are callable tokens.
Type/callback-like identifiers (for example, DA callback typedef names such as
*_t_*) are not rewritten.std::and C++ ABI/runtime symbols are excluded from mangled-symbol renaming.Mangled C++ prefix token preserves caller intent for trailing underscore (for example, prefix
aoclproducesaoclfoo, whileAOCL_producesAOCL_foo).