Browse Source
* as.c (main): Always call cfi_finish.
* config/tc-i386.c (x86_dwarf2_return_column): New.
(x86_cie_data_alignment): New.
(md_begin): Set them.
(tc_x86_cfi_init): Remove.
(tc_x86_regname_to_dw2regnum): Fix 32-bit register numbers;
return int, not unsigned long; don't as_bad here.
(tc_x86_frame_initial_instructions): Streamline; use
updated api.
* config/tc-i386.h (tc_cfi_init): Remove.
(DWARF2_DEFAULT_RETURN_COLUMN): New.
(DWARF2_CIE_DATA_ALIGNMENT): New.
* gas/cfi/cfi-i386.d: Update for dw2gencfi rewrite.
* gas/cfi/cfi-x86_64.d: Likewise.
* gas/cfi/cfi-i386-2.d: New.
* gas/cfi/cfi-i386-2.s: New.
ezannoni_pie-20030916-branch
11 changed files with 748 additions and 800 deletions
File diff suppressed because it is too large
@ -0,0 +1,26 @@ |
|||
#readelf: -wf |
|||
#name: CFI on i386, 2 |
|||
The section .eh_frame contains: |
|||
|
|||
00000000 00000014 00000000 CIE |
|||
Version: 1 |
|||
Augmentation: "zR" |
|||
Code alignment factor: 1 |
|||
Data alignment factor: -4 |
|||
Return address column: 8 |
|||
Augmentation data: 1b |
|||
|
|||
DW_CFA_def_cfa: r4 ofs 4 |
|||
DW_CFA_offset: r8 at cfa-4 |
|||
DW_CFA_nop |
|||
DW_CFA_nop |
|||
|
|||
00000018 00000018 0000001c FDE cie=00000000 pc=00000020..00000029 |
|||
DW_CFA_advance_loc: 1 to 00000021 |
|||
DW_CFA_def_cfa_offset: 8 |
|||
DW_CFA_offset: r5 at cfa-8 |
|||
DW_CFA_advance_loc: 4 to 00000025 |
|||
DW_CFA_offset: r3 at cfa-12 |
|||
DW_CFA_def_cfa_offset: 12 |
|||
DW_CFA_nop |
|||
|
|||
@ -0,0 +1,17 @@ |
|||
.text |
|||
.globl foo |
|||
.type foo,@function |
|||
.cfi_startproc |
|||
foo: |
|||
push %ebp |
|||
.cfi_adjust_cfa_offset 4 |
|||
.cfi_offset %ebp, -8 |
|||
.align 4 |
|||
push %ebx |
|||
.cfi_offset %ebx, -12 |
|||
.cfi_adjust_cfa_offset 4 |
|||
nop |
|||
pop %ebx |
|||
pop %ebp |
|||
ret |
|||
.cfi_endproc |
|||
Loading…
Reference in new issue