* ieee.c (ieee_slurp_debug): Get the length of the debug
authorIan Lance Taylor <ian@airs.com>
Tue, 9 Nov 1999 19:11:52 +0000 (19:11 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 9 Nov 1999 19:11:52 +0000 (19:11 +0000)
information right if there is no data part.

bfd/ieee.c

index aebc0643e22785e6b461259c4951fb7ada388744..989d7243cbaf3a2edc83786a4cfac2f41968f3d4 100644 (file)
@@ -1280,6 +1280,7 @@ ieee_slurp_debug (abfd)
 {
   ieee_data_type *ieee = IEEE_DATA (abfd);
   asection *sec;
+  file_ptr debug_end;
 
   if (ieee->w.r.debug_information_part == 0)
     return true;
@@ -1289,7 +1290,13 @@ ieee_slurp_debug (abfd)
     return false;
   sec->flags |= SEC_DEBUGGING | SEC_HAS_CONTENTS;
   sec->filepos = ieee->w.r.debug_information_part;
-  sec->_raw_size = ieee->w.r.data_part - ieee->w.r.debug_information_part;
+
+  debug_end = ieee->w.r.data_part;
+  if (debug_end == 0)
+    debug_end = ieee->w.r.trailer_part;
+  if (debug_end == 0)
+    debug_end = ieee->w.r.me_record;
+  sec->_raw_size = debug_end - ieee->w.r.debug_information_part;
 
   return true;
 }