.rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab :...
.section .eh_frame,"a",@progbits .Lframe1: .long .LECIE1-.LSCIE1 .LSCIE1: .long 0x0 .byte 0x1 .string "zR" .uleb128 0x1 .sleb128 -8 .byte 0x10 .uleb128 0x1 .byte 0x3 .byte 0xc .uleb128 0x7 .uleb128 0x8 .byte 0x90 .uleb128 0x1 .align 8 .LECIE1: .LSFDE1...
*(.eh_frame_entry .eh_frame_entry.*) .eh_frame 0x0000000000400668 0x114 *(.eh_frame) .eh_frame 0x0000000000400668 0x30 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o .eh_frame 0x0000000000400698 0x40 /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-...
这个比我们计算出来的应该是0x14A还多出2个字节啊。仔细看一下,会发现:这是因为在.rodata和.eh_frame两个节之间有两个字节的位置间隙:0x5af+0x7=0x5b6,而.eh_frame在上图的值是0x5b8。 基于上面段是由节合并而成的原理,现在我们只需要取出program(段)数据就已经完全覆盖了程序的所有代码和数据了,所以用...
.eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } ...
一、环境配置 1、编译环境使用gcc+makefile 2、我的开发板使用的是stm32F103, 二、下载cmbacktrace 1、下载地址:https://github.com/armink/CmBacktrace,在github上下载源代码,可以直接下载zip或者用git clone下来 2
--sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o hello /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o ...
Disassembly of section .eh_frame: 0000000000000000 <.eh_frame>: 0: 14 00 adc $0x0,%al 2: 00 00 add %al,(%rax) 4: 00 00 add %al,(%rax) 6: 00 00 add %al,(%rax) 8: 01 7a 52 add %edi,0x52(%rdx) b: 00 01 add %al,(%rcx) ...
代码语言:javascript 代码运行次数:0 运行 AI代码解释 /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/collect2--eh-frame-hdr-m elf_i386-dynamic-linker/lib/ld-linux.so.2-o test/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/../../../crt1.o/usr/lib...
-momit-leaf-frame-pointer不为叶子函数在寄存器中保存栈指针,这样可以节省寄存器,但是将会使调试变的困难。注意:不要与 -fomit-frame-pointer 同时使用,因为会造成代码效率低下。-m64生成专门运行于64位环境的代码,不能运行于32位环境,仅用于x86_64[含EMT64]环境。-mcmodel=small[默认值]程序和它的符号必须...