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  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: AW: AW: EPICS 7 and VxWorks 6.9 for PPC604?
From: "Zimoch Dirk \(PSI\) via Core-talk" <core-talk at aps.anl.gov>
To: Michael Davidsaver <mdavidsaver at gmail.com>, "'core-talk at aps.anl.gov'" <core-talk at aps.anl.gov>
Date: Wed, 3 Jun 2020 17:30:35 +0000
3 files have problems implementing the pure virtual function epicsTimerNotify::expire(): fdmgr.cc line 152, epicsTime.cpp line 62 and epicsTimerTest.cpp line 319. What helps is -O1 or -no-expensive-optimizations.

As I expect problems with any code that implements expire() I have now added 'CXXFLAGS += -fno-expensive-optimizations' to the general options for that architecture, not only for the 3 failing files.

This does not yet solve the problem with typeCast.h.

More tests tomorrow.

> -----Ursprüngliche Nachricht-----
> Von: Michael Davidsaver <mdavidsaver at gmail.com>
> Gesendet: Mittwoch, 3. Juni 2020 18:48
> An: Zimoch Dirk (PSI) <dirk.zimoch at psi.ch>; 'core-talk at aps.anl.gov' <core-
> talk at aps.anl.gov>
> Betreff: Re: AW: EPICS 7 and VxWorks 6.9 for PPC604?
> 
> On 6/3/20 8:31 AM, Zimoch Dirk (PSI) wrote:
> > I will try the selective -fno-inline ...
> 
> If vxworks 6.7 had gcc 4.1 then the threshold for using
> __attribute__((always_inline)) is now being crossed.
> 
> https://github.com/epics-
> base/pvDataCPP/blob/0fa927afa7d92f490f92eb4906e27046080309e2/src/misc
> /pv/templateMeta.h#L15-L16
> 
> >> -----Ursprüngliche Nachricht-----
> >> Von: Zimoch Dirk (PSI)
> >> Gesendet: Mittwoch, 3. Juni 2020 17:30
> >> An: 'Michael Davidsaver' <mdavidsaver at gmail.com>; 'core-
> talk at aps.anl.gov'
> >> <core-talk at aps.anl.gov>
> >> Betreff: AW: EPICS 7 and VxWorks 6.9 for PPC604?
> >>
> >> It's gcc 4.3.3.
> >>
> >> Using -O0 (as used to fix bug 1702298) in helps for fdmgr.cpp but not for
> >> typeCast.h.
> >>
> >>> -----Ursprüngliche Nachricht-----
> >>> Von: Michael Davidsaver <mdavidsaver at gmail.com>
> >>> Gesendet: Mittwoch, 3. Juni 2020 17:13
> >>> An: Zimoch Dirk (PSI) <dirk.zimoch at psi.ch>; 'core-talk at aps.anl.gov' <core-
> >>> talk at aps.anl.gov>
> >>> Betreff: Re: EPICS 7 and VxWorks 6.9 for PPC604?
> >>>
> >>> For those of us who aren't so familiar with vxworks, which GCC version(s)
> are
> >>> involved.
> >>>
> >>> You may remember https://bugs.launchpad.net/epics-base/+bug/1702298
> >>>
> >>>
> >>> On 6/3/20 8:04 AM, Zimoch Dirk (PSI) via Core-talk wrote:
> >>>> Has anyone already compiled EPICS 7 for VxWorks 6.9 for PPC604?
> >>>> I have problems:
> >>>>
> >>>> With -O2 it fails here:
> >>>>
> >>>> ../fdmgr/fdmgr.cpp: In member function 'virtual
> >>> epicsTimerNotify::expireStatus timerForOldFdmgr::expire(const
> epicsTime&)':
> >>>> ../fdmgr/fdmgr.cpp:152: error: unable to find a register to spill in class
> >>> 'FLOAT_REGS'
> >>>> ../fdmgr/fdmgr.cpp:152: error: this is the insn:
> >>>> (insn:HI 16 15 17 2 ../fdmgr/fdmgr.cpp:151 (set (reg:DF 126 [
> D.11913.delay
> >> ])
> >>>>         (mem/s/j/c:DF (plus:SI (reg/f:SI 113 sfp)
> >>>>                 (const_int 8 [0x8])) [0 D.11913.delay+0 S8 A64])) 336
> >>> {*movdf_hardfloat32} (expr_list:REG_EQUIV (mem/s/j/c:DF (plus:SI (reg/f:SI
> >> 113
> >>> sfp)
> >>>>                 (const_int 8 [0x8])) [0 D.11913.delay+0 S8 A64])
> >>>>         (nil)))
> >>>> ../fdmgr/fdmgr.cpp:152: confused by earlier errors, bailing out
> >>>>
> >>>> With -O1 (or lower) it comliles the above but then fails here:
> >>>>
> >>>> ../../src/misc/pv/typeCast.h: In function
> >> 'void<unnamed>::castVTyped(size_t,
> >>> void*, const void*) [with TO = std::basic_string<char, std::char_traits<char>,
> >>> std::allocator<char> >, FROM = float]':
> >>>> ../../src/misc/pv/typeCast.h:195: sorry, unimplemented: inlining failed in
> call
> >>> to 'TO epics::pvData::castUnsafe(const FROM&) [with TO =
> >>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FROM
> =
> >>> float]': recursive inlining
> >>>> ../../src/misc/typeCast.cpp:38: sorry, unimplemented: called from here
> >>>>
> >>>> At least the compiler is "sorry".  I feel much better.
> >>>>
> >>>> BTW: VxWorks 6.7 has no such problems.
> >>>>
> >>>> Dirk
> >>>>
> >


Replies:
Re: EPICS 7 and VxWorks 6.9 for PPC604? Johnson, Andrew N. via Core-talk
References:
EPICS 7 and VxWorks 6.9 for PPC604? Zimoch Dirk (PSI) via Core-talk
Re: EPICS 7 and VxWorks 6.9 for PPC604? Michael Davidsaver via Core-talk
AW: EPICS 7 and VxWorks 6.9 for PPC604? Zimoch Dirk (PSI) via Core-talk
AW: EPICS 7 and VxWorks 6.9 for PPC604? Zimoch Dirk (PSI) via Core-talk
Re: AW: EPICS 7 and VxWorks 6.9 for PPC604? Michael Davidsaver via Core-talk

Navigate by Date:
Prev: AW: EPICS 7 and VxWorks 6.9 for PPC604? Zimoch Dirk (PSI) via Core-talk
Next: Re: EPICS 7 and VxWorks 6.9 for PPC604? Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: AW: EPICS 7 and VxWorks 6.9 for PPC604? Michael Davidsaver via Core-talk
Next: Re: EPICS 7 and VxWorks 6.9 for PPC604? Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 03 Jun 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·