[gomp4.1] Fix linear-2.{c,C} testcases

Ilya Verbin iverbin@gmail.com
Fri Jul 17 14:52:00 GMT 2015


On Fri, Jul 17, 2015 at 15:54:13 +0200, Jakub Jelinek wrote:
> These tests had a thinko, computation performed on the offloaded copy of the
> a variable, but then tested on the host side, without #pragma omp target
> update or similar.
> Fixed thusly.

In my testing linear-2.C still causes SIGSEGV on target in f1<int>:

   0x7ffff6fc3872 <_Z2f1IiEvRT_._omp_fn.29(void)>:      push   %rbp
   0x7ffff6fc3873 <_Z2f1IiEvRT_._omp_fn.29(void)+1>:    mov    %rsp,%rbp
   0x7ffff6fc3876 <_Z2f1IiEvRT_._omp_fn.29(void)+4>:    push   %rbx
   0x7ffff6fc3877 <_Z2f1IiEvRT_._omp_fn.29(void)+5>:    sub    $0x48,%rsp
   0x7ffff6fc387b <_Z2f1IiEvRT_._omp_fn.29(void)+9>:    mov    %rdi,-0x48(%rbp)
   0x7ffff6fc387f <_Z2f1IiEvRT_._omp_fn.29(void)+13>:   lea    -0x34(%rbp),%rax
   0x7ffff6fc3883 <_Z2f1IiEvRT_._omp_fn.29(void)+17>:   mov    %rax,-0x18(%rbp)
   0x7ffff6fc3887 <_Z2f1IiEvRT_._omp_fn.29(void)+21>:   mov    -0x48(%rbp),%rax
   0x7ffff6fc388b <_Z2f1IiEvRT_._omp_fn.29(void)+25>:   mov    (%rax),%rax
   0x7ffff6fc388e <_Z2f1IiEvRT_._omp_fn.29(void)+28>:   mov    (%rax),%rax
=> 0x7ffff6fc3891 <_Z2f1IiEvRT_._omp_fn.29(void)+31>:   mov    (%rax),%edx

(gdb) x $rax
0x7fff537fc1ec: Cannot access memory at address 0x7fff537fc1ec

Probably something wasn't mapped.


> I'm still seeing
> FAIL: libgomp.c/for-5.c (internal compiler error)
> FAIL: libgomp.c/for-5.c (test for excess errors)
> FAIL: libgomp.c++/for-13.C (internal compiler error)
> FAIL: libgomp.c++/for-13.C (test for excess errors)
> which is some LTO ICE.

I've never seen such ICEs before...

  -- Ilya



More information about the Gcc-patches mailing list