mfentry example
Niklaus
niklaus@gmail.com
Mon Feb 16 16:24:00 GMT 2015
On Mon, Feb 16, 2015 at 3:22 PM, Andrew Haley <aph@redhat.com> wrote:
> [off-topic for gcc; redirect to gcc-help]
>
> On 15/02/15 22:00, Niklaus wrote:
>
>> I'm trying to do a live update of a function without killing or
>> stopping the program. This is a single threaded application which runs
>> something similar to the below code. Maximum time is spent in the
>> while(1) loop.
>>
>> What i want to do is compile with gcc-4.8 with -pg and -mfentry and
>> then call function g() and then do the int y=x*3 and everything else.
>> I have thought of an idea about registering a sigHandler and then
>> setjmp/longjmp to g.. Please note i'm trying to fix some bugs here
>> without stopping the process.
>>
>> I want to do something akin to Kgraft/Kpatch or Erlang's dynamic
>> updation system.
>>
>> Can you please help me by throwing some light on this .
>
> OK, I'll bite. You want to be able to break out of a function while
> it is running and return to some other function. There's no portable
> way to do that is general. However, there are things which are easy,
> such as calling the loop body via a function pointer.
>
Thanks. I'm only looking at the gcc compiler on linux platform with
binutils x86 and x86_64. Can you help with an example of mfentry ?
More information about the Gcc-help
mailing list