[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: clang lacks undefined behavior sanitizer (ubsan) on FreeBSD?
From:       Dimitry Andric <dim () FreeBSD ! org>
Date:       2013-12-27 12:10:34
Message-ID: 0B8421FE-0481-4EAA-B89B-A1843F97AC5D () FreeBSD ! org
[Download RAW message or body]

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


["signature.asc" (signature.asc)]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlK9bkQACgkQsF6jCi4glqO+0gCgzJEntT2Mz5fLm4M6QiRhgO6q
pBAAoKmJRqS149tsye17NgzyxLE69eTd
=099m
-----END PGP SIGNATURE-----


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic