[ASAN] Getting ASAN working on a non pthread baremetal OS


I’m working on getting the address sanitizer working on a baremetal OS for an embedded ARM device.

It seems like ASAN was built with an expectation that POSIX calls and pthreads will be present in the underlying environment. And on linking with libclang_rt.asan-aarch64.a; I am getting a whole bunch of missing symbols (as expected).

What I would like to know is, what would I have to do to build ASAN without pthread support? Is it just a matter of playing around with the asan_interceptors.cc and the sanitizer_common_interceptors.cc? From what I’ve read online there doesn’t seem to be a switch to just turn off pthreads and TLS.

Thank you in advance for your assistance in this matter.


Nikhil Gupta

Hi Gupta,

You have asked this question in another list already, I suggest we continue there.