Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2015 14:23:50 -0800
From:      "Chris H" <bsd-lists@bsdforge.com>
To:        <freebsd-current@freebsd.org>
Subject:   Re: Connected sanitizer libraries to the build (for x86)
Message-ID:  <16cb4b4f0ffd697fa913197ba163727d@ultimatedns.net>
In-Reply-To: <FCF2A752-8B03-45BD-B548-A28FCBB27C7B@FreeBSD.org>
References:  <FCF2A752-8B03-45BD-B548-A28FCBB27C7B@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 13 Jan 2015 21:28:08 +0100 Dimitry Andric <dim@FreeBSD.org> wrote

> Hi,
> 
> In r277146, I have connected the sanitizer libraries from compiler-rt to
> the build.  Currently, this works for i386 and amd64, and contains
> Address Sanitizer (ASan) and Undefined Behavior Sanitizer.
> 
> AddressSanitizer is a fast memory error detector [1].  It consists of a
> compiler instrumentation module and a run-time library. The tool can
> detect the following types of bugs:
> 
> * Out-of-bounds accesses to heap, stack and globals
> * Use-after-free
> * Use-after-return (to some extent)
> * Double-free, invalid free
> * Memory leaks (experimental)
> 
> The typical slowdown introduced by AddressSanitizer is 2x.  Enable it by
> compiling and linking with clang, and using the -fsanitize=address flag.
> 
> Undefined Behavior Sanitizer is a fast and compatible undefined behavior
> checker, which enables a number of checks that have small runtime cost
> and no impact on address space layout or ABI.  Enable it by using the
> -fsanitize=undefined flag. [2]
> 
> Please note that the sanitizers still have some rough edges on FreeBSD,
> particularly on i386.  These will hopefully be smoothed out in the
> coming time.  Reports of problems (and fixes :) are very welcome, but
> please log them in Bugzilla, so they can be tracked.

These looks like welcomed addition(s).

Thank you, Dimitry!

--Chris
> 
> -Dimitry
> 
> [1] http://llvm.org/releases/3.5.0/tools/clang/docs/AddressSanitizer.html
> [2]
> http://llvm.org/releases/3.5.0/tools/clang/docs/UsersManual.html#opt-fsanitiz





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16cb4b4f0ffd697fa913197ba163727d>