EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: epicsStackTrace on WIN32
From: <[email protected]>
To: <[email protected]>, <[email protected]>
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:[email protected]] 
Sent: 08 August 2017 17:59
To: Akeroyd, Freddie (STFC,RAL,ISIS); [email protected]
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, [email protected] 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  <20172018  2019  2020  2021  2022  2023  2024 
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  <20172018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·