Closed Bug 1343149 Opened 8 years ago Closed 7 years ago

WindowsDllInterceptor doesn't support 'movups' emitted by clang-cl

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: away, Assigned: ccorcoran)

References

Details

(Whiteboard: [ele:1a])

Attachments

(1 file)

TestDllInterceptor.exe fails on clang-cl builds because we can't hook our own 'rotatePayload' function: 0:000> u TestDllInterceptor!rotatePayload 00007ff7`100e1000 488b02 mov rax,qword ptr [rdx] 00007ff7`100e1003 0f104208 movups xmm0,xmmword ptr [rdx+8] 00007ff7`100e1007 0f1102 movups xmmword ptr [rdx],xmm0 00007ff7`100e100a 48894210 mov qword ptr [rdx+10h],rax We get as far as the '0f' but fail on the '10'.
:handyman/:ccorcoran, FYI in case you are working on this file and want to add a bonus fix.
Assignee: nobody → ccorcoran
Attachment #8871456 - Flags: review?(aklotz) → review?(dmajor)
Comment on attachment 8871456 [details] Bug 1343149: Add handling for movups opcode; https://reviewboard.mozilla.org/r/142932/#review146676 ::: xpcom/build/nsWindowsDllInterceptor.h:875 (Diff revision 1) > + origBytes[nOrigBytes] == 0x11) { > + // SSE: movups xmm, xmm/m128 > + // movups xmm/m128, xmm > + COPY_CODES(1); > + int nModRmSibBytes = CountModRmSib(&origBytes[nOrigBytes]); > + if(nModRmSibBytes < 0) { Nit: space after the if I think I want to file a cleanup bug to remove all checks for CountModRmSib < 0 -- it can't happen. Its "default:" case is logically impossible, and we shouldn't bother with the null pointer check. Would you be opposed to that?
Attachment #8871456 - Flags: review?(dmajor) → review+
Oh, nevermind. I thought kModUnknown was the only negative value. I didn't see that kModOperand64 == -2. :-/
Keywords: checkin-needed
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/fc0944ff095b Add handling for movups opcode; r=dmajor
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
See Also: → 1447742
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: