Re: Bare metal ARM Cross compiler for arm-none-eabi target without libunwind?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx> wrote: -----
To: Fredrik Hederstierna <fredrik.hederstierna@xxxxxxxxxxxxxxxxxxxx>
From: Ian Lance Taylor <iant@xxxxxxxxxx>
Date: 03/27/2012 03:30PM
Cc: gcc-help@xxxxxxxxxxx
Subject: Re: Bare metal ARM Cross compiler for arm-none-eabi target without libunwind?

Fredrik Hederstierna <fredrik.hederstierna@xxxxxxxxxxxxxxxxxxxx> 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



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux