On Wed, Nov 26, 2014 at 02:57:20PM +0100, Marek Polacek wrote:
> Ping.
Ok, thanks.
>
> On Wed, Nov 19, 2014 at 08:09:21PM +0100, Marek Polacek wrote:
> > As discussed in the PR, the problem here is that when running gfortran,
> > the __builtin_object_size decl isn't available, because c-family's
> > c_define_builtins wasn't called. One way how to fix this is to build
> > the __builtin_object_size decl in initialize_sanitizer_builtins, if
> > needed. Alternatively we could just bail in instrument_object_size
> > if builtin_decl_explicit (BUILT_IN_OBJECT_SIZE) returns NULL_TREE...
> >
> > No test attached since we don't have any Fortran ubsan infrastructure,
> > I've just tried
> > ./xgcc -B ./ -B ../x86_64-unknown-linux-gnu/libsanitizer/ubsan/.libs/
> > -Wl,-rpath=../x86_64-unknown-linux-gnu/libsanitizer/ubsan/.libs/ -B
> > ../x86_64-unknown-linux-gnu/libgfortran/.libs/ -O -fsanitize=undefined
> > testcase.f -lgfortran; ./a.out
> > on the testcase attached in PR - and it doesn't ICE.
> >
> > Bootstrapped/regtested on ppc64-linux, ok for trunk?
> >
> > 2014-11-19 Marek Polacek <[email protected]>
> >
> > PR sanitizer/63788
> > * asan.c (initialize_sanitizer_builtins): Add BT_FN_SIZE_CONST_PTR_INT
> > var. Conditionally build BUILT_IN_OBJECT_SIZE decl.
> > (ATTR_PURE_NOTHROW_LEAF_LIST): Define.
Jakub