On Thu, Aug 15, 2013 at 01:44:08PM -0700, Richard Henderson wrote: > 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.
Ok, I haven't looked in details at the arm patches (i am currently trying them), and I haven't really seen the difference. Then just ignore this comment. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net