aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/dwarf.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 7c0d0fe..f833c14 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * dwarf.c (frame_need_space): Compare dwarf_regnames_count against
+ 0, and only warn about large numbers of registers if the number is
+ more than the dwarf_regnames_count.
+
2019-11-25 Christian Eggers <ceggers@gmx.de>
* objdump.c (disassemble_data): Provide section parameter to
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 2fe469f..62f2817 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -7378,7 +7378,7 @@ frame_need_space (Frame_Chunk *fc, unsigned int reg)
if (reg < (unsigned int) fc->ncols)
return 0;
- if (dwarf_regnames_count
+ if (dwarf_regnames_count > 0
&& reg > dwarf_regnames_count)
return -1;
@@ -7389,7 +7389,7 @@ frame_need_space (Frame_Chunk *fc, unsigned int reg)
return -1;
/* PR 17512: file: 2844a11d. */
- if (fc->ncols > 1024)
+ if (fc->ncols > 1024 && dwarf_regnames_count == 0)
{
error (_("Unfeasibly large register number: %u\n"), reg);
fc->ncols = 0;