Add -funwind-tables when cross-compiling, you can successfully unwind backtrace through the interface(_Unwind_Backtrace and _Unwind_VRS_Get) in the libgcc library.
But when I added the -O2 option at cross-compiling time, unwind backtrace would fail. I pass -Q -O2 --help=optimizers print out the optimization and testing, but the results and -O2 is different, very strange,
Adding the -O2 option when cross-compiling causes the unwind backtrace to fail
291 Views Asked by W_xy At
1
There are 1 best solutions below
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in ARM
- Why Device Tree Structure (DTS) file is needed both in bootloader and kernel source code?
- How can I use LD to place ARM reset vectors in a program segment
- Errors in makefile for qemu 0.14.1 in ubuntu 15.04 64 bit
- Text as parameter in inline assembly (ARM)?
- GSL: nm outputs "undefined Symbol (U)"
- How to address multiple definition compiler error
- Did anyone compiled GSL for androind?
- Linker Error on cross compiling Project in eclipse
- How to set privilaged mode in ARM Cortex-A8?
- Why is a write to a memory-mapped peripheral register not actioned (LPC43xx)?
- what's ARM TCM memory
- Traversing a string using arm assembly inside V8 source
- C Global declared in ISR
- Which is better? int8_t vs int32_t in 32 bits MCU
- Cannot find -lgtk-x11-2.0. Also, some modules are not found by cmake, though they are installed
Related Questions in CROSS-COMPILING
- Cross compile simple standard C program on Linux for Mac
- mingw-64 conflicting declarations when cross-compiling
- GSL: nm outputs "undefined Symbol (U)"
- using Diab, dcc 5.9.4 to compile a windows executable
- Cross compiling for Raspberry pi 2 error
- Linker Error on cross compiling Project in eclipse
- Get conditional branch slot from MIPS cross compiler
- Prelink Error: prelink-cross: simple hello world example
- Go Cross compiler fails
- How to install the third-party python (2.7) modules (e.g. Pycrypto) on ARM?
- impossible constraint in 'asm' error
- How can I compile ndpiReader.c that comes with nDPI library in Windows?
- How Do I Configure Qmake for Cross Compilation?
- Building a cross compile of binutils on OS X Yosemite
- Explain behavior of Unix sleep() function executed on Android
Related Questions in LIBGCC
- using GCC 4.4 library with GCC 4.8 application
- what to do with missing libgcc_s.a
- Compile not optimized Libgcc for ARM
- Different compiler behavior when dividing unsigned char vs dividing unsigned short
- libgcc linker error: hidden symbol __aarch64_swp1_acq_rel in libgcc.a is referenced by DSO
- Unable to Deploy Streamlit app on Heroku - missing libgcc_s.so.1
- libgcc and libstdcplusplus rpms version supported by node 14 LTC (v14.15.4)
- cannot find Scrt.o and crti.o
- Different versions of compilers + libgcc on windows encountered
- Compile libgcc.a and libstd++.a for 32 bits
- How to install 16 bit version of libcc
- libgcc1 depends gcc-5-base but it is not installable
- Adding the -O2 option when cross-compiling causes the unwind backtrace to fail
- How to fix cannot find libgcc.a: No such file or directory error
- What should printf("%.15e", 1e23); print?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You haven't told us which ARM architecture you are building for - but assuming it's a 32-bit architecture, enabling
-O2has also enabled-fomit-frame-pointer(§-fomit-frame-pointer)The frame-pointer
The frame pointer contains the base of the current function's stack frame (and with the knowledge that the caller's frame pointer is stored on the stack, a linked list of all stack frames in the call-tree). It's usually described as
fpin documentation - a synonym forr11.Omitting the frame-pointer
The ARM register file is small at 16 registers - one of which is the program counter. The frame pointer is one of the 15 that remains and is used only for debugging and diagnostics - specifically to provide stack walk-backs and symbolic debugging.
-fomit-frame-pointertells the compiler to not maintain a frame pointer, thus liberating ther11for other uses, and potentially avoiding spill of variables to the stack from registers. It also saves 4 bytes per stack-frame of stack storage and a store and load to the stack.Naturally, if
fpis used as general purpose register, its contents are undefined and walk-backs won't work.You probably want to reenable the frame pointer with
-fno-omit-frame-pointerfor your own sanity.