On 08/15/2013 08:54 AM, Aurelien Jarno wrote:
>> >  #  define GETRA() ((uintptr_t)__builtin_return_address(0))
>> > -#  define GETPC_LDST() ((uintptr_t)(GETRA() + 7 + \
>> > -                                    *(int32_t *)((void *)GETRA() + 3) - 
>> > 1))
>> > +/* The return address argument for ldst is passed directly.  */
>> > +#  define GETPC_LDST()  (abort(), 0)
> Why an abort here, while in the arm version, you adds support for
> not defining GETPC_LDST?
> 

GETPC_LDST is for the original helpers, when called from TCG.

In the arm case, TCG still uses the original helpers, so GETPC_LDST is used.

In the i386, TCG never uses the original helpers, so GETPC_LDST should never be
used.  We could do like arm and completely drop the check, I suppose.


r~

Reply via email to