大多数自动边界检查工具(如asan或msan或valgrind)通过将glibc的内存分配器替换为自定义内存分配器来工作。
我需要模糊需要llvm的Linux应用程序并使用与许多内存分配器不兼容的自定义分配器(即使使用glibc的分配器)。软件开发人员甚至重写了所有第三方依赖/子依赖库以使用其不兼容的分配器 所以我不能因为llvm的要求而使用gcc,也不能使用地址消毒剂。
据我所知,英特尔®mpx是唯一能够在不改变内存分配方法的情况下执行边界检查的系统(当然有libmpx用于通过包装函数执行额外的检查,但它是可选的)。
那么如何使用带有clang ++的英特尔mpx而不将函数包装到libmpx? (通常由gcc命令行参数允许的内容)