Andrew Johnson wrote:
On Wednesday 01 September 2010 19:26:04 Jeff Hill wrote:
I checked with Eric and we don’t have vxWorks 6.8 installed here
but Eric mentioned that he was fairly certain that they might
have it installed at the APS, and if so perhaps I could
log in up there and have a look at the issue.
I wonder if the APS has seen this issue since they maybe have
vxWorks 6.8 there? Does the problem occur when the vxWorks
6.8 gnu compiler isn't patched?
We have vxWorks 6.8 installed here, with a slightly different vxWorks
cumulative patch (cum.vxw6-4.1.2-ppc.2010jun15.zip), but Jeff's account does
not have access to the installation unfortunately (group permissions issue,
for WRS licensing reasons).
By the way, this happens under vxWorks 6.6 as well.
Ron Sluiter pointed out this problem to me a few weeks ago.
uranus% make casStreamOS.o
make -f ../Makefile TOP=../../../.. T_A=vxWorks-ppc604_long casStreamOS.o
make[1]: Entering directory `/home/phoebus3/ANJ/epics/base/3-14-
dev/src/cas/build/O.vxWorks-ppc604_long'
/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/bin/ccppc -c
-DCPU=PPC604 -DvxWorks -include
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/vxWorks.h -O2 -Wall -
mcpu=604 -mstrict-align -fno-implicit-fp -mlongcall -fno-builtin -MMD -I.
-I../O.Common -I. -I.. -I../../../../src/cas/generic -
I../../../../src/cas/io/bsdSocket -I../../../../src/cas/generic/st -
I../../../../src/cas/../ca -I../../../../include/os/vxWorks -
I../../../../include -I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h -
I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/wrn/coreip
../../../../src/cas/generic/st/casStreamOS.cc
../../../../src/cas/generic/st/casStreamOS.cc: In member function 'virtual
epicsTimerNotify::expireStatus casStreamIOWakeup::expire(const epicsTime&)':
../../../../src/cas/generic/st/casStreamOS.cc:283: error: unable to find a
register to spill in class 'FLOAT_REGS'
../../../../src/cas/generic/st/casStreamOS.cc:283: error: this is the insn:
(insn:HI 489 488 603 42 (set (reg:DF 120 [ SR$1349 ])
(mem/s/c:DF (plus:SI (reg/f:SI 113 sfp)
(const_int 16 [0x10])) [66 D.21287.delay+0 S8 A128])) 301
{*movdf_hardfloat32} (insn_list:REG_DEP_ANTI 488 (nil))
(nil))
../../../../src/cas/generic/st/casStreamOS.cc:283: confused by earlier errors,
bailing out
make[1]: *** [casStreamOS.o] Error 1
make[1]: Leaving directory `/home/phoebus3/ANJ/epics/base/3-14-
dev/src/cas/build/O.vxWorks-ppc604_long'
make: *** [casStreamOS.o] Error 2
However it's obviously an optimizer issue, it will build quite happily when
optimization is turned off:
Ah, okay. :)
uranus% make CROSS_OPT=NO casStreamOS.o
make -f ../Makefile TOP=../../../.. T_A=vxWorks-ppc604_long casStreamOS.o
make[1]: Entering directory `/home/phoebus3/ANJ/epics/base/3-14-
dev/src/cas/build/O.vxWorks-ppc604_long'
/usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-linux2/bin/ccppc -c
-DCPU=PPC604 -DvxWorks -include
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/vxWorks.h -g -Wall -
mcpu=604 -mstrict-align -fno-implicit-fp -mlongcall -fno-builtin -MMD -I.
-I../O.Common -I. -I.. -I../../../../src/cas/generic -
I../../../../src/cas/io/bsdSocket -I../../../../src/cas/generic/st -
I../../../../src/cas/../ca -I../../../../include/os/vxWorks -
I../../../../include -I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h -
I/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/h/wrn/coreip
../../../../src/cas/generic/st/casStreamOS.cc
make[1]: Leaving directory `/home/phoebus3/ANJ/epics/base/3-14-
dev/src/cas/build/O.vxWorks-ppc604_long'
Therefore a temporary workaround is to add the following lines to
src/cas/build/Makefile:
casStreamOS_CXXFLAGS_vxWorks-ppc604_long += -O0
casStreamOS_CXXFLAGS_vxWorks-ppc604 += -O0
I will try this as a temporary work-around.
This turns off optimization for that specific combination of file and CPU
architecture, but I'm not proposing this as a final solution. It is not
needed for the ppc604 on vxWorks 5.5.2, or for the mpc8540 on vxWorks 6.8
(which is really a different CPU architecture anyway). It might also be
needed for the ppc603, I haven't checked.
I just checked the build for "vxWorks-ppc603" and that is successful. :)
Seems that everytime there is a new release of EPICS, the vxWorks-ppc604
is getting hit?
Cheers,
Ernest
- Andrew
- References:
- Latest R3.14 branch: build problem with vxWorks 6.8 Ernest L. Williams Jr.
- Re: Latest R3.14 branch: build problem with vxWorks 6.8 Ernest L. Williams Jr.
- RE: Latest R3.14 branch: build problem with vxWorks 6.8 Jeff Hill
- Re: Latest R3.14 branch: build problem with vxWorks 6.8 Andrew Johnson
- Navigate by Date:
- Prev:
Re: Latest R3.14 branch: build problem with vxWorks 6.8 Andrew Johnson
- Next:
EPICS Bug Tracker / Releases Ralph Lange
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Latest R3.14 branch: build problem with vxWorks 6.8 Andrew Johnson
- Next:
EPICS Bug Tracker / Releases Ralph Lange
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|