This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Bare metal ARM Cross compiler for arm-none-eabi target without libunwind?
Hi
We generate the map-file, the content tells that (if I understand correctly)
"_divdi3.o" use "__aeabi_unwind_cpp_pr0" which resides in "unwind-arm.o".
Is it really correct that we need unwind-support if just using division?
Could it be that _divdi3 can 'throw' division-by-zero 'exception' ?
(We have overloaded div0: "void __div0(void) { assert(0); }" so we dont want unwinding here anyway...)
If I declare this symbol myself in a file as
char __aeabi_unwind_cpp_pr0[0];
the binary links successfully, but I'm not sure its 100% working and correct.
(I have some problems with crashes on the new built eabi target, but could also be other reasons.)
----------------MAP FILE----------------
Archive member included because of file (symbol)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_thumb1_case_uqi.o)
../../../build/sniffer2/datetime_utils.o (__gnu_thumb1_case_uqi)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_thumb1_case_uhi.o)
../../../build/sniffer2/radio_cc110x.o (__gnu_thumb1_case_uhi)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivsi3.o)
../../../build/sniffer2/printf.o (__aeabi_uidiv)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divsi3.o)
../../../build/sniffer2/app_start.o (__aeabi_idiv)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_dvmd_tls.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivsi3.o) (__aeabi_idiv0)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_aeabi_ldivmod.o)
../../../build/sniffer2/91x_uart.o (__aeabi_ldivmod)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_aeabi_uldivmod.o)
../../../build/sniffer2/sleep.o (__aeabi_uldivmod)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_muldi3.o)
../../../build/sniffer2/sleep.o (__aeabi_lmul)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(bpabi.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_aeabi_ldivmod.o) (__gnu_ldivmod_helper)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(bpabi.o) (__divdi3)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(bpabi.o) (__udivdi3)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o) (__aeabi_unwind_cpp_pr0)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o) (restore_core_regs)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o) (__gnu_unwind_execute)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_clzsi2.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o) (__clzsi2)
-------------//...//-------------
.ARM.extab 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o)
.data 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
.bss 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
.ARM.extab 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
.data 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.bss 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_info 0x00000000 0x1d4c /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_abbrev 0x00000000 0x448 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_loc 0x00000000 0x19a4 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_aranges
0x00000000 0x20 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_ranges 0x00000000 0x60 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_line 0x00000000 0x46c /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_str 0x00000000 0xb6c /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.comment 0x00000000 0x12 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.ARM.attributes
0x00000000 0x32 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.debug_frame 0x00000000 0x2d0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.data 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.bss 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.ARM.attributes
0x00000000 0x1e /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.debug_line 0x00000000 0xb4 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.debug_info 0x00000000 0xa8 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.debug_abbrev 0x00000000 0x14 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.debug_aranges
0x00000000 0x20 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
.data 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.bss 0x00000000 0x0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_info 0x00000000 0x928 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_abbrev 0x00000000 0x25a /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_loc 0x00000000 0x720 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_aranges
0x00000000 0x20 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_ranges 0x00000000 0x30 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_line 0x00000000 0x17a /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_str 0x00000000 0x4ef /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.comment 0x00000000 0x12 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.ARM.attributes
0x00000000 0x32 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
.debug_frame 0x00000000 0x100 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
-------------//...//-------------
*fill* 0x00008852 0x2 00
.text 0x00008854 0x9c0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
0x00008b04 _Unwind_GetCFA
0x00008b08 __gnu_Unwind_RaiseException
0x00008b68 __gnu_Unwind_ForcedUnwind
0x00008b80 __gnu_Unwind_Resume
0x00008bc8 __gnu_Unwind_Resume_or_Rethrow
0x00008be6 _Unwind_Complete
0x00008be8 _Unwind_DeleteException
0x00008bfe _Unwind_VRS_Get
0x00008c4c _Unwind_VRS_Set
0x00008f20 __aeabi_unwind_cpp_pr2
0x00008f2e __aeabi_unwind_cpp_pr1
0x00008f3c __aeabi_unwind_cpp_pr0
0x00008f4a __gnu_Unwind_Backtrace
0x00008fbc _Unwind_VRS_Pop
.text 0x00009214 0x1d8 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
0x00009214 __restore_core_regs
0x00009214 restore_core_regs
0x00009230 __gnu_Unwind_Restore_VFP
0x00009238 __gnu_Unwind_Save_VFP
0x00009240 __gnu_Unwind_Restore_VFP_D
0x00009248 __gnu_Unwind_Save_VFP_D
0x00009250 __gnu_Unwind_Restore_VFP_D_16_to_31
0x00009258 __gnu_Unwind_Save_VFP_D_16_to_31
0x00009260 __gnu_Unwind_Restore_WMMXD
0x000092a4 __gnu_Unwind_Save_WMMXD
0x000092e8 __gnu_Unwind_Restore_WMMXC
0x000092fc __gnu_Unwind_Save_WMMXC
0x00009310 ___Unwind_RaiseException
0x00009310 _Unwind_RaiseException
0x0000933c ___Unwind_Resume
0x0000933c _Unwind_Resume
0x00009368 _Unwind_Resume_or_Rethrow
0x00009368 ___Unwind_Resume_or_Rethrow
0x00009394 ___Unwind_ForcedUnwind
0x00009394 _Unwind_ForcedUnwind
0x000093c0 _Unwind_Backtrace
0x000093c0 ___Unwind_Backtrace
.text 0x000093ec 0x35c /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
0x00009442 __gnu_unwind_execute
0x000096ec __gnu_unwind_frame
0x00009716 _Unwind_GetRegionStart
0x00009724 _Unwind_GetLanguageSpecificData
0x0000973c _Unwind_GetDataRelBase
0x00009742 _Unwind_GetTextRelBase
-------------//...//-------------
.ARM.exidx 0x040004c0 0xf0 load address 0x0000a6f4
.ARM.exidx 0x040004c0 0x8 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o)
.ARM.exidx 0x040004c8 0x8 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
.ARM.exidx 0x040004d0 0xa8 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
0xd8 (size before relaxing)
.ARM.exidx 0x04000578 0x38 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
0x48 (size before relaxing)
.ARM.extab 0x040005b0 0x78 load address 0x0000a7e4
.ARM.extab 0x040005b0 0x54 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
.ARM.extab 0x04000604 0x24 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
-------------//...//-------------
_Unwind_Backtrace /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
_Unwind_Complete /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
_Unwind_DeleteException /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
_Unwind_ForcedUnwind /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
_Unwind_GetCFA /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
_Unwind_GetDataRelBase /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_GetLanguageSpecificData /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_GetRegionStart /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_GetTextRelBase /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_RaiseException /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
_Unwind_Resume /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
_Unwind_Resume_or_Rethrow /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
_Unwind_VRS_Get /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_VRS_Pop /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
_Unwind_VRS_Set /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
__FMI_EraseSector ../../../build/sniffer2/crashdump.o
__FMI_WaitForLastOperation ../../../build/sniffer2/crashdump.o
__FMI_WriteHalfWord ../../../build/sniffer2/crashdump.o
__FMI_WriteProtectionCmd ../../../build/sniffer2/crashdump.o
___Unwind_Backtrace /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
___Unwind_ForcedUnwind /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
___Unwind_RaiseException /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
___Unwind_Resume /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
___Unwind_Resume_or_Rethrow /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
-------------//...//-------------
__aeabi_unwind_cpp_pr0 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_udivdi3.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_divdi3.o)
__aeabi_unwind_cpp_pr1 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
__aeabi_unwind_cpp_pr2 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
-------------//...//-------------
__cxa_begin_cleanup /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__cxa_call_unexpected /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__cxa_type_match /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
-------------//...//-------------
__exidx_end /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__exidx_start /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
-------------//...//-------------
__gnu_Unwind_Backtrace /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
__gnu_Unwind_Find_exidx /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_ForcedUnwind /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
__gnu_Unwind_RaiseException /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
__gnu_Unwind_Restore_VFP /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Restore_VFP_D /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Restore_VFP_D_16_to_31 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Restore_WMMXC /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Restore_WMMXD /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Resume /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
__gnu_Unwind_Resume_or_Rethrow /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
__gnu_Unwind_Save_VFP /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Save_VFP_D /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Save_VFP_D_16_to_31 /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Save_WMMXC /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_Unwind_Save_WMMXD /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_ldivmod_helper /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(bpabi.o)
-------------//...//-------------
__gnu_thumb1_case_uqi /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(_thumb1_case_uqi.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_unwind_execute /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
__gnu_unwind_frame /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
__restore_core_regs /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
abort /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(pr-support.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
memcpy /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
restore_core_regs /usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(libunwind.o)
/usr/local/gcc/arm-elf-tools-4.7.0-eabi/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o)
-------------MAP FILE END-------------
Do you have any idea how to proceed?
Thanks!/Fredrik
-----Ian Lance Taylor <iant@google.com> wrote: -----
To: Fredrik Hederstierna <fredrik.hederstierna@securitas-direct.com>
From: Ian Lance Taylor <iant@google.com>
Date: 03/27/2012 03:30PM
Cc: gcc-help@gcc.gnu.org
Subject: Re: Bare metal ARM Cross compiler for arm-none-eabi target without libunwind?
Fredrik Hederstierna <fredrik.hederstierna@securitas-direct.com> writes:
> /usr/local/gcc/arm-elf-tools-4.7.0/lib/gcc/arm-none-eabi/4.7.0/thumb//libgcc.a(unwind-arm.o): In function `get_eit_entry':
You need to find out why unwind-arm.o is being included in your link.
You could easily remove it from libgcc.a, but that would just leave you
with some other undefined symbol. ?unwind-arm.o is only being pulled in
because it defines some symbol that your program refers to. ?What
symbol?
If you are using the GNU linker you can find out easily enough by adding
-Wl,-M to your link command. ?That will produce a map file. ?The first
part of the file will be a list starting with "Archive member included
because of file (symbol)". ?Look for the symbol that causes unwind-arm.o
to be included.
Ian