[PATCH 0/3] Libsanitizer: merge from trunk

Iain Sandoe idsandoe@googlemail.com
Thu Aug 15 10:47:00 GMT 2019


Hi Martin,

> On 14 Aug 2019, at 17:18, Jeff Law <law@redhat.com> wrote:
> 
> On 8/14/19 2:50 AM, Martin Liška wrote:
>> On 8/13/19 5:02 PM, Jeff Law wrote:
>>> On 8/13/19 7:07 AM, Martin Liska wrote:
>>>> Hi.
>>>> 
>>>> For this year, I decided to make a first merge now and the
>>>> next (much smaller) at the end of October.
>>>> 
>>>> The biggest change is rename of many files from .cc to .cpp.
>>>> 
>>>> I bootstrapped the patch set on x86_64-linux-gnu and run
>>>> asan/ubsan/tsan tests on x86_64, ppc64le (power8) and
>>>> aarch64.
>>>> 
>>>> Libasan SONAME has been already bumped compared to GCC 9.
>>>> 
>>>> For other libraries, I don't see a reason for library bumping:
>>>> 
>>>> $ abidiff /usr/lib64/libubsan.so.1.0.0 ./x86_64-pc-linux-gnu/libsanitizer/ubsan/.libs/libubsan.so.1.0.0 --stat
>>>> Functions changes summary: 0 Removed, 0 Changed, 4 Added functions
>>>> Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>>>> Function symbols changes summary: 3 Removed, 0 Added function symbols not referenced by debug info
>>>> Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
>>>> 
>>>> $ abidiff /usr/lib64/libtsan.so.0.0.0  ./x86_64-pc-linux-gnu/libsanitizer/tsan/.libs/libtsan.so.0.0.0 --stat
>>>> Functions changes summary: 0 Removed, 0 Changed, 47 Added functions
>>>> Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
>>>> Function symbols changes summary: 1 Removed, 2 Added function symbols not referenced by debug info
>>>> Variable symbols changes summary: 0 Removed, 0 Added variable symbol not referenced by debug info
>>>> 
>>>> Ready to be installed?
>>> ISTM that a sanitizer merge during stage1 should be able to move forward
>>> without ACKs.  Similarly for other runtimes where we pull from some
>>> upstream master.
>> 
>> Good then. I've just installed the patch and also the refresh of LOCAL_PATCHES.
> Sounds good.  My tester will spin them on a variety of platforms over
> the next couple days.  I won't be at all surprised if the MIPS bits are
> still flakey.

1)

This breaks bootstrap on Darwin, with:
/src-local/gcc-trunk/libsanitizer/sanitizer_common/sanitizer_vector.h:18:10: fatal error: sanitizer_common/sanitizer_allocator_internal.h: No such file or directory
   18 | #include "sanitizer_common/sanitizer_allocator_internal.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Which is because the top level source dir is not present in the compile line.

I am bootstrapping the following fix on darwin and x86-64/powerpc-linux and will apply it to unbreak bootstrap  if those three succeed.

(using automake-1.16.1 pending resolution of point 2).

2) As noted on IRC, the version of automake used in the merge is 1.16.1 but the GCC prereqs are for 1.15.1.  If it’s intended that automake-1.16.1 should be used could this requirement be documented somewhere?

cheers
Iain

libsanitizer/

2019-08-15 Iain Sandoe <iain@sandoe.co.uk>

	* sanitizer_common/Makefile.am: Include top_srcdir unconditionally.
	* sanitizer_common/Makefile.in: Regenerated
	


diff --git a/libsanitizer/sanitizer_common/Makefile.am b/libsanitizer/sanitizer_common/Makefile.am
index 7e8ce9476e..df9c294151 100644
--- a/libsanitizer/sanitizer_common/Makefile.am
+++ b/libsanitizer/sanitizer_common/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = -I $(top_srcdir)/include -isystem $(top_srcdir)/include/system
+AM_CPPFLAGS = -I $(top_srcdir)/include -I $(top_srcdir) -isystem $(top_srcdir)/include/system
 
 # May be used by toolexeclibdir.
 gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
@@ -10,7 +10,6 @@ AM_CXXFLAGS += -std=gnu++11
 AM_CXXFLAGS += $(EXTRA_CXXFLAGS)
 if LIBBACKTRACE_SUPPORTED
 AM_CXXFLAGS += -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE \
-              -I $(top_srcdir)/ \
               -I $(top_srcdir)/../libbacktrace \
               -I $(top_builddir)/libbacktrace \
               -I $(top_srcdir)/../include \



More information about the Gcc-patches mailing list