Browse Source

2010-03-15 Thomas Schwinge <thomas@codesourcery.com>

* dw2gencfi.c (output_cie): Make it more explicit which code paths
	belong to .eh_frame only.
gdb_7_2-branch
Thomas Schwinge 17 years ago
parent
commit
4e4e1355e7
  1. 5
      gas/ChangeLog
  2. 36
      gas/dw2gencfi.c

5
gas/ChangeLog

@ -1,3 +1,8 @@
2010-03-15 Thomas Schwinge <thomas@codesourcery.com>
* dw2gencfi.c (output_cie): Make it more explicit which code paths
belong to .eh_frame only.
2010-03-13 Segher Boessenkool <segher@kernel.crashing.org>
* config/tc-v850.c (v850_insert_operand): Handle out-of-range

36
gas/dw2gencfi.c

@ -1,5 +1,5 @@
/* dw2gencfi.c - Support for generating Dwarf2 CFI information.
Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Michal Ludvig <mludvig@suse.cz>
@ -1319,29 +1319,31 @@ output_cie (struct cie_entry *cie, bfd_boolean eh_frame, int align)
if (cie->per_encoding != DW_EH_PE_omit)
augmentation_size += 1 + encoding_size (cie->per_encoding);
out_uleb128 (augmentation_size); /* Augmentation size. */
}
if (cie->per_encoding != DW_EH_PE_omit)
{
offsetT size = encoding_size (cie->per_encoding);
out_one (cie->per_encoding);
exp = cie->personality;
if ((cie->per_encoding & 0x70) == DW_EH_PE_pcrel)
if (cie->per_encoding != DW_EH_PE_omit)
{
offsetT size = encoding_size (cie->per_encoding);
out_one (cie->per_encoding);
exp = cie->personality;
if ((cie->per_encoding & 0x70) == DW_EH_PE_pcrel)
{
#if CFI_DIFF_EXPR_OK
exp.X_op = O_subtract;
exp.X_op_symbol = symbol_temp_new_now ();
emit_expr (&exp, size);
exp.X_op = O_subtract;
exp.X_op_symbol = symbol_temp_new_now ();
emit_expr (&exp, size);
#elif defined (tc_cfi_emit_pcrel_expr)
tc_cfi_emit_pcrel_expr (&exp, size);
tc_cfi_emit_pcrel_expr (&exp, size);
#else
abort ();
abort ();
#endif
}
else
emit_expr (&exp, size);
}
else
emit_expr (&exp, size);
if (cie->lsda_encoding != DW_EH_PE_omit)
out_one (cie->lsda_encoding);
}
if (cie->lsda_encoding != DW_EH_PE_omit)
out_one (cie->lsda_encoding);
switch (DWARF2_FDE_RELOC_SIZE)
{

Loading…
Cancel
Save