这几天编译了chromium的linux版本,但加了几句很简单的用函数指针调用某个so的代码后,一跑就崩溃。看了下这块代码编译出来的汇编,很奇怪,像乱码一样,完全不是正常的汇编。
研究了几天,最后发现可能是clang的bug。触发的条件是要开启-fsanitize=cfi-icall优化。这个可以在chromium的编译参数里用is_official_build=true打开。
目前暂时不清楚是不是我用的这个版本的clang导致的。
这几天编译了chromium的linux版本,但加了几句很简单的用函数指针调用某个so的代码后,一跑就崩溃。看了下这块代码编译出来的汇编,很奇怪,像乱码一样,完全不是正常的汇编。
研究了几天,最后发现可能是clang的bug。触发的条件是要开启-fsanitize=cfi-icall优化。这个可以在chromium的编译参数里用is_official_build=true打开。
目前暂时不清楚是不是我用的这个版本的clang导致的。