Hi,
I'm trying to link a fairly simple C++ user application for ColdFire,
and I get errors relating to __cxa_guard_acquire and
__cxa_guard_release. As you can see from the following, it seems to
be calling "ucfront-g++ m68k-elf-g++" properly to compile and link the
sources?
make[1]: Entering directory `/root/polychromix/uClinux/uClinux-dist/user'
touch rsg/fpgatest/.sgbuilt_user && make -j1 -C rsg/fpgatest
make[2]: Entering directory
`/root/polychromix/uClinux/uClinux-dist/user/rsg/fpgatest'
ucfront-g++ m68k-elf-g++ -m5307 -DCONFIG_COLDFIRE -O1 -g -pipe
-fno-common -fno-builtin -Wall -DEMBED -msep-data -Dlinux
-D__linux__ -Dunix -D__uClinux__ -nostdinc++ -fno-exceptions -Iinclude
-c -o fpgatest.o fpgatest.cc
ucfront-g++ m68k-elf-g++ -m5307 -DCONFIG_COLDFIRE -Wl,--fatal-warnings
-Wl,-elf2flt -Wl,-move-rodata -msep-data -o fpgatest fpgatest.o
libsrc/QSPIManager.o
fpgatest.elf2flt: In function `QSPIManager::Instance()':
libsrc/QSPIManager.cc:40: undefined reference to `__cxa_guard_acquire'
libsrc/QSPIManager.cc:40: undefined reference to `__cxa_guard_release'
collect2: ld returned 1 exit status
make[2]: *** [fpgatest] Error 1
make[2]: Leaving directory
`/root/polychromix/uClinux/uClinux-dist/user/rsg/fpgatest'
make[1]: *** [rsg/fpgatest_only] Error 2
make[1]: Leaving directory `/root/polychromix/uClinux/uClinux-dist/user'
make: *** [user/rsg/fpgatest_only] Error 2
Problem is, of course, that it doesn't work! And more to the point,
that I don't know how to make it work. Here is my (very) simple
makefile:
EXEC = fpgatest
OBJS = fpgatest.o libsrc/QSPIManager.o
CPPFLAGS += -Iinclude
all: $(EXEC)
$(EXEC): $(OBJS)
$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
It feels like I'm missing something very simple, yet crucial - care to
give me a clue?
Thanks!
-Bob
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev