Set x86_cie_data_alignment to -4 for x32.
gas/ 2011-03-04 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (x86_cie_stack_alignment): New. (md_begin): Set x86_cie_data_alignment if it isn't set. Set x86_cie_stack_alignment. (i386_target_format): Set x86_cie_data_alignment to -4 for x32. (tc_x86_frame_initial_instructions): Use x86_cie_stack_alignment instead of x86_cie_data_alignment on SP and RA. gas/testsuite/ 2011-03-04 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/ilp32/cfi/cfi-x86_64.d: Updated.
This commit is contained in:
parent
da3ecdc664
commit
ac480657f1
4 changed files with 26 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
|||
2011-03-04 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/tc-i386.c (x86_cie_stack_alignment): New.
|
||||
(md_begin): Set x86_cie_data_alignment if it isn't set. Set
|
||||
x86_cie_stack_alignment.
|
||||
(i386_target_format): Set x86_cie_data_alignment to -4 for x32.
|
||||
(tc_x86_frame_initial_instructions): Use x86_cie_stack_alignment
|
||||
instead of x86_cie_data_alignment on SP and RA.
|
||||
|
||||
2011-03-02 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* ecoff.c: Incldue filenames.h
|
||||
|
|
|
@ -502,6 +502,9 @@ unsigned int x86_dwarf2_return_column;
|
|||
/* The dwarf2 data alignment, adjusted for 32 or 64 bit. */
|
||||
int x86_cie_data_alignment;
|
||||
|
||||
/* The dwarf2 stack alignment, adjusted for 32 or 64 bit. */
|
||||
static int x86_cie_stack_alignment;
|
||||
|
||||
/* Interface to relax_segment.
|
||||
There are 3 major relax states for 386 jump insns because the
|
||||
different types of jumps add different sizes to frags when we're
|
||||
|
@ -2378,12 +2381,15 @@ md_begin ()
|
|||
#else
|
||||
x86_dwarf2_return_column = 16;
|
||||
#endif
|
||||
x86_cie_data_alignment = -8;
|
||||
if (!x86_cie_data_alignment)
|
||||
x86_cie_data_alignment = -8;
|
||||
x86_cie_stack_alignment = -8;
|
||||
}
|
||||
else
|
||||
{
|
||||
x86_dwarf2_return_column = 8;
|
||||
x86_cie_data_alignment = -4;
|
||||
x86_cie_stack_alignment = -4;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8636,6 +8642,7 @@ i386_target_format (void)
|
|||
use_rela_relocations = 1;
|
||||
object_64bit = 1;
|
||||
disallow_64bit_reloc = 1;
|
||||
x86_cie_data_alignment = -4;
|
||||
format = ELF_TARGET_FORMAT32;
|
||||
break;
|
||||
}
|
||||
|
@ -9045,8 +9052,8 @@ tc_x86_frame_initial_instructions (void)
|
|||
input_line_pointer = saved_input;
|
||||
}
|
||||
|
||||
cfi_add_CFA_def_cfa (sp_regno[flag_code >> 1], -x86_cie_data_alignment);
|
||||
cfi_add_CFA_offset (x86_dwarf2_return_column, x86_cie_data_alignment);
|
||||
cfi_add_CFA_def_cfa (sp_regno[flag_code >> 1], -x86_cie_stack_alignment);
|
||||
cfi_add_CFA_offset (x86_dwarf2_return_column, x86_cie_stack_alignment);
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2011-03-04 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/i386/ilp32/cfi/cfi-x86_64.d: Updated.
|
||||
|
||||
2011-02-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/alnv_ps-swap.d: New test for ALNV.PS instruction
|
||||
|
|
|
@ -7,7 +7,7 @@ Contents of the .eh_frame section:
|
|||
Version: 1
|
||||
Augmentation: "zR"
|
||||
Code alignment factor: 1
|
||||
Data alignment factor: -8
|
||||
Data alignment factor: -4
|
||||
Return address column: 16
|
||||
Augmentation data: 1b
|
||||
|
||||
|
@ -55,7 +55,7 @@ Contents of the .eh_frame section:
|
|||
Version: 1
|
||||
Augmentation: "zR"
|
||||
Code alignment factor: 1
|
||||
Data alignment factor: -8
|
||||
Data alignment factor: -4
|
||||
Return address column: 16
|
||||
Augmentation data: 1b
|
||||
|
||||
|
@ -88,7 +88,7 @@ Contents of the .eh_frame section:
|
|||
Version: 1
|
||||
Augmentation: "zR"
|
||||
Code alignment factor: 1
|
||||
Data alignment factor: -8
|
||||
Data alignment factor: -4
|
||||
Return address column: 16
|
||||
Augmentation data: 1b
|
||||
|
||||
|
|
Loading…
Reference in a new issue