The .debug_line header length field doesn't include the length field
itself, ie. it's the size of the rest of .debug_line.
	PR 22169
	* dwarf2.c (decode_line_info): Correct .debug_line unit_length check.
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22169
+       * dwarf2.c (decode_line_info): Correct .debug_line unit_length check.
+
 2017-09-24  Alan Modra  <amodra@gmail.com>
 
        PR 22167
 
       offset_size = 8;
     }
 
-  if (unit->line_offset + lh.total_length > stash->dwarf_line_size)
+  if (lh.total_length > (size_t) (line_end - line_ptr))
     {
       _bfd_error_handler
        /* xgettext: c-format */
-       (_("Dwarf Error: Line info data is bigger (%#Lx) than the space remaining in the section (%#Lx)"),
-        lh.total_length, stash->dwarf_line_size - unit->line_offset);
+       (_("Dwarf Error: Line info data is bigger (%#Lx)"
+          " than the space remaining in the section (%#lx)"),
+        lh.total_length, (unsigned long) (line_end - line_ptr));
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }