search for: address_safety

Displaying 6 results from an estimated 6 matches for "address_safety".

2012 Jan 24
0
[LLVMdev] load widening conflicts with AddressSanitizer
...to test it. In most cases I've met so far, the developers decided to actually fix the bugs according to the C++ standard and require the memory allocation to have up to 7 extra bytes. I do expect that sometimes this is impossible or undesirable. Then the solution would be to use __attribute__((address_safety)) to avoid instrumenting the tricky pieces of code. --kcc just like the optimizers, they know it is safe and a win. > The attribute won't help them. It looks like a way of just hiding the real > problem, which seems to be that address sanitizer is overly strict. > > ------------...
2012 Jan 24
2
[LLVMdev] load widening conflicts with AddressSanitizer
...ly the C standard is not relevant to LLVM IR coming from such languages. What matters is how LLVM IR is defined. As far as I know this construct is perfectly valid in LLVM IR. > I do expect that sometimes this is impossible or undesirable. > Then the solution would be to use __attribute__((address_safety)) to avoid > instrumenting the tricky pieces of code. Unfortunately there is in general no way of attaching such attributes in many languages. Ciao, Duncan. > > --kcc > > > just like the optimizers, they know it is safe and a win. > The attribute won't help them....
2012 Nov 16
0
[LLVMdev] Two questions about pass managers and passes
...): -- /Users/partigas/Desktop/src/llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_metadata.ll:33:10: error: expected string not found in input ; CHECK: call void @__asan_before_dynamic_init ^ <stdin>:20:35: note: scanning from here define internal void @_GLOBAL__I_a() address_safety section ".text.startup" { ^ <stdin>:33:3: note: possible intended match here declare void @__asan_report_load1(i64) ^ -- I presume this is either a bug (as the ordering of the doInitialization/doFinalization per module should not matter as they are j...
2012 Nov 16
0
[LLVMdev] Two questions regarding pass managers and passes
...: -- /Users/partigas/Desktop/src/llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_metadata.ll:33:10: error: expected string not found in input ; CHECK: call void @__asan_before_dynamic_init ^ <stdin>:20:35: note: scanning from here define internal void @_GLOBAL__I_a() address_safety section ".text.startup" { ^ <stdin>:33:3: note: possible intended match here declare void @__asan_report_load1(i64) ^ -- I presume this is either a bug (as the ordering of the doInitialization/doFinalization per module should not matter as they are...
2012 Jan 24
4
[LLVMdev] load widening conflicts with AddressSanitizer
Hi Kostya, > [resurrecting an old mail thread about AddressSanitizer false positive caused by > load widening] > > Once the Attribute::AddressSafety is set by clang (a separate patch), fixing > this bug may look as simple as this: I don't get the point of an attribute. There's plenty of code out there that does wide loads like this directly (without them being created by
2012 Jan 24
0
[LLVMdev] load widening conflicts with AddressSanitizer
...rary heavily depends on the C/C++ semantics and even implementation, and you can't really separate the asan instrumentation pass from the run-time. --kcc > > > I do expect that sometimes this is impossible or undesirable. >> Then the solution would be to use __attribute__((address_safety)**) to >> avoid >> instrumenting the tricky pieces of code. >> > > Unfortunately there is in general no way of attaching such attributes in > many > languages. > > Ciao, Duncan. > > > >> --kcc >> >> >> just like the optimizers,...