[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2020-01-25 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

--- Comment #30 from Daniel Lehman  ---
Created attachment 125416
  --> https://bugs.kde.org/attachment.cgi?id=125416=edit
bool to skip msvc x64 code path in non-wine case

> The obvious fix is to keep a boolean indicating whether any Windows unwind
> info has been loaded, and if false, just skip this call.  That would remove 
> the
> perf hit for non-Wine use.

something like the attached?  i based it on FPO_info_present.  the patch is
rebased against the rollup.  it still works with the above test case on 64-bit
wine but i verified it is not called with non-wine (using python -c "import
numpy")

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2020-01-01 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

--- Comment #28 from Daniel Lehman  ---
nothing new to add for now

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2019-08-19 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

Daniel Lehman  changed:

   What|Removed |Added

 Attachment #114890|0   |1
is obsolete||

--- Comment #25 from Daniel Lehman  ---
Created attachment 122256
  --> https://bugs.kde.org/attachment.cgi?id=122256=edit
patches for wine64 and pdbs

rebased to latest master with fix from:
https://bugs.kde.org/show_bug.cgi?id=400538
and retested with:
- wine 4.13
- vs2017 15.9.15

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

[valgrind] [Bug 400538] vex amd64->IR: unhandled instruction bytes: 0x48 0xCF 0xF 0x1F 0x0 0xFF 0xD2 0xCC 0x90 0x55

2019-07-14 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=400538

Daniel Lehman  changed:

   What|Removed |Added

 Attachment #119759|0   |1
is obsolete||

--- Comment #10 from Daniel Lehman  ---
Created attachment 121516
  --> https://bugs.kde.org/attachment.cgi?id=121516=edit
updated iretq implementation

> Vex also models the ID and AC flags (see, again, the POPF implementation)
> but from the Intel docs it's not clear to me whether these also need
> to be restoired from 'tempEFLAGS' above
from the docs, it does look like they need to be restored.  using the attached
iretq test case in a debugger, i can see that the ID and AC are saved across
iretq

> EFLAGS (CF, PF, AF, ZF, SF, TF, DF, OF, NT) ← tempEFLAGS;
it doesn't look like VEX models certain flags like NT or TF

> See the implementation for POPF in that same file, for how to set it
the attached uses the code from popf.  i retested with the latest wine 4.12.1

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

[valgrind] [Bug 400538] vex amd64->IR: unhandled instruction bytes: 0x48 0xCF 0xF 0x1F 0x0 0xFF 0xD2 0xCC 0x90 0x55

2019-04-30 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=400538

Daniel Lehman  changed:

   What|Removed |Added

 CC||dlehma...@gmail.com

--- Comment #8 from Daniel Lehman  ---
Created attachment 119759
  --> https://bugs.kde.org/attachment.cgi?id=119759=edit
iretq implementation

updated version of the iretq implementation i included in the tarball in
https://bugs.kde.org/show_bug.cgi?id=253657

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2019-03-13 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

--- Comment #23 from Daniel Lehman  ---
> 0030:err:seh:NtRaiseException Unhandled exception code c01d flags 0 addr 
> 0x7bc95b63

that's probably the iretq instruction from set_cpu_context

> What VALGRIND_OPTS are you using?

-v --trace-children=yes --error-limit=no --log-file=output.txt
--leak-check=full --leak-resolution=high --show-leak-kinds=all

> did I miss a step?

no, sorry, i forgot that i had to create a symlink to find the pdb:
ln -s $HOME $WINEPREFIX/drive_Y
because the baked-in path is Y:/stuff/leakage

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2019-03-12 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

--- Comment #20 from Daniel Lehman  ---
Created attachment 118764
  --> https://bugs.kde.org/attachment.cgi?id=118764=edit
leakage.exe and pdb

attached tested with:
- Visual Studio 2017 (15.9.8)
- wine 4.3
- valgrind-3.15.0.GIT (4816357b5c7ee5284cdf72800a81d2dd1845388f)

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2018-09-10 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

Daniel Lehman  changed:

   What|Removed |Added

 CC||dlehma...@gmail.com

--- Comment #18 from Daniel Lehman  ---
Created attachment 114891
  --> https://bugs.kde.org/attachment.cgi?id=114891=edit
simple test case for wine64 pdb

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

[valgrind] [Bug 253657] missing some amd64 to let wine/amd64 run on valgrind/amd64

2018-09-10 Thread Daniel Lehman
https://bugs.kde.org/show_bug.cgi?id=253657

--- Comment #17 from Daniel Lehman  ---
Created attachment 114890
  --> https://bugs.kde.org/attachment.cgi?id=114890=edit
patches for wine64 and pdbs

The attached patches get wine64 with pdbs working.  I'm sure additional patches
will be needed, but it's a start.

The attached leakage.c produces the following output on 64-bit Wine with these
changes:
==689== 12,345 bytes in 1 blocks are definitely lost in loss record 70 of 71
==689==at 0x7BC5ACCD: initialize_block (heap.c:238)
==689==by 0x7BC5ACCD: RtlAllocateHeap (???:0)
==689==by 0x140006C0A: a (leakage.c:9)
==689==by 0x140006C28: b (leakage.c:14)
==689==by 0x140006C48: c (leakage.c:19)
==689==by 0x140006D28: main (leakage.c:43)
==689== 
==689== 23,456 bytes in 1 blocks are possibly lost in loss record 71 of 71
==689==at 0x7BC5ACCD: initialize_block (heap.c:238)
==689==by 0x7BC5ACCD: RtlAllocateHeap (???:0)
==689==by 0x140006CBC: setframe (leakage.c:28)
==689==by 0x140006CE8: d (leakage.c:33)
==689==by 0x140006D08: e (leakage.c:38)
==689==by 0x140006D3C: main (leakage.c:44)

leakage.c built 32-bit with pdb fails with and without my changes.  But with
the attached, both 32-bit and 64-bit Wine tests still run under valgrind.

Tested with the following:
- Visual Studio 2017 (15.8.3) (Optimizing Compiler Version 19.15.26726 for x64)
- Wine 3.15
- valgrind-3.14.0.GIT (097b2076013bd6082be189ab55dbdb2eb1e572b7)

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