https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90337
WHR <msl0000023508 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msl0000023508 at gmail dot com --- Comment #8 from WHR <msl0000023508 at gmail dot com> --- I found this sanitizer-related issue when building GCC 10.2 for Solaris; and after manual source browseing I believe this bug still existing in the master branch. To fix the O_DIRECTORY issue, my opinion is to remove its use by using '#if SANITIZER_LINUX', because the only place it gets used is some Linux-specific code, that uses Linux procfs path '/proc/%d/task/'. I also found some other issues. Solaris libelf.h doesn't work with _FILE_OFFSET_BITS=64 for i386 target, /usr/include/libelf.h:42:2: error: #error "large files are not supported by libelf" Last issue is the code uses madvise(2), which is non-standard, and therefore didn't get declared by Solaris system headers without some addition macros; the standard interface posix_madvise(3) should be used instead. I will upload my patches shortly.