Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Dec 2013 13:52:29 +0200
From:      Markiyan Kushnir <markiyan.kushnir@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   clang lacks undefined behavior sanitizer (ubsan) on FreeBSD?
Message-ID:  <CACvtUJcujNRgJAdh-TPXApQbrbKW5gEfdbakOQozfKdMt7Qyhw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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?

--
Markiyan.



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