Date: Fri, 27 Dec 2013 13:10:34 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Markiyan Kushnir <markiyan.kushnir@gmail.com> Cc: freebsd-hackers <freebsd-hackers@freebsd.org> Subject: Re: clang lacks undefined behavior sanitizer (ubsan) on FreeBSD? Message-ID: <0B8421FE-0481-4EAA-B89B-A1843F97AC5D@FreeBSD.org> In-Reply-To: <CACvtUJcujNRgJAdh-TPXApQbrbKW5gEfdbakOQozfKdMt7Qyhw@mail.gmail.com> References: <CACvtUJcujNRgJAdh-TPXApQbrbKW5gEfdbakOQozfKdMt7Qyhw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 27 Dec 2013, at 12:52, Markiyan Kushnir <markiyan.kushnir@gmail.com> wrote:
> Trying to make benefit out of -fsanitize=undefined and failing on
> 11-CURRENT r259742. A minimal test case:
>
> 13:45:tmp$ cat ttt.c
> #include <stdio.h>
>
> int
> main(void)
> {
> int i, j = 0xffffffff;
>
> for (i = 0; i < 2; ++i) {
> j <<= 1;
> printf("j=%x\n", j);
> }
> return 0;
> }
>
> 13:45:tmp$ clang -Qunused-arguments -fcolor-diagnostics -g -O0
> -fsanitize=undefined -Wall -Wextra -Werror -std=c99 ttt.c
> /tmp/ttt-RJPqDj.o: In function `main':
> /tmp/ttt.c:9: undefined reference to `__ubsan_handle_shift_out_of_bounds'
> /tmp/ttt.c:8: undefined reference to `__ubsan_handle_add_overflow'
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>
> The ports version (both clang33 and clang34) neither seems to take
> care of it, as I could see in
> llvm.src/tools/clang/runtime/compiler-rt/Makefile
>
> Am I missing anything?
You are not missing anything, the sanitizers have simply not been ported
yet. This is a nice project for a New Year's resolution. :-)
-Dimitry
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
iEYEARECAAYFAlK9bkQACgkQsF6jCi4glqO+0gCgzJEntT2Mz5fLm4M6QiRhgO6q
pBAAoKmJRqS149tsye17NgzyxLE69eTd
=099m
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0B8421FE-0481-4EAA-B89B-A1843F97AC5D>
