https://bugs.kde.org/show_bug.cgi?id=471032

            Bug ID: 471032
           Summary: s390x: helgrind/tests/tc11_XCHG.c expects code to be
                    at a low address space
    Classification: Developer tools
           Product: valgrind
           Version: 3.22 GIT
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: helgrind
          Assignee: jsew...@acm.org
          Reporter: tul...@quites.com.br
  Target Milestone: ---

Created attachment 159659
  --> https://bugs.kde.org/attachment.cgi?id=159659&action=edit
Suggested fix for this issue

SUMMARY
The bne instruction used in the s390x implementation of XCHG_M_R(_addr,_lval)
expects an absolute address and shouldn't be used in this case.

I'm attaching a patch fixing this issue.

STEPS TO REPRODUCE
1. ./configure && make && make check
2. Disassemble the test with: objdump -d ./helgrind/tests/tc11_XCHG | less

OBSERVED RESULT

Look for the child_fn function and see how bne (address 0x100128e) may jump to
nowhere (address 646):

0000000001001260 <child_fn>:
...
 1001286:       58 00 20 00             l       %r0,0(%r2)
 100128a:       ba 01 20 00             cs      %r0,%r1,0(%r2)
 100128e:       47 70 02 86             bne     646

EXPECTED RESULT

That instruction should jump to 2 instructions before at address 0x1001286.

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to