I am actually doing some instrumentation on the binary code generated by gcc. I did it successfully for class methods and external functions but failed on the static functions.
On Wed, Aug 28, 2013 at 3:12 PM, <pins...@gmail.com> wrote: > > On Aug 28, 2013, at 3:02 PM, Wei Li <lim...@gmail.com> wrote: > >> It's a static function. 32bit x86. I tried both gcc4.5.2 and gcc4.7.2, >> the behavior is same. > > Then this is not a bug. Why would you care about the abi? Are you using > some inline asm also? > > Andrew > > > > >> >> On Wed, Aug 28, 2013 at 3:00 PM, <pins...@gmail.com> wrote: >>> >>> >>> Sent from my iPad >>> >>> On Aug 28, 2013, at 2:57 PM, Wei Li <lim...@gmail.com> wrote: >>> >>>> Hi, >>>> >>>> I am trying to disable pass arguments by register in my project. I >>>> suppose -mregparm=0 can do this but unfortunately it doesn't work with >>>> -O3. The arguments are still through registers even I specified >>>> -mregparm=0. >>>> >>>> I am not sure if this intentional or a bug? -mregparm is a specific >>>> option. In general the priority should be higher than -O3 which is a >>>> group option, right? >>> >>> Is this a static local only function? >>> If so then there Is code which changes the abi to use the registers. Also >>> is this 32 or 64 bit x86? >>> >>> Thanks, >>> Andrew Pinski >>> >>>> >>>> Thanks, >>>> Wei