Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: RE: epicsStackTrace on WIN32
From: <freddie.akeroyd@stfc.ac.uk>
To: <mdavidsaver@gmail.com>, <core-talk@aps.anl.gov>
Date: Wed, 9 Aug 2017 13:07:37 +0000
Hi Michael,

Thanks for taking a look - I see the MinGW cross compile running under Wine can't translate most of the symbols

# Dumping a stack trace of thread 'win9':
# [  707A6EEF]
# [  707A6DB3]
# [  0040159B]
# [  004015C8]
# [  00401592]
# [  004015C8]
# [  004018A6]
# [  004013E3]
# [  7B46A1C9](call_process_entry+0x19)
# [  7B46B99C]
# [  7BCB350C](call_thread_func_wrapper+0xc)
# [  7BCB6E1B]
# [  7BCB34EA](RtlRaiseException+0x5a)
# [  7BC7E43C](call_dll_entry_point+0x6ac)
# [  F758618D]
#

If I copy the cross-compiled executable and DLLs across to windows it manages to do a little better and translate the public symbols in Com.dll
  
# Dumping a stack trace of thread 'win72c4':
# [  707A6EEF](epicsBackTrace+0x37)
# [  707A6DB3](epicsStackTrace+0x57)
# [  0040159B]
# [  004015C8]
# [  00401592]
# [  004015C8]
# [  004018A6]
# [  004013E3]
# [  74DE336A](BaseThreadInitThunk+0x12)
# [  76FF9902](RtlInitializeExceptionChain+0x63)
# [  76FF98D5](RtlInitializeExceptionChain+0x36)
#

Regards,

Freddie

-----Original Message-----
From: Michael Davidsaver [mailto:mdavidsaver@gmail.com] 
Sent: 08 August 2017 17:59
To: Akeroyd, Freddie (STFC,RAL,ISIS); core-talk@aps.anl.gov
Subject: Re: epicsStackTrace on WIN32

For my part, looks ok.  I can compile/run epicsStackTraceTest.exe with cross mingw/WINE.  The parts which WINE implements appear to work (numeric addresses).

Makefile changes for testing:

https://github.com/mdavidsaver/epics-base/commit/e2496521fd46a353ef28fe9d2cf9d6a863e07696


On 08/08/2017 01:53 PM, freddie.akeroyd@stfc.ac.uk wrote:
> Hi,
> 
> I'd noticed that  epicsStackTrace()  didn't translate symbols on Windows and enclose an implementation of  osdFindAddr.c  for WIN32. In addition to adding the file,  the following build file changes would be required too:
> 
> "dbghelp" needs adding to  Com_SYS_LIBS_WIN32  in  src/libCom/Makefile
> "dbghelp.lib"  needs adding to  STATIC_LDLIBS_YES   in  CONFIG.win32-x86.win32-x86
> I expect "-ldbghelp" might need adding to  OP_SYS_LDLIBS  for MinGW 
> builds (CONFIG.linux-x86.win32-x86-mingw and 
> CONFIG.win32-x86-mingw.win32-x86-mingw) but I've not verified
> 
> Regards,
> 
> Freddie
> 
> 
> 


References:
epicsStackTrace on WIN32 freddie.akeroyd
Re: epicsStackTrace on WIN32 Michael Davidsaver

Navigate by Date:
Prev: Re: epicsStackTrace on WIN32 Michael Davidsaver
Next: RE: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Williams Jr., Ernest L.
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: epicsStackTrace on WIN32 Michael Davidsaver
Next: Add optimization switch to compiler dependencies Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 21 Aug 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·