Re: [NEWS/RFA] Re: [gdbserver] x86 agent expression bytecode compiler (speed up conditional tracepoints)

Tom Tromey
2010-06-20T18:31:33Z

>>>>> ">" == Hui Zhu <teawater@gmail.com> writes:

>> In dbct, I get the binary code like what you do in this patch.
>> define a functon, get binary code from this function, and use it for
>> other thing.

>> Because Gcc's optimization will compile the function that support the
>> code to some asm code that we don't want it to be.

In this case I think the code is only using GCC as a sort of glorified
assembler. From what I can see it is not taking the qemu approach of
having GCC compile C, then memcpying around the resulting object code.
Instead it is just using inline assembler, like:

EMIT_ASM32 (i386_prologue,
"push %ebp\n\t"
"mov %esp,%ebp");

This seems more reliable than the write-it-in-C approach.

Tom