Changes between Initial Version and Version 1 of Ticket #8


Ignore:
Timestamp:
19.09.2010 20:20:46 (8 years ago)
Author:
stefan.ruppert@…
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #8 – Description

    initial v1  
    66 
    77But the {{{linux}}} define is not always set by {{{gcc}}}. If you specify {{{-std=c99}}} for example, the {{{linux}}} define is not provided by {{{gcc}}} since it is not posix compatible. 
     8 
     9Therefore the calling convention is not always guaranteed to be the same between the libarm4.so and the calling application, which can lead in major issues including memory leaks on the stack. 
     10 
     11For example if the libarm4.so is compiled with the {{{-std=c99}}} option it uses the default calling convention of the compiler instead of the defined stdcall calling convention. An instrumented application which does not use the {{{-std=c99}}} option will use the stdcall calling convention and will not cleanup the parameters pushed on the stack for calls into the {{{libarm4.so}}}.