Web lists-archives.com

Re: gcc -fsanitize => cannot find -lubsan




On 3/27/18, Brian Inglis  wrote:
> On 2018-03-27 11:39, Lee wrote:

>> How do you figure out which package is missing from your install?
>> $cat sbstrict.c
>> int main () {
>>   return 0;
>> }
>> $i686-w64-mingw32-gcc -fsanitize=bounds-strict sbstrict.c
>> /usr/lib/gcc/i686-w64-mingw32/6.4.0/../../../../i686-w64-mingw32/bin/ld:
>> cannot find -lubsan
>> collect2: error: ld returned 1 exit status
>> $gcc -fsanitize=bounds-strict sbstrict.c
>> /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lubsan
>> collect2: error: ld returned 1 exit status
>> I looked at
>>   https://cygwin.com/cgi-bin2/package-grep.cgi?grep=ubsan&arch=x86_64
>> and both
>>   gcc-debuginfo-6.4.0-5
>>   mingw64-i686-gcc-debuginfo-6.4.0-1
>> have a ubsan.c, but ld wouldn't be looking for that.  Right??
>
> Implies that gcc includes support, but not supported as of 2015:
>
> 	https://sourceware.org/ml/cygwin/2015-10/msg00528.html
>
> - don't know why - or if since added.

I dunno what version of gcc cygwin had in 2015 but it looks like it wasn't v6.
https://www.gnu.org/software/gcc/gcc-6/
  GCC 6.1   April 27, 2016  (there is no gcc 6.0 listed in the release history)

-fsanitize=bounds-strict was added in gcc v6, which is the current
cygwin & mingw gcc

https://www.gnu.org/software/gcc/gcc-6/changes.html
  UndefinedBehaviorSanitizer gained a new sanitization option,
-fsanitize=bounds-strict, which enables strict checking of array
bounds. In particular, it enables -fsanitize=bounds as well as
instrumentation of flexible array member-like arrays.

$gcc --version
gcc (GCC) 6.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


$i686-w64-mingw32-gcc --version
i686-w64-mingw32-gcc (GCC) 6.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Thanks,
Lee

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple