Quoth Hervé Clerbout:
> I've a coldfire 5272 card. When I want create an application in C++,
> the compilation is OK but when I execute I've this message :
> BINFMT_FLAT: reloc outside program 0x9b7c0000 (0 - 0xffffd494/0x9960),
> killing Main!
> BINFMT_FLAT: reloc outside program 0x9b7c0000 (0 - 0xffffd494/0x9960),
> killing Main!
[...]
> ucfront-g++ m68k-elf-g++ -m5307 -DCONFIG_COLDFIRE -Os -g
> -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall   -DEMBED
> -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -nostdinc++
> -fno-exceptions   -c -o Main.o Main.cpp

This was discussed fairly recently (and several times before).  C++ >= 3.0,
m68k, and -msep-data do not mix.

To work around this, you need to edit your config.arch to disable XIP and
shared libraries, then do a complete clean and rebuild.  And hope your
toolchain isn't including anything itself that used -msep-data.

(You need to end up with executables that have the Load-To-RAM flag set, and
*don't* have Has-PIC-GOT.)

Hopefully there's a linker guru around somewhere who can figure out why this
is happening and beat it into submission (properly), but for now this is the
best workaround I know.



_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to