Hi,
I don't know if coldfire users have the same experience, but I haven't been
able to run any C++ app using the uclinux.org provided 4.1.1 toolchain. I
always get the 'relocation' error.
If I want to run C++ apps, I use the CodeSourcery toolchain version
4.2-8(free at their website).

I build as follows (-D could probably be omitted, I borrowed them from how
the userapps were built in the source tree):
m68k-uclinux-g++ -m5307 -pipe -fno-common -fno-builtin -Wall -msep-data
-O1   -DCONFIG_COLDFIRE -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__
-Isrc/cpp_quick_sort/cpp_quicksort_numbers   -c
src/cpp_quick_sort/cpp_quicksort_numbers/cpp_quicksort_numbers.cpp -o
objs/qsortnum_m68k_Oyes/cpp_quicksort_numbers.o
m68k-uclinux-g++ -m5307 -DCONFIG_COLDFIRE -Wl,--fatal-warnings -Wl,-elf2flt
-Wl,-move-rodata -msep-data -o
objs/qsortnum_m68k_Oyes/qsortnum_m68k_Oyes.bflt
objs/qsortnum_m68k_Oyes/cpp_quicksort_numbers.o -lpthread

 Harry
On 8/13/07, Bob Grimes <[EMAIL PROTECTED]> wrote:
>
> 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
>
_______________________________________________
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

Reply via email to