mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-28 16:01:00 +08:00
dwarf2out.c (output_loc_list): Don't use deltas if we have a separate line info table in use.
* dwarf2out.c (output_loc_list): Don't use deltas if we have a separate line info table in use. Use the correct size for terminators. (output_die): Use offset, not delta. From-SVN: r77409
This commit is contained in:
parent
b1e5a971c5
commit
1711adc261
@ -1,3 +1,10 @@
|
||||
2004-02-06 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* dwarf2out.c (output_loc_list): Don't use deltas if we have
|
||||
a separate line info table in use.
|
||||
Use the correct size for terminators.
|
||||
(output_die): Use offset, not delta.
|
||||
|
||||
2004-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* doc/invoke.texi: Remove the pni option from -mfpmath=.
|
||||
|
@ -6551,16 +6551,28 @@ output_loc_list (dw_loc_list_ref list_head)
|
||||
"Location list base address specifier base");
|
||||
}
|
||||
|
||||
/* Walk the location list, and output each range + expression. */
|
||||
for (curr = list_head; curr != NULL; curr = curr->dw_loc_next)
|
||||
{
|
||||
unsigned long size;
|
||||
|
||||
dw2_asm_output_delta (DWARF2_ADDR_SIZE, curr->begin, curr->section,
|
||||
"Location list begin address (%s)",
|
||||
list_head->ll_symbol);
|
||||
dw2_asm_output_delta (DWARF2_ADDR_SIZE, curr->end, curr->section,
|
||||
"Location list end address (%s)",
|
||||
list_head->ll_symbol);
|
||||
if (separate_line_info_table_in_use == 0)
|
||||
{
|
||||
dw2_asm_output_delta (DWARF2_ADDR_SIZE, curr->begin, curr->section,
|
||||
"Location list begin address (%s)",
|
||||
list_head->ll_symbol);
|
||||
dw2_asm_output_delta (DWARF2_ADDR_SIZE, curr->end, curr->section,
|
||||
"Location list end address (%s)",
|
||||
list_head->ll_symbol);
|
||||
}
|
||||
else
|
||||
{
|
||||
dw2_asm_output_addr (DWARF2_ADDR_SIZE, curr->begin,
|
||||
"Location list begin address (%s)",
|
||||
list_head->ll_symbol);
|
||||
dw2_asm_output_addr (DWARF2_ADDR_SIZE, curr->end,
|
||||
"Location list end address (%s)",
|
||||
list_head->ll_symbol);
|
||||
}
|
||||
size = size_of_locs (curr->expr);
|
||||
|
||||
/* Output the block length for this list of location operations. */
|
||||
@ -6571,10 +6583,10 @@ output_loc_list (dw_loc_list_ref list_head)
|
||||
output_loc_sequence (curr->expr);
|
||||
}
|
||||
|
||||
dw2_asm_output_data (DWARF_OFFSET_SIZE, 0,
|
||||
dw2_asm_output_data (DWARF2_ADDR_SIZE, 0,
|
||||
"Location list terminator begin (%s)",
|
||||
list_head->ll_symbol);
|
||||
dw2_asm_output_data (DWARF_OFFSET_SIZE, 0,
|
||||
dw2_asm_output_data (DWARF2_ADDR_SIZE, 0,
|
||||
"Location list terminator end (%s)",
|
||||
list_head->ll_symbol);
|
||||
}
|
||||
@ -6694,8 +6706,7 @@ output_die (dw_die_ref die)
|
||||
|
||||
if (sym == 0)
|
||||
abort ();
|
||||
dw2_asm_output_delta (DWARF_OFFSET_SIZE, sym,
|
||||
loc_section_label, "%s", name);
|
||||
dw2_asm_output_offset (DWARF_OFFSET_SIZE, sym, "%s", name);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user