Open derekbruening opened 9 years ago
From bruen...@google.com on May 16, 2012 08:45:59
issue #889 covers porting pattern mode to 64-bit
From bruen...@google.com on June 17, 2012 14:13:10
filling in some notes:
from years ago:
On Linux need to maintain 128-byte stack redzone marked as undefined as stack pointer moves around
frontend notes from recent discussion:
there are 3 approaches: 1) one is DR's approach, which makes you run bin32/drrun or bin64/drrun. although can use -32 or -64 params to override. 2) another is valgrind, which auto-detects bitwidth from one frontend. 3) 3rd is to have some flag (btw I would not use "lib64": why "lib"?).
autodetect is by far the most usable for users. for scripts, assume native kernel bitwidth.
note that we have to automatically detect on child injection anyway (xref DRi#147 on clients registering both 32 and 64 and DR picking the right one on cross-arch child)
maybe we should solve DRi#147 first. if the soln there is to make DR auto-detect then we don't have to do anything: could specify both bitwidths to DR and frontend is done
problem: frontend is used with -results or -nudge where no app is specified and thus there's no easy way for the front-end to know the bitwidth. (-results could read file I guess, and -nudge could could go examine /proc/pid/)
and more xrefs: issue #825 issue #906 issue #916 issue #917 issue #919
Labels: -Priority-Low -Type-Defect Priority-Medium Type-Enhancement OpSys-x64
From bruen...@google.com on July 19, 2012 11:12:26
issue #945 issue #946
From bruen...@google.com on February 04, 2013 08:41:00
we'll need 64-bit nudges from DR: https://code.google.com/p/dynamorio/issues/detail?id=119
Owner: zhao...@google.com
From bruen...@google.com on May 01, 2013 12:22:51
issue #1205 split out
From bruen...@google.com on May 21, 2013 10:51:09
\ TODO how shadow registers
for byte-to-byte, plus additional 8 GPR's, we'd need 16 slots instead of the current 2 for GPR's!
options:
xref DRi#1163: out of TLS slots in win8 as it is
xref issue #471 : need to shadow floating-point regs too -- but these are too big to expect to fit in TLS. I think we just live w/ indirection here. I don't think giving up granularity is a good idea for cases where data is moved in and out.
From bruen...@google.com on September 18, 2014 07:36:08
byte-to-byte split out as issue #1632 as the initial port will be 1B-2b
From bruen...@google.com on September 18, 2014 07:42:27
xref issue #1633
Pattern support is complete and light mode is now officially supported and present in the release package.
Recent commits that did not include a proper xref for auto-linking: 3c0371c i#111 x64: heap mismatch generalization (#2026) 3d8834e i#111 x64: 64-bit shadow slowpath (#2024) e521af6 i#111 x64: stack slowpath and redzone handling (#2023)
a83d8f30d02f56e09f528a607d19b8665488821b enables 64-bit full mode on Linux though we're still missing push/pop and esp fastpaths.
From derek.br...@gmail.com on December 10, 2010 17:57:41
PR 408518
filing a container case to cover 64-bit porting of Dr. Memory. the major task is re-designing the shadow memory structure and rewriting all of the hand-coded machine instruction sequences for accessing shadow memory. we'll need more indirection with some kind of page-table-style structure, and may end up needing caches to achieve good performance: much more complex than 32-bit.
xref PR 575713
Original issue: http://code.google.com/p/drmemory/issues/detail?id=111