aboutsummaryrefslogtreecommitdiff
path: root/binutils/ieee.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-10-28 22:01:06 +0000
committerIan Lance Taylor <ian@airs.com>1996-10-28 22:01:06 +0000
commit9720a1a70fe9273d1c71a96722e6ae70e6a9b2a2 (patch)
treea99fecd1a017996dc7f27800caa093fabf8427a8 /binutils/ieee.c
parentab0dfc02f85eedf860439d37fa8aa2773d5c18f2 (diff)
downloadgdb-9720a1a70fe9273d1c71a96722e6ae70e6a9b2a2.zip
gdb-9720a1a70fe9273d1c71a96722e6ae70e6a9b2a2.tar.gz
gdb-9720a1a70fe9273d1c71a96722e6ae70e6a9b2a2.tar.bz2
* 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.
Diffstat (limited to 'binutils/ieee.c')
-rw-r--r--binutils/ieee.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/binutils/ieee.c b/binutils/ieee.c
index ef8edc7..f1276b3 100644
--- a/binutils/ieee.c
+++ b/binutils/ieee.c
@@ -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;
}