How to identify the version of the LLVM AddressSanitizer integrated to GCC 4.9.3 and after
Hi, I find it difficult to locate the information regarding the version of the sanitizers (i.e. LLVM Sanitizers) integrated with GCC 4.9.3. Could anyone suggest me a location where I can find this information. My question is due to some of the run time flags defined in ASAN is not recognized in GCC based binary (i.e. GCC 4.9.3). e.g. ASAN_OPTIONS=help=1:halt_on_error=0 Also what is the GCC policy behind updating LLVM sanitizers to their latest version? Rgds, Gayan
Re: How to identify the version of the LLVM AddressSanitizer integrated to GCC 4.9.3 and after
Hi Maxim, Thanks a lot for the information. I find it very useful for my future tests. Also I found this page maintained by ASAN developers https://github.com/google/sanitizers/wiki/AddressSanitizerClangVsGCC which lists some of the differences. Finally any plans to integrate other sanitizer tools by LLVM in to GCC, like Memory Sanitizer, Data Flow Sanitizer ? Best Regards, Gayan On Thu, Mar 31, 2016 at 4:40 PM, Maxim Ostapenko wrote: > Hi. > > On 31/03/16 12:52, Gayan Pathirage wrote: >> >> Hi, >> >> I find it difficult to locate the information regarding the version of >> the sanitizers (i.e. LLVM Sanitizers) integrated with GCC 4.9.3. Could >> anyone suggest me a location where I can find this information. > > > This is indeed difficult. AFAIK, there isn't any mapping between LLVM and > GCC ASan releases, we just merge sanitizer library from upstream to GCC > source tree from time to time. GCC wiki doesn't have a dedicated page for > AddressSanitizer, so I suppose that the most appropriate method for > discovering such an information is just looking into ASan source code. > >> >> My question is due to some of the run time flags defined in ASAN is >> not recognized in GCC based binary (i.e. GCC 4.9.3). e.g. >> ASAN_OPTIONS=help=1:halt_on_error=0 > > > ASAN_OPTIONS=help=1 was introduced in GCC 5 and ASAN_OPTIONS=halt_on_error > will be available in GCC 6. > >> >> Also what is the GCC policy behind updating LLVM sanitizers to their >> latest version? > > > As I mentioned above, we merge sanitizer library from upstream to GCC source > tree from time to time during the active development stage (stage 1, see > https://gcc.gnu.org/develop.html). > > -Maxim > >> >> Rgds, >> >> Gayan >> >> >
Re: How to identify the version of the LLVM AddressSanitizer integrated to GCC 4.9.3 and after
Thanks a lot for the prompt feedback Maxim, All clear now! On Thu, Mar 31, 2016 at 9:18 PM, Maxim Ostapenko wrote: > On 31/03/16 18:20, Gayan Pathirage wrote: >> >> Hi Maxim, >> >> Thanks a lot for the information. I find it very useful for my future >> tests. >> >> Also I found this page maintained by ASAN developers >> https://github.com/google/sanitizers/wiki/AddressSanitizerClangVsGCC >> which lists some of the differences. > > > Yes, but please note, that this page describes differences between two > particular revisions. For current trunk (and release) GCC and LLVM versions > the situation might be different. > >> >> Finally any plans to integrate other sanitizer tools by LLVM in to >> GCC, like Memory Sanitizer, Data Flow Sanitizer ? > > > AFAIK, there aren't any plans on porting MSan and DFSan to GCC (see > https://gcc.gnu.org/ml/gcc/2014-10/msg0.html for MSan). TSan and UBSan > are already present in GCC. > > -Maxim > > >> >> Best Regards, >> >> Gayan >> >> On Thu, Mar 31, 2016 at 4:40 PM, Maxim Ostapenko >> wrote: >>> >>> Hi. >>> >>> On 31/03/16 12:52, Gayan Pathirage wrote: >>>> >>>> Hi, >>>> >>>> I find it difficult to locate the information regarding the version of >>>> the sanitizers (i.e. LLVM Sanitizers) integrated with GCC 4.9.3. Could >>>> anyone suggest me a location where I can find this information. >>> >>> >>> This is indeed difficult. AFAIK, there isn't any mapping between LLVM and >>> GCC ASan releases, we just merge sanitizer library from upstream to GCC >>> source tree from time to time. GCC wiki doesn't have a dedicated page for >>> AddressSanitizer, so I suppose that the most appropriate method for >>> discovering such an information is just looking into ASan source code. >>> >>>> My question is due to some of the run time flags defined in ASAN is >>>> not recognized in GCC based binary (i.e. GCC 4.9.3). e.g. >>>> ASAN_OPTIONS=help=1:halt_on_error=0 >>> >>> >>> ASAN_OPTIONS=help=1 was introduced in GCC 5 and >>> ASAN_OPTIONS=halt_on_error >>> will be available in GCC 6. >>> >>>> Also what is the GCC policy behind updating LLVM sanitizers to their >>>> latest version? >>> >>> >>> As I mentioned above, we merge sanitizer library from upstream to GCC >>> source >>> tree from time to time during the active development stage (stage 1, see >>> https://gcc.gnu.org/develop.html). >>> >>> -Maxim >>> >>>> Rgds, >>>> >>>> Gayan >>>> >>>> >> >