Experimental Physics and
| |||||||||||||||
|
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
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |