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.