C++ on ppc
Vermeulen Jan
Jan.Vermeulen@siemens.atea.be
Tue Feb 12 05:05:00 GMT 2002
Hello everybody,
I have a small c++ program for a Light Emitting Diode test which I cannot
seem to compile under 'ppc-eabi-g++'
(tried with version 2.95.3, 3.0.2 & 3.0.3)
Our custom board has its own bootcode which works without problems.
After everything is set up (ram, serial, ...) i can upload some code (binary
image) to a certain location in ram and run it from there. (using kermit
serial mode)
This approach works without problems for a led-test programmed in C.
I just compile the c-program with "powerpc-eabi-gcc -nostdlib -nostartfiles
-fno-builtin -meabi -Wl,-Tscript.ld,-N -o test test.c"
with 'script.ld' being something very simple:
OUTPUT_ARCH(powerpc)
ENTRY(main);
SECTIONS {
.=0x2000
.vector0 :
{
LONG(ABSOLUTE( main ))
}
.text : { *(.text) }
.data : { *(.data) }
.bss : { *(.bss) }
}
But when I try to do the same with the C++ program, it always complains
about something depending on what commandline i use.
For example: (2.95.3)
[prompt]$ powerpc-eabi-g++ -nostdlib -nostartfiles -fno-builtin
-Wl,-Tscript.ld,-N -o test test.cc
in function 'LED::~LED(void)' :
undefined reference to '__buildin_delete'
in function 'main' :
undefined reference to '__eabi'
undefined reference to '__get_eh_context'
collect2: ld returned 1 exit status
I have a clue why this is so:
The startfiles include code for setting up global constructors/destructors.
But we don't really need startup code, all the SPR's are already setup
correctly.
We just want our C++ program to be compiled to adress 0x2000 so we can run
it.
My system is linux Mandrake 8.1, and i've made the powerpc-crosscompiler
following Bill's FAQ.
Can somebody point out where i'm wrong? Or what I should read/follow?
Thanks,
Jan
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
More information about the crossgcc
mailing list