> On Oct 9, 2017, at 5:33 AM, Richard Earnshaw (lists)
> <[email protected]> wrote:
>
> On 06/10/17 20:56, Qing Zhao wrote:
>> Thanks a lot for Wilco’s help on this bug.
>>
>> Yes, Aarch64 does NOT do anything wrong.
>>
>> The implementation of __builtin_update_setjmp_buf is not correct. It takes a
>> pointer
>> as an operand and treats the Mode of the pointer as Pmode, which is not
>> correct.
>> a conversion from ptr_mode to Pmode is needed for this pointer.
>>
>> bootstrapped on aarch64-unknown-linux-gnu.
>> testing on aarch64-unknown-linux-gnu is running.
>>
>
> This is more believable for AArch64, but we need to be careful here. I
> think this needs testing on at least one other target that has a
> ilp32-on-64-bit ABI, eg x86_64's x32 ABI.
I just built the latest upstream GCC on x86_64 Linux. and use it to compile the
testing case in PR80295 with the following options:
[qinzhao@qzh-ol6-test 80295]$ cat t.c
void f (void *b) { __builtin_update_setjmp_buf (b); }
[qinzhao@qzh-ol6-test 80295]$ sh t
/home/qinzhao/Install/latest/bin/gcc -m32 t.c
it compiles successfully on x86_64. no similar issue as aarch64.
DId I use the correct option on X86 (i.e -m32)?
Qing
>
>
> R.
>