From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 0/9] Add UBSan to the build
Date: Mon, 27 Aug 2018 14:57:00 -0000 [thread overview]
Message-ID: <20180827145620.11055-1-tom@tromey.com> (raw)
This series adds undefined behavior checking to the build and fixes
all the cases of UB that are found by the test suite. See the final
patch for details, but basically UBsan is enabled by default only in
development mode.
None of the current cases of UB seem to cause any bugs; but of course
compilers have a history of exploiting UB for optimizations, so it's
possible that UB will result in bugs in the future.
This series could be improved in a couple of ways.
First, it does not check for UB in any of the libraries used by gdb.
Second, most of the builders do not have the ubsan runtime library
installed. (I don't know why this isn't just a dependency of gcc; it
seems strange to ship a non-working -fsanitize=undefined by default.)
It's possible that installing this library on the builders will result
in new failures.
Finally, I think it would be good -- in fact, even more useful -- to
treat the address sanitizer in a similar way. I have some patches
toward this goal, but I haven't submitted them yet because there is
one ASan failure that I haven't fixed.
Let me know what you think.
Tom
next reply other threads:[~2018-08-27 14:57 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-27 14:57 Tom Tromey [this message]
2018-08-27 14:57 ` [PATCH 7/9] Avoid undefined behavior in ada_operator_length Tom Tromey
2018-08-27 14:57 ` [PATCH 6/9] Avoid undefined behavior in read_signed_leb128 Tom Tromey
2018-08-27 14:57 ` [PATCH 3/9] Avoid undefined behavior in extract_integer Tom Tromey
2018-08-28 18:39 ` Pedro Alves
2018-08-29 0:11 ` Tom Tromey
2018-08-27 14:57 ` [PATCH 1/9] Do not pass NULL to memcpy Tom Tromey
2018-08-27 19:12 ` Simon Marchi
2018-08-28 22:40 ` Tom Tromey
2018-08-27 14:57 ` [PATCH 5/9] Avoid undefined behavior in parse_number Tom Tromey
2018-08-27 14:57 ` [PATCH 2/9] Use unsigned as base type for some enums Tom Tromey
2018-08-27 19:22 ` Simon Marchi
2018-08-27 20:22 ` Tom Tromey
2018-08-27 21:26 ` Simon Marchi
2018-08-28 18:54 ` Pedro Alves
2018-08-28 22:42 ` Tom Tromey
2018-08-29 0:01 ` Tom Tromey
2018-08-27 14:59 ` [PATCH 8/9] Avoid undefined behavior in expression dumping Tom Tromey
2018-08-28 18:49 ` Pedro Alves
2018-08-29 0:27 ` Tom Tromey
2018-08-27 14:59 ` [PATCH 4/9] Avoid undefined behavior in read_subrange_type Tom Tromey
2018-08-27 14:59 ` [PATCH 9/9] Add --enable-ubsan Tom Tromey
2018-08-28 19:03 ` [PATCH 0/9] Add UBSan to the build Pedro Alves
2018-08-29 0:45 ` Tom Tromey
2018-08-30 18:41 ` Pedro Alves
2018-08-30 18:56 ` Tom Tromey
2018-08-30 19:06 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180827145620.11055-1-tom@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox