diff options
author | Tom Tromey <tom@tromey.com> | 2018-10-09 11:51:33 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-10-09 11:51:33 -0600 |
commit | eff98030f90d3dab4c7d133ab0b0cb02d1921543 (patch) | |
tree | cb4c841af76767a4c3de8ed1027127b1fbbd3f56 /gdb | |
parent | 104fefeebb544b7745bb353b63110afa46119647 (diff) | |
download | gdb-eff98030f90d3dab4c7d133ab0b0cb02d1921543.zip gdb-eff98030f90d3dab4c7d133ab0b0cb02d1921543.tar.gz gdb-eff98030f90d3dab4c7d133ab0b0cb02d1921543.tar.bz2 |
Disable the undefined behavior sanitizer by default
There have been a few undefined behavior failures reported, and Pedro
suggested that the sanitizer be disabled by default. This patch
implements this.
gdb/ChangeLog
2018-10-09 Tom Tromey <tom@tromey.com>
* configure: Rebuild.
* sanitize.m4 (AM_GDB_UBSAN): Default to no.
* NEWS: Update --enable-ubsan documentation.
gdb/doc/ChangeLog
2018-10-09 Tom Tromey <tom@tromey.com>
* gdb.texinfo (Configure Options): Update --enable-ubsan
documentation.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/NEWS | 10 | ||||
-rwxr-xr-x | gdb/configure | 2 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 13 | ||||
-rw-r--r-- | gdb/sanitize.m4 | 2 |
6 files changed, 25 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f37070e..f9e56be 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2018-10-09 Tom Tromey <tom@tromey.com> + + * configure: Rebuild. + * sanitize.m4 (AM_GDB_UBSAN): Default to no. + * NEWS: Update --enable-ubsan documentation. + 2018-10-09 Gary Benson <gbenson@redhat.com> * dwarf2read.c (create_dwp_hash_table): Fix buffer overrun @@ -122,11 +122,11 @@ FreeBSD/riscv riscv*-*-freebsd* --enable-ubsan - Enable or disable the undefined behavior sanitizer. Release - versions of GDB disable this by default if it is available, but - development versions enable it. Enabling this can cause a - performance penalty. The undefined behavior sanitizer was first - introduced in GCC 4.9. + Enable or disable the undefined behavior sanitizer. This is + disabled by default, but passing --enable-ubsan=yes or + --enable-ubsan=auto to configure will enable it. Enabling this can + cause a performance penalty. The undefined behavior sanitizer was + first introduced in GCC 4.9. *** Changes in GDB 8.2 diff --git a/gdb/configure b/gdb/configure index 304adc8..adb26e5 100755 --- a/gdb/configure +++ b/gdb/configure @@ -15614,7 +15614,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "${enable_ubsan+set}" = set; then : enableval=$enable_ubsan; else - enable_ubsan=auto + enable_ubsan=no fi if test "x$enable_ubsan" = xauto; then diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index a3aace7..c677983 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-09 Tom Tromey <tom@tromey.com> + + * gdb.texinfo (Configure Options): Update --enable-ubsan + documentation. + 2018-10-08 John Baldwin <jhb@FreeBSD.org> * gdb.texinfo (Contributors): Add SRI International and University diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index efd6dff..b0dc3bf 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -35771,12 +35771,13 @@ to the compiler, which will fail the compilation if the compiler outputs any warning messages. @item --enable-ubsan -Enable the GCC undefined behavior sanitizer. By default this is -disabled in @value{GDBN} releases, but enabled, when available, when -building from git. The undefined behavior sanitizer checks for -C@t{++} undefined behavior. It has a performance cost, so if you are -looking at @value{GDBN}'s performance, you should disable it. The -undefined behavior sanitizer was first introduced in GCC 4.9. +Enable the GCC undefined behavior sanitizer. This is disabled by +default, but passing @code{--enable-ubsan=yes} or +@code{--enable-ubsan=auto} to @code{configure} will enable it. The +undefined behavior sanitizer checks for C@t{++} undefined behavior. +It has a performance cost, so if you are looking at @value{GDBN}'s +performance, you should disable it. The undefined behavior sanitizer +was first introduced in GCC 4.9. @end table @node System-wide configuration diff --git a/gdb/sanitize.m4 b/gdb/sanitize.m4 index 76df44d..979f646 100644 --- a/gdb/sanitize.m4 +++ b/gdb/sanitize.m4 @@ -20,7 +20,7 @@ AC_DEFUN([AM_GDB_UBSAN],[ AC_ARG_ENABLE(ubsan, AS_HELP_STRING([--enable-ubsan], [enable undefined behavior sanitizer (auto/yes/no)]), - [],enable_ubsan=auto) + [],enable_ubsan=no) if test "x$enable_ubsan" = xauto; then if $development; then enable_ubsan=yes |