This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Implement Undefined Behavior Sanitizer
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>, Marek Polacek <polacek at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 6 Jun 2013 01:26:06 -0700
- Subject: Re: [RFC] Implement Undefined Behavior Sanitizer
- References: <20130605175728 dot GD4160 at redhat dot com> <CA+=Sn1nFBaZdXj6X+EAc3gzd-Nvky=OGo2Ja-z37qmrV1txD-w at mail dot gmail dot com> <20130605192308 dot GW1493 at tucnak dot redhat dot com> <CA+=Sn1m881terhbJB8vMp9fu+U0FQb24B6AbX1dUqEyimEVDGA at mail dot gmail dot com> <CAGQ9bdxzDRYkKxy+T2V9zTgai8TatPXtQmBRMkArhN5f5CSS-w at mail dot gmail dot com> <20130606082107 dot GZ1493 at tucnak dot redhat dot com>
On Thu, Jun 6, 2013 at 1:21 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Thu, Jun 06, 2013 at 11:46:19AM +0400, Konstantin Serebryany wrote:
>> If we are going to import the ubsan run-time from LLVM's
>> projects/compiler-rt/lib/ubsan,
>> we may also need to update the contents of
>> libsanitizer/sanitizer_common and keep them in sync afterwards.
>> (ubsan shares few bits of code with asan/tsan/msan)
>> The simplest way to do that is to extend libsanitizer/merge.sh
>
> Sure. I've done so far just a partial merge by hand (only 3 changed files
> for the minimum of changes required to get ubsan to build), and have tested just
> that it compiles, not that libubsan actually works.
>
> P1 patch is the toplevel stuff to add ubsan into GCC libsanitizer, plus
> ubsan/Makefile* and ubsan/libtool-version (i.e. gcc owned files).
> P2 is the actual merge of the ubsan files.
> P3 is something I'd propose for ubsan upstream, without it g++ warns about
> __int128 in -pedantic mode.
Is there a reason why ubsan runtime in C++? That seems like a bad
idea to require linking against libstdc++ when doing development of a
C only program.
Also it seems easy enough to write a GCC specific runtime that does
not depend on the rest of libsanitizer stuff anyways.
Thanks,
Andrew Pinski