[LLVMdev] Dragonegg stack variables reorderings

Job Noorman jobnoorman at gmail.com
Thu Mar 15 09:46:26 PDT 2012


Hi Anton,

> Interesting, how much of other undefined / implementation-defined
> behaviors it uses then? :)

A lot:-) For example, the offset between parameters and the return address, to 
name one.

For variables, it relies on the order
1) on the stack;
2) in structs;
3) in the data segment;
4) in the bss segment.

1) is definately undefined, 2) is definately defined and I'm not sure about 3) 
and 4).

Regards,
Job

On Thursday 15 March 2012 20:02:10 Anton Korobeynikov wrote:
> > I need this to make RIPE (https://github.com/johnwilander/RIPE) work. RIPE
> > is the "runtime intrusion prevention evaluator" and it is a program that
> > performs a lot of different attacks on itself. It relies on the order of
> > stack variables for its stack smashing attacks.
> 
> Interesting, how much of other undefined / implementation-defined
> behaviors it uses then? :)



More information about the llvm-dev mailing list