Bug 353471

Summary: memcheck/tests/x86/xor-undef-x86 fails on OS X 10.11
Product: [Developer tools] valgrind Reporter: Rhys Kidd <rhyskidd>
Component: generalAssignee: Paul Floyd <pjfloyd>
Status: RESOLVED FIXED    
Severity: normal CC: pjfloyd
Priority: NOR    
Version: 3.10 SVN   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:
Bug Depends on:    
Bug Blocks: 348909    
Attachments: Failing test report

Description Rhys Kidd 2015-10-02 21:01:17 UTC
Created attachment 94817 [details]
Failing test report

On OS X 1.11 Valgrind does not report conditional jump or move in one test.

Reproducible: Always

Steps to Reproduce:
1. $ make check
2. $ perl tests/vg_regtest memcheck/tests/x86/xor-undef-x86

Actual Results:  
The above tests fails on OS X 10.11 but does not on the predecessor OS X 10.10.

Expected Results:  
Test passes, per OS X 10.10.
Comment 1 Paul Floyd 2023-12-29 09:23:35 UTC
On macOS 10.13 stderr contains

+valgrind: m_syswrap/syswrap-darwin.c:9826 (void vgSysWrap_darwin_csrctl_before(ThreadId, SyscallArgLayout *, SyscallArgs *, SyscallStatus *, UWord *)): Assertion 'sizeof(user_addr_t) <= sizeof(RegWord)' failed.
 
Might be an easy fix.
Comment 2 Paul Floyd 2023-12-29 20:53:11 UTC
If I get past the assert then I just get

vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0x22
==19671== valgrind: Unrecognised instruction at address 0x18038d.
==19671==    at 0x18038D: ??? (in /usr/lib/system/libdispatch.dylib)

which is an unsupported (on x86) sse4 instruction.

I'll probably mark this as wontfix as we're not going to add sse4 to x86 and macOS dropped x86 with 10.15 Catalina in 2019.
Comment 3 Paul Floyd 2023-12-29 21:14:29 UTC
the opcode is pinsrd, see
https://bugs.kde.org/show_bug.cgi?id=282910
Comment 4 Paul Floyd 2024-05-13 20:03:08 UTC
With the patch from 282910 this testcase now passes on 10.13. Can't easily test this on 10.11.