EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  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  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: R3.14 support for MIPS (hkbaja47)
From: Matt Rippa <[email protected]>
To: EPICS-tech-talk <[email protected]>
Date: Wed, 26 Apr 2006 13:48:04 -1000
Hi All,

Has anyone built a 3.14 application for a mips target? I'm building this from solaris with tornado 2.0. This thread extends from last weeks subject "Undefined symbols R3.14.6"... thanks for the help so far!

I can't get a simple "bare-bones" CA client app to load on a mips board. This works fine on the PPC architecture. The test I came up with just links in acctst.o and vxComLibrary.o from base.

On the mips build I get an undefined symbol in the final munch file that *very* closely matches a defined symbol save for the prepended underscore :

>nmmips test.munch | grep libCom
000b76b0 T _GLOBAL_$I$.._.._.._src_libCom_cxxTemplates_epicsSingletonMutex.cpp
U __GLOBAL_$I$.._.._.._src_libCom_cxxTemplates_epicsSingletonMutex.cpp



Whereas on the ppc604_long build this is full resolved:
> nmppc test.munch | grep libCom
000e20f8 T _GLOBAL_$I$_________src_libCom_cxxTemplates_epicsSingletonMutex_cpp


I noticed the dots after "_GLOBAL_$I$". If munch.pl sees any dots in the symbol name it tags the symbol as a function call with an "__asm__" attribute. This ends up in test_ctdt.c as:
void _GLOBAL_$I$$$_$$_$$_src_libCom_cxxTemplates_epicsSingletonMutex$cpp
() __asm__ ("__GLOBAL_$I$.._.._.._src_libCom_cxxTemplates_epicsSingletonMutex.cpp");



Not sure if that's correct.


There must be an incorrect linker flag or something. Thanks for any help! I've included some build info below.

-Matt

------Build flags---------

/usr/software/dev/packages/vxworks/tornado2.0/mips/host/sun4-solaris2/bin/ldmips -r -EB -X -o test -L/usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/lib/vxWorks-mips/

-L/usr/software/dev/packages/vxworks/tornado2.0/mips/host/sun4-solaris2/mips-wrs-vxworks/lib

/usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/bin/vxWorks-mips/acctst.o /usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/bin/vxWorks-mips/vxComLibrary.o test_registerRecordDeviceDriver.o -lrecIoc -lsoftDevIoc -liocsh -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom
/usr/software/dev/packages/vxworks/tornado2.0/mips/host/sun4-solaris2/bin/nmmips test > test.nm
perl /usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/configure/tools/munch.pl < test.nm > test_ctdt.c
/usr/software/dev/packages/vxworks/tornado2.0/mips/host/sun4-solaris2/bin/ccmips -c -D_POSIX_SOURCE -DCPU=R4000 -DvxWorks -include /usr/software/dev/packages/vxworks/tornado2.0/mips/target/h/vxWorks.h -ansi -O3 -Wall -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0 -fno-builtin -fdollars-in-identifiers -I. -I.. -I/home/mrippa/install/example1/include/os/vxWorks -I/home/mrippa/install/example1/include -I/usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/include/os/vxWorks -I/usr/software/dev/packages/epics/epics3.14.6GEM9.1/base/include


-I/usr/software/dev/packages/vxworks/tornado2.0/mips/target/h test_ctdt.c
/usr/software/dev/packages/vxworks/tornado2.0/mips/host/sun4-solaris2/bin/ldmips -r -EB -X -o test.munch test_ctdt.o test
Installing binary /home/mrippa/install/example1/bin/vxWorks-mips/test
Installing binary /home/mrippa/install/example1/bin/vxWorks-mips/test.munch


------Makefile------------

TOP=../..

include $(TOP)/configure/CONFIG

PROD_IOC_vxWorks += test

DBD += test.dbd
test_DBD += base.dbd

test_SRCS+= test_registerRecordDeviceDriver.cpp

test_OBJS_vxWorks += $(EPICS_BASE_BIN)/acctst
test_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
test_LIBS += $(EPICS_BASE_IOC_LIBS)

include $(TOP)/configure/RULES



Replies:
Re: R3.14 support for MIPS (hkbaja47) Andrew Johnson

Navigate by Date:
Prev: RE: assert failed in db_post_single_event_private for CALC record Jeff Hill
Next: Re: drvAscii decode string Matt Rippa
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: TCP/UDP port for CA Jeff Hill
Next: Re: R3.14 support for MIPS (hkbaja47) Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024