.ARM.exidx

一介绍:

`.ARM.exidx` is the section containing information for unwinding the stack. If your C program has functions that print out a stack backtrace, the functions will likely depend on this section being present.

相关的编译选项 `-funwind-tables

二问题:

cannot locate symbol "__exidx_start" referenced by

可以在linker script中添加(诸如此类的未定义现象可以在linker script中解决 或者通过编译选项解决)

__exidx_start = .;

.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >sram

__exidx_end = .;

.ARM.exidx

时间: 2024-10-22 00:29:49

.ARM.exidx的相关文章

GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误的解决办法

/opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' make: *** [u-boot] Error 1 一旦编译uboot出现上述错误,请不要慌张!解决办法官网已经给出,主要解决办法如下: vim 打开./lib_arm/eabi_com

pr_debug、dev_dbg等动态调试一

内核版本:Linux-3.14 pr_debug: #if defined(CONFIG_DYNAMIC_DEBUG) /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ #define pr_debug(fmt, ...) \ dynamic_pr_debug(fmt, ##__VA_ARGS__) #elif defined(DEBUG) #define pr_debug(fmt, ...) \

Keil5.15使用GCC编译器编译STM32工程

我们使用Keil一般使用ARMCC编译MCU工程代码.其实,Keil也是支持内嵌GCC编译器的.我们可以使用GCC来编译我们的工程代码. 一.下载GCC编译器 GCC编译器下载地址 二.安装GCC 我们可以把GCC解压到keil的安装目录下面.如下图 三.配置Keil使用GCC编译器 1.配置CC编译规则,Misc Controls 填写 -mcpu=cortex-m4 -mthumb -fdata-sections -ffunction-sections 2.Assembler中规则,Misc

二、设备和驱动的注册时序

一.引言 在platform驱动程序框架中,我们了解到,platform设备和驱动最终会挂载在platform总线上,platform总线会对设备和驱动进行匹配.那么设备和驱动是怎么注册到platform框架中去的,其先后顺序又是怎样的? 二.设备和驱动注册 platform_device_register注册设备 1 /** 2 * platform_device_register - add a platform-level device 3 * @pdev: platform device

转:u-boot分析 三 (u-boot.lds脚本)

u-boot分析 三 (u-boot.lds脚本) 转自:http://blog.csdn.net/itxiebo/article/details/50938753 目的, 了解链接器用到的脚本文件u-boot.lds. 在开始这篇博文之前,需要先了解一些GNU linker script的基本知识,可以参考博主的另外一篇分享<GNU linker script,ld script,GNU链接脚本> 在<u-boot分析 二>中,我们分析u-boot的目录结构,提及到了程序入口st

Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7) 【转】

转自:http://blog.chinaunix.net/uid-25909619-id-4938388.html 研究内核源码和内核运行原理的时候,很总要的一点是要了解内核的初始情况,也就是要了解内核启动过程.我在研究内核的内存管理的时候,想知道内核启动后的页表的放置,页表的初始化等信息,这促使我这次仔细地研究内核的启动代码. CPU在bootloader的帮助下将内核载入到了内存中,并开始执行.当然,bootloader必须为zImage做好必要的准备:  1. CPU 寄存器的设置: R0

u-boot移植(二)---修改前工作:代码流程分析1

一.代码执行总体流程图 1.1 代码路径 U-boot.lds (arch\arm\cpu) vectors.S (arch\arm\lib) start.S (arch\arm\cpu\arm920t) lowlevel_init.S (board\samsung\jz2440) crt0.S (arch\arm\lib) relocate.S (arch\arm\lib) Board_init.c (common\init) Board_f.c (common) Jz2440.h (incl

如何查看程序被哪个版本编译器编译的linux-gcc

如何查看程序被哪个版本编译器编译的linux-gcc http://bbs.csdn.net/topics/380000949 那是不可能的,除非你加入了调试信息,也就是编译的时候加入了-g参数,然后用gdb调试就可以显示.最大程度上查看一个elf文件信息. 如下: [[email protected] rootfs]#  readelf -Wa bin/gzip ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

旧文-使用Sourcery G++ Lite Edition + keil 进行开发ARM- 2010年02月21日 10:43

一致使用winarm + keil进行ARM开发,但是兼容性不好,例如有时候无法链接,而且WINARM已经很长时间没有更新了,故决定使用Sourcery G++ Lite Edition替换WINARM. 主要遇到了一下几个问题: 1,无法链接_isatty()函数. 把原来的isatty()函数改名为_isatty()即可. 2,(.ARM.exidx+0x0): undefined reference (.ARM.exidx+0x0): relocation truncated to fit