Dear all
I came across the below .S file when I'm googling for looking a example of startup code.
//////////////////////////////////////////////////////
.section .text .globl main0 .globl main1 .globl main2 .globl main .globl __aeabi_unwind_cpp_pr0 .globl __aeabi_unwind_cpp_pr1 main0: main1: main2: main: bl startboot __aeabi_unwind_cpp_pr0: __aeabi_unwind_cpp_pr1: b __aeabi_unwind_cpp_pr0
//////////////////////////////////////////////////////////
But I can't find what __aeabi_unwind_cpp_pr0~1 's purpose and mean.
Would you please help me and let me know What is the purpose and mean of using __aeabi_unwind_cpp_pr0 and __aeabi_unwind_cpp_pr1 ?
__aeabi_unwind_cpp_pr0: __aeabi_unwind_cpp_pr1: b __aeabi_unwind_cpp_pr0
Where did you come across it?
Have you asked the author about it?
This suggests that it's GCC - not Keil: stackoverflow.com/.../what-is-aeabi-unwind-cpp-pr1-and-how-can-i-avoid-it
Hello Carter,
Thank you for using the Keil tools for ARM.
- Perhaps you are no longer using any C++ files (CPP files) in your project, so there was no longer a need to do C++ unwinding, so those symbols never got created?
- Perhaps you are using the ARM Compiler 5 instead of the ARM Compiler 6 for your project? You can check what compiler you are using in your project here:
- www.keil.com/.../uv4_defaultarmcompilers.htm
- Perhaps you are setting one of these commands to disable unwinding?
- developer.arm.com/.../-exceptions_unwind-no_exceptions_unwind - developer.arm.com/.../frame-unwind-off
For Context, you can read about unwinding at:
- developer.arm.com/.../exception-tables-and-unwind-tables - sourceware.org/.../ARM-Unwinding-Tutorial.html - developer.arm.com/.../frame-unwind-on