Hi there!
I tried to compile your current CVS Fiasco with the SA1100 ARM CPU target with all other options at default. I used the, at www.arm.com officially mentioned, GNU Toolchain for ARM Processors from www.codesourcery.com. Both target platform versions arm-bare-gcc-3.4.4 (target platform bare metal) and arm-linux-gcc-3.4.4 (target platform linux) fail at final linking with the attached error message. Maybe, I'm using the wrong arm-linux-compiler. What am I doing wrong? Are other mandatory configuration settings? What ARM compiler are you using?
Best regards Marko
######### with arm-bare-gcc-3.4.4 ##########
==> Linking fiasco.image arm-linux-ld: Warning: size of symbol `__DTOR_LIST__' changed from 4 in libc.a(construction.o) to 8 in /opt/arm-bare-gcc-3.4.4/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(_ctors.o) arm-linux-ld: Warning: size of symbol `__CTOR_LIST__' changed from 4 in libc.a(construction.o) to 8 in /opt/arm-bare-gcc-3.4.4/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(_ctors.o) arm-linux-ld: section .excp [c0026000 -> c002697f] overlaps section .bss._ZGVZN23mapping_tree_allocators8instanceEvE15tree_allocators [c0026000 -> c0026003] arm-linux-ld: section .bss._ZZN23mapping_tree_allocators8instanceEvE15tree_allocators [c0026004 -> c0026027] overlaps section .excp [c0026000 -> c002697f] uart_console.o: In function `uart_console_init_stage1()':uart_console.cc: (.text._Z24uart_console_init_stage1v+0x88): undefined reference to `__aeabi_atexit' kernel_uart.o: In function `Kernel_uart::uart()':kernel_uart.cc: (.text._ZN11Kernel_uart4uartEv+0x3c): undefined reference to `__aeabi_atexit' kernel_console.o: In function `Kconsole::console()':kernel_console.cc: (.text._ZN8Kconsole7consoleEv+0x50): undefined reference to `__aeabi_atexit' mapdb.o: In function `Mapdb::~Mapdb()':mapdb.cc:(.text._ZN5MapdbD1Ev+0xe4): undefined reference to `__aeabi_atexit' mapdb.o: In function `Mapdb::~Mapdb()':mapdb.cc:(.text._ZN5MapdbD2Ev+0xe4): undefined reference to `__aeabi_atexit' mapdb.o:mapdb.cc:(.text._ZN5Mapdb4freeEP7Mapping+0x270): more undefined references to `__aeabi_atexit' follow /opt/arm-bare-gcc-3.4.4/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(unwind-arm.o): In function `get_eit_entry':unwind-arm.c:(.text+0x45c): undefined reference to `__exidx_start' :unwind-arm.c:(.text+0x460): undefined reference to `__exidx_end' /opt/arm-bare-gcc-3.4.4/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(unwind-arm.o): In function `unwind_phase2':unwind-arm.c:(.text+0x4c8): undefined reference to `abort' /opt/arm-bare-gcc-3.4.4/bin/../lib/gcc/arm-none-eabi/3.4.4/libgcc.a(unwind-arm.o): In function `__gnu_Unwind_Resume':unwind-arm.c:(.text+0x6f4): undefined reference to `abort' make[3]: *** [fiasco.image] Fehler 1
######### with arm-linux-gcc-3.4.4 ##########
==> Linking fiasco.image arm-linux-ld: Warning: size of symbol `__CTOR_LIST__' changed from 4 in libc.a(construction.o) to 8 in /opt/arm-linux-gcc-3.4.4/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.4/libgcc.a(_ctors.oS) arm-linux-ld: Warning: size of symbol `__DTOR_LIST__' changed from 4 in libc.a(construction.o) to 8 in /opt/arm-linux-gcc-3.4.4/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.4/libgcc.a(_ctors.oS) arm-linux-ld: section .excp [c0026000 -> c002697f] overlaps section .bss._ZGVZN23mapping_tree_allocators8instanceEvE15tree_allocators [c0026000 -> c0026003] arm-linux-ld: section .bss._ZZN23mapping_tree_allocators8instanceEvE15tree_allocators [c0026004 -> c0026027] overlaps section .excp [c0026000 -> c002697f] uart_console.o: In function `uart_console_init_stage1()':uart_console.cc: (.text._Z24uart_console_init_stage1v+0x80): undefined reference to `__aeabi_atexit' kernel_uart.o: In function `Kernel_uart::uart()':kernel_uart.cc: (.text._ZN11Kernel_uart4uartEv+0x38): undefined reference to `__aeabi_atexit' kernel_console.o: In function `Kconsole::console()':kernel_console.cc: (.text._ZN8Kconsole7consoleEv+0x4c): undefined reference to `__aeabi_atexit' mapdb.o: In function `Mapdb::~Mapdb()':mapdb.cc:(.text._ZN5MapdbD1Ev+0xd8): undefined reference to `__aeabi_atexit' mapdb.o: In function `Mapdb::~Mapdb()':mapdb.cc:(.text._ZN5MapdbD2Ev+0xd8): undefined reference to `__aeabi_atexit' mapdb.o:mapdb.cc:(.text._ZN5Mapdb4freeEP7Mapping+0x13c): more undefined references to `__aeabi_atexit' follow /opt/arm-linux-gcc-3.4.4/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.4/libgcc.a(_divdi3.oS): (.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' /opt/arm-linux-gcc-3.4.4/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.4/libgcc.a(_udivdi3.oS): (.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' make[3]: *** [fiasco.image] Fehler 1
Hi,
On Fri Dec 02, 2005 at 17:54:14 +0100, Marko Wolf wrote:
I tried to compile your current CVS Fiasco with the SA1100 ARM CPU target with all other options at default. I used the, at www.arm.com officially mentioned, GNU Toolchain for ARM Processors from www.codesourcery.com. Both target platform versions arm-bare-gcc-3.4.4 (target platform bare metal) and arm-linux-gcc-3.4.4 (target platform linux) fail at final linking with the attached error message. Maybe, I'm using the wrong arm-linux-compiler. What am I doing wrong? Are other mandatory configuration settings? What ARM compiler are you using?
Those suites are generating some new object format (and use some fairly recent and unreleased binutils version). After a first glance it doesn't look like two one-liners will fix it. We've put it on our list.
Adam
Finally, I used the prebuilt toolchain binaries from NICTA (http://www.ertos.nicta.com.au/software/prebuilt/binaries.pml) that worked out.
However, what runtime environment (tools, simulators, ...) are you using for ARM builds? Is there any Fiasco@ARM documentation available?
Ciao Marko
Am Montag, 5. Dezember 2005 10:52 schrieb Adam Lackorzynski:
Those suites are generating some new object format (and use some fairly recent and unreleased binutils version). After a first glance it doesn't look like two one-liners will fix it. We've put it on our list.
On Mon Dec 05, 2005 at 14:32:27 +0100, Marko Wolf wrote:
However, what runtime environment (tools, simulators, ...) are you using for ARM builds? Is there any Fiasco@ARM documentation available?
There are no real docs available right now, sorry.
Adam
l4-hackers@os.inf.tu-dresden.de