Hi 王林,
On 2011-11-21 王林 wrote:
> ld < bin/vxWorks-ppc604_long/exmaple.munch
> Warning: module 0x1fffb390 holds reference to undefined symbol
> __gxx_personality_v0.
> Warning: module 0x1fffb390 holds reference to undefined symbol
> _Unwind_Resume.
> Warning: module 0x1fffb390 holds reference to undefined symbol
> __cxa_pure_virtual.
> Warning: module 0x1fffb390 holds reference to undefined symbol _ZTIv.
My EPICS binaries compiled for vxWorks 6.8 need those same symbols to be
provided by the vxWorks boot image.
> The EPICS version is 3.14.11, the vxWork version is 6.6 with a patch
> cum.vxw6-4.1.2-ppc.2010aug12.zip, the host is RHEL4.8, the target is
> mvme5100. And when I use "grep _Unwind_Resume vxWorks_6.6_1
> vxWorks_6.6_1.sym" command, nothing matches. I have added the required and
> optional components when building vxworks image following this link
> http://www.aps.anl.gov/epics/base/vxWorks6.php , does it means that I need
> to add other components? But which components? How can I find them?
Unfortunately I can't be sure of that, but they are definitely related to C++
so you should try the other CPLUS components. I can find those symbols
defined in various vxWorks libraries under my vxworks-6.8/target/lib/ppc/PPC32
directory, but unfortunately just knowing the library name doesn't tell you
which components you need to include it:
tux% alias nmppc /usr/local/vw/vxWorks-6.8/gnu/4.1.2-vxworks-6.8/x86-
linux2/bin/nmppc
tux% pwd
/usr/local/vw/vxWorks-6.8/vxworks-6.8/target/lib/ppc/PPC32
tux% nmppc gnu_standard/libstl.a | egrep '(__cxa_pure_virtual|_ZTIv|
__gxx_personality_v0|_Unwind_Resume)' | sort -u
00000000 T __cxa_pure_virtual
00000000 V _ZTIv
000006e4 T __gxx_personality_v0
U __gxx_personality_v0
U _Unwind_Resume
U _Unwind_Resume_or_Rethrow
U _ZTIv
tux% nmppc common/libgcc.a | egrep '(__cxa_pure_virtual|_ZTIv|
__gxx_personality_v0|_Unwind_Resume)' | sort -u
00002730 T _Unwind_Resume_or_Rethrow
00002928 T _Unwind_Resume
It is also possible that the patch you applied may require that you install
another patch to provide updated libraries to match an update to the C/C++
compiler that it included (or vice versa). If your versions of the libraries
I mention above do *not* define these symbols like mine do then I think that's
the cause of your problem.
- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham
- References:
- undefined symbol when loading EPICS IOC on vxWorks 王林
- Navigate by Date:
- Prev:
Re: TEMPE_VEAT Exception Steven M. Hartman
- Next:
RE: TEMPE_VEAT Exception Szalata, Zenon M.
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
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:
undefined symbol when loading EPICS IOC on vxWorks 王林
- Next:
Software controls position available at W.M. Keck Observatory Kevin Tsubota
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
<2011>
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|