This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Source level suppression of UBsan finding


Hi Everyone,

I'm looking for a source-level method to tell UBsan to ignore a
function that is producing a finding. We are pretty sure it is a false
positive so we want UBsan to skip analysis of the function.

We want source-level because it is a lot easier for us to make the
change in one place and document it. Otherwise, a whitelist using a
separate file will cause a lot of work for us and downstream. Lots of
build systems will need to be modified to accommodate the recipe
changes.

With Memory Sanitizer we can do something like:

    #if __has_feature(memory_sanitizer)
    # define MSAN_AVAILABLE 1
    #endif

    # ifdef MSAN_AVAILABLE
    __msan_unpoison(&m_readfds, sizeof(m_readfds));
    __msan_unpoison(&m_writefds, sizeof(m_writefds));
    # endif

How can we do similar with UBSan?

Thanks in advance,

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]