* ieee.c (ieee_finish_compilation_unit): Permit coalescing ranges

that are up to 0x1000 bytes apart, not just 64.
	(ieee_add_bb11_blocks): Don't bother to emit a BB11 that is less
	than 0x100 bytes.
	(ieee_lineno): Only emit line numbers that are less than
	info->highaddr.
This commit is contained in:
Ian Lance Taylor
1996-10-28 22:01:06 +00:00
parent ab0dfc02f8
commit 9720a1a70f
2 changed files with 24 additions and 5 deletions

View File

@@ -1,5 +1,20 @@
Mon Oct 28 16:58:14 1996 Ian Lance Taylor <ian@cygnus.com>
* ieee.c (ieee_finish_compilation_unit): Permit coalescing ranges
that are up to 0x1000 bytes apart, not just 64.
(ieee_add_bb11_blocks): Don't bother to emit a BB11 that is less
than 0x100 bytes.
(ieee_lineno): Only emit line numbers that are less than
info->highaddr.
Fri Oct 25 12:12:17 1996 Ian Lance Taylor <ian@cygnus.com>
* ieee.c (struct ieee_defined_enum): Add defined field.
(ieee_enum_type): If the enum tag has been seen before but not
defined, reuse the same type index, and define it.
(ieee_tag_type): If this enum has not been defined, add an
undefined entry to the list of enums.
* objdump.c (disassemble_bytes): Let the disassembler override the
number of bytes printed on a line.

View File

@@ -5085,7 +5085,7 @@ ieee_finish_compilation_unit (info)
/* Coalesce ranges if it seems reasonable. */
while (r->next != NULL
&& high + 64 >= r->next->low
&& high + 0x1000 >= r->next->low
&& (r->next->high
<= (bfd_get_section_vma (info->abfd, s)
+ bfd_section_size (info->abfd, s))))
@@ -5154,7 +5154,8 @@ ieee_add_bb11_blocks (abfd, sec, data)
return;
}
if (low < r->low)
if (low < r->low
&& r->low - low > 0x100)
{
if (! ieee_add_bb11 (info, sec, low, r->low))
{
@@ -7586,9 +7587,12 @@ ieee_lineno (p, filename, lineno, addr)
return false;
}
info->pending_lineno_filename = filename;
info->pending_lineno = lineno;
info->pending_lineno_addr = addr;
if (addr < info->highaddr)
{
info->pending_lineno_filename = filename;
info->pending_lineno = lineno;
info->pending_lineno_addr = addr;
}
return true;
}