diff options
author | Benjamin Oldenburg <benjamin.oldenburg@ordis.co.th> | 2019-10-07 01:28:21 +0700 |
---|---|---|
committer | Benjamin Oldenburg <benjamin.oldenburg@ordis.co.th> | 2019-10-07 01:42:56 +0700 |
commit | d9d6d1ed5f8b17f6120eaec3dbd2251eb7d697e1 (patch) | |
tree | 9b01dce0eeda3cb5180c22b023bcd0cb6346a131 | |
parent | 1881b42c239c75498f75b0e14f71ebb5c5ec4b1d (diff) | |
download | ATCD-d9d6d1ed5f8b17f6120eaec3dbd2251eb7d697e1.tar.gz |
fixed Stack_Trace.cpp
(cherry picked from commit f2e5a03abba643eb6da996c5db23ad51bc49b9df)
-rw-r--r-- | ACE/ace/Stack_Trace.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ACE/ace/Stack_Trace.cpp b/ACE/ace/Stack_Trace.cpp index cd6f154adef..d4be2196252 100644 --- a/ACE/ace/Stack_Trace.cpp +++ b/ACE/ace/Stack_Trace.cpp @@ -663,6 +663,22 @@ cs_operate(int (*func)(struct frame_state const *, void *), void *usrarg, fs.sf.AddrFrame.Mode = AddrModeFlat; fs.sf.AddrBStore.Mode = AddrModeFlat; fs.sf.AddrStack.Mode = AddrModeFlat; +# elif defined (_M_ARM) + DWORD machine = IMAGE_FILE_MACHINE_ARM; + fs.sf.AddrPC.Offset = c.Pc; + fs.sf.AddrFrame.Offset = c.R11; + fs.sf.AddrStack.Offset = c.Sp; + fs.sf.AddrPC.Mode = AddrModeFlat; + fs.sf.AddrFrame.Mode = AddrModeFlat; + fs.sf.AddrStack.Mode = AddrModeFlat; +# elif defined (_M_ARM64) + DWORD machine = IMAGE_FILE_MACHINE_ARM64; + fs.sf.AddrPC.Offset = c.Pc; + fs.sf.AddrFrame.Offset = c.Fp; + fs.sf.AddrStack.Offset = c.Sp; + fs.sf.AddrPC.Mode = AddrModeFlat; + fs.sf.AddrFrame.Mode = AddrModeFlat; + fs.sf.AddrStack.Mode = AddrModeFlat; # endif fs.pSym = (PSYMBOL_INFO) GlobalAlloc (GMEM_FIXED, |