From: Ian Lance Taylor Date: Mon, 28 Oct 1996 22:01:06 +0000 (+0000) Subject: * ieee.c (ieee_finish_compilation_unit): Permit coalescing ranges X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9720a1a70fe9273d1c71a96722e6ae70e6a9b2a2;p=binutils-gdb.git * 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. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 980afeda15f..57d3b368f72 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,20 @@ +Mon Oct 28 16:58:14 1996 Ian Lance Taylor + + * 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 + * 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. diff --git a/binutils/ieee.c b/binutils/ieee.c index ef8edc7174f..f1276b3abfa 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; }