[PATCH, testsuite]: Do not run simulate-thread on alpha*-*-linux*
Uros Bizjak
ubizjak@gmail.com
Thu Nov 17 16:43:00 GMT 2011
On Wed, Nov 16, 2011 at 10:46 PM, Richard Henderson <rth@redhat.com> wrote:
>> +/* Checks for an atomic sequence of instructions beginning with a LWARX/LDARX
>> + instruction and ending with a STWCX/STDCX instruction. If such a sequence
>> + is found, attempt to step through it. A breakpoint is placed at the end of
>> + the sequence. */
>> +
>
> s/LWARX/LDL_L/g
> s/LDARX/LDQ_L/g
> s/STWCX/STL_C/g
> s/STDCX/STQ_C/g
>
>> + int immediate = ((insn & 0x001fffff) << 2);
>> +
>> + if (bc_insn_count >= 1)
>> + return 0; /* More than one conditional branch found, fallback
>> + to the standard single-step code. */
>> +
>> + breaks[1] = loc + ALPHA_INSN_SIZE + immediate;
>
> The immediate needs to be sign-extended. Add:
>
> immedaite = (immediate ^ 0x400000) - 0x400000;
>
> Otherwise your computation of the address is correct.
Thanks, corrected gdb patch is at [1].
[1] http://sourceware.org/ml/gdb-patches/2011-11/msg00457.html
Uros.
More information about the Gcc
mailing list