Displaying 6 results from an estimated 6 matches for "s2_f1".
Did you mean:
s2_f2
2017 Apr 10
3
[RFC] Design of a TBAA sanitizer
On 04/10/2017 09:55 AM, Andrey Bokhanko wrote:
> Hi Hal,
>
> I wonder how your solution will handle the following?
>
> struct {
> int s1_f1;
> float s1_f2;
> int s1_f3;
> float s1_f4;
> } S1;
>
> struct {
> int s2_f1;
> float s2_f2;
> int *s2_f3; // to add some interest, suppose that sizeof(int) ==
> sizeof(int *)
> float s2_f4;
> } S2;
>
> S1 *s1; S2 *s2;
> ...
> s2 = (S1*)s1;
> s2->s2_f1 = 0; // allowed
> s2->s2_f2 = 0; // allowed
> s2->s2_f3 = 0; // not all...
2017 Apr 11
4
[RFC] Design of a TBAA sanitizer
...gt; Hi Hal,
>>
>> I wonder how your solution will handle the following?
>>
>> struct {
>> int s1_f1;
>> float s1_f2;
>> int s1_f3;
>> float s1_f4;
>> } S1;
>>
>> struct {
>> int s2_f1;
>> float s2_f2;
>> int *s2_f3; // to add some interest, suppose that sizeof(int)
>> == sizeof(int *)
>> float s2_f4;
>> } S2;
>>
>> S1 *s1; S2 *s2;
>> ...
>> s2 = (S1*)s1;
>> s2->s2_f1 = 0; //...
2017 Apr 11
2
[RFC] Design of a TBAA sanitizer
...,
> >>
> >> I wonder how your solution will handle the following?
> >>
> >> struct {
> >> int s1_f1;
> >> float s1_f2;
> >> int s1_f3;
> >> float s1_f4;
> >> } S1;
> >>
> >> struct {
> >> int s2_f1;
> >> float s2_f2;
> >> int *s2_f3; // to add some interest, suppose that sizeof(int) ==
> >> sizeof(int *)
> >> float s2_f4;
> >> } S2;
> >>
> >> S1 *s1; S2 *s2;
> >> ...
> >> s2 = (S1*)s1;
> >> s2->s2_f1...
2017 Apr 11
2
[RFC] Design of a TBAA sanitizer
...gt;>
> > > >> struct {
> > > >> int s1_f1;
> > > >> float s1_f2;
> > > >> int s1_f3;
> > > >> float s1_f4;
> > > >> } S1;
> > > >>
> > > >> struct {
> > > >> int s2_f1;
> > > >> float s2_f2;
> > > >> int *s2_f3; // to add some interest, suppose that sizeof(int) ==
> > > >> sizeof(int *)
> > > >> float s2_f4;
> > > >> } S2;
> > > >>
> > > >> S1 *s1; S2 *s2;
>...
2017 Apr 11
2
[RFC] Design of a TBAA sanitizer
...1_f1;
> > > > > >> float s1_f2;
> > > > > >> int s1_f3;
> > > > > >> float s1_f4;
> > > > > >> } S1;
> > > > > >>
> > > > > >> struct {
> > > > > >> int s2_f1;
> > > > > >> float s2_f2;
> > > > > >> int *s2_f3; // to add some interest, suppose that sizeof(int) ==
> > > > > >> sizeof(int *)
> > > > > >> float s2_f4;
> > > > > >> } S2;
> > > &g...
2017 Apr 04
8
[RFC] Design of a TBAA sanitizer
Hi everyone,
At EuroLLVM, Chandler and I chatted about the design for a potential
TBAA sanitizer. Here's my attempt to summarize:
C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately,