> On Oct 9, 2017, at 11:27 AM, Qing Zhao <qing.z...@oracle.com> wrote: > >> >> On Oct 9, 2017, at 5:33 AM, Richard Earnshaw (lists) >> <richard.earns...@arm.com> 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)?
I also tried -mx32, the compilation had no issue. With the latest GCC + my patch, on X86, the testing case still has No any issue with -m32 or -mx32. my testing on aarch64-unknown-linux-gnu has finished, no any regression. Is my patch Okay? thanks. Qing