EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: VxWorks compiler optimization issues, Was: calc and calcout records in EPICS 3.14.6
From: Steven Hartman <[email protected]>
To: "Singleton, SJ (Steve)" <[email protected]>
Cc: "'Andrew Johnson'" <[email protected]>, "'[email protected]'" <[email protected]>
Date: Fri, 19 Nov 2004 10:09:14 -0500 (EST)
On Fri, 19 Nov 2004, Singleton, SJ (Steve) wrote:

> From my tests, the problem arises as a result of compiling for a PPC-based
> IOC using:
>
> 1. The compiler supplied by Windriver to build on a Solaris host for Tornado
> 2.2.1, i.e. vxWorks 5.5.1,

Hmmm. I just tried the vxWorksBrokenCompilerTest() on my development
board. Solaris build host. Tornado 2.2.1. VxWorks 5.5.1. PPC target.

-> vxWorksBrokenCompilerTest()
Ok: bug() = 0.016667
value = 1 = 0x1
-> version
VxWorks (for Motorola MVME5110-2261 - MPC 7410) version 5.5.1.
Kernel: WIND version 2.6.
Made on Oct 21 2004, 18:16:11.

Built using typical EPICS makefiles from R3.14.6 (-O3). Relevant compile
line:

/usr/vxworks/tornado-2.2.1/ppc/host/sun4-solaris2/bin/ccppc -c
-D_POSIX_SOURCE       -DCPU=PPC604  -DvxWorks -include
/usr/vxworks/tornado-2.2.1/ppc/target/h/vxWorks.h  -ansi  -O3  -Wall
-mcpu=604 -mstrict-align -mlongcall    -fno-builtin  -I. -I..
-I../../../include/os/vxWorks -I../../../include
-I/controls/systems/epics-3.14.6/base/include/os/vxWorks
-I/controls/systems/epics-3.14.6/base/include
-I/usr/vxworks/tornado-2.2.1/ppc/target/h  ../foo.c

% /usr/vxworks/tornado-2.2.1/ppc/host/sun4-solaris2/bin/ccppc --version
gcc-2.96


However, the testgcc.c (http://ics-web1.sns.ornl.gov/share/testgcc.c) test
does print 1.0 (i.e. bug) on this same setup (-O1, -O2, or -O3). I need
to set -O0 to produce the correct response of 0.0.


It would be nice if we can produce a definitive list of compiler version,
optimization level, and architecture combinations which exhibit either of
these bugs. I have access to VxWorks compilers for 68K for VxWorks 5.3.1
(no longer in use here, but still on disk), 5.4.2 and 5.5.1, and for PPC
VxWorks 5.5.1. But I don't have target boards readily available for
testing all combinations.

These compiler bugs are rather frightening.

-- 
Steve Hartman
[email protected] || 919-660-2650
Duke Free Electron Laser Laboratory

References:
RE: calc and calcout records in EPICS 3.14.6 Singleton, SJ (Steve)

Navigate by Date:
Prev: RE: calc and calcout records in EPICS 3.14.6 Singleton, SJ (Steve)
Next: Drivers for Agilent 34980A Tine Guldager
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: calc and calcout records in EPICS 3.14.6 Singleton, SJ (Steve)
Next: Has Anyone Built CMLog with Recent Releases (R3.14.x) of EPICS? Munro Jr, John K.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·