Move read_offset_1 to leb.c
authorTom Tromey <tom@tromey.com>
Sat, 8 Feb 2020 20:40:54 +0000 (13:40 -0700)
committerTom Tromey <tom@tromey.com>
Sat, 8 Feb 2020 20:43:24 +0000 (13:43 -0700)
This moves read_offset_1 to leb.c, as it is a low-level data-reading
function.  It is also renamed to remove the "_1", because gdb can use
overloading now, and this is clearer.

2020-02-08  Tom Tromey  <tom@tromey.com>

* dwarf2/read.c (read_offset_1): Move to leb.c.
(read_abbrev_offset, read_offset, dwarf_decode_line_header)
(dwarf_decode_macro_bytes): Update.
* dwarf2/leb.c (read_offset): Rename; move from read.c.
* dwarf2/leb.h (read_offset): Declare.

Change-Id: I048140598acfa76eade2cc529ab7933d4b9ca0b3

gdb/ChangeLog
gdb/dwarf2/leb.c
gdb/dwarf2/leb.h
gdb/dwarf2/read.c

index 10c8bf5baf082e8c16cfea6791d790d529bc22c5..519225fb918cee0feb8aabf3d54c5b30e4eb0ffc 100644 (file)
@@ -1,3 +1,11 @@
+2020-02-08  Tom Tromey  <tom@tromey.com>
+
+       * dwarf2/read.c (read_offset_1): Move to leb.c.
+       (read_abbrev_offset, read_offset, dwarf_decode_line_header)
+       (dwarf_decode_macro_bytes): Update.
+       * dwarf2/leb.c (read_offset): Rename; move from read.c.
+       * dwarf2/leb.h (read_offset): Declare.
+
 2020-02-08  Tom Tromey  <tom@tromey.com>
 
        * dwarf2/read.c (dwarf2_section_size): Remove.
index ef7314ed2b37952417c3dcc843f3f260abc2b4ad..02faaa9954ddd136438bb6e985ea7fa857d9969d 100644 (file)
@@ -110,3 +110,27 @@ read_initial_length (bfd *abfd, const gdb_byte *buf, unsigned int *bytes_read,
 
   return length;
 }
+
+/* See leb.h.  */
+
+LONGEST
+read_offset (bfd *abfd, const gdb_byte *buf, unsigned int offset_size)
+{
+  LONGEST retval = 0;
+
+  switch (offset_size)
+    {
+    case 4:
+      retval = bfd_get_32 (abfd, buf);
+      break;
+    case 8:
+      retval = bfd_get_64 (abfd, buf);
+      break;
+    default:
+      internal_error (__FILE__, __LINE__,
+                     _("read_offset_1: bad switch [in module %s]"),
+                     bfd_get_filename (abfd));
+    }
+
+  return retval;
+}
index 29fdffebfecd7be9d7daabe0ad0030efdc8f8304..9c30cbea73490fb4580b01b8d523e5cc04c2d8cb 100644 (file)
@@ -130,4 +130,8 @@ extern LONGEST read_initial_length (bfd *abfd, const gdb_byte *buf,
                                    unsigned int *bytes_read,
                                    bool handle_nonstd = true);
 
+/* Read an offset from the data stream.  */
+extern LONGEST read_offset (bfd *abfd, const gdb_byte *buf,
+                           unsigned int offset_size);
+
 #endif /* GDB_DWARF2_LEB_H */
index 2ba53a14ef8dc33f9e35e7dc4e7258147dfc6923..f291d8f237991a56f6b4e755418cc4c1cb3deebb 100644 (file)
@@ -1285,8 +1285,6 @@ static LONGEST read_offset (bfd *, const gdb_byte *,
                            const struct comp_unit_head *,
                            unsigned int *);
 
-static LONGEST read_offset_1 (bfd *, const gdb_byte *, unsigned int);
-
 static sect_offset read_abbrev_offset
   (struct dwarf2_per_objfile *dwarf2_per_objfile,
    struct dwarf2_section_info *, sect_offset);
@@ -6145,7 +6143,7 @@ read_abbrev_offset (struct dwarf2_per_objfile *dwarf2_per_objfile,
       info_ptr += 2;
     }
 
-  return (sect_offset) read_offset_1 (abfd, info_ptr, offset_size);
+  return (sect_offset) read_offset (abfd, info_ptr, offset_size);
 }
 
 /* Allocate a new partial symtab for file named NAME and mark this new
@@ -19033,36 +19031,12 @@ read_offset (bfd *abfd, const gdb_byte *buf,
             const struct comp_unit_head *cu_header,
              unsigned int *bytes_read)
 {
-  LONGEST offset = read_offset_1 (abfd, buf, cu_header->offset_size);
+  LONGEST offset = read_offset (abfd, buf, cu_header->offset_size);
 
   *bytes_read = cu_header->offset_size;
   return offset;
 }
 
-/* Read an offset from the data stream.  */
-
-static LONGEST
-read_offset_1 (bfd *abfd, const gdb_byte *buf, unsigned int offset_size)
-{
-  LONGEST retval = 0;
-
-  switch (offset_size)
-    {
-    case 4:
-      retval = bfd_get_32 (abfd, buf);
-      break;
-    case 8:
-      retval = bfd_get_64 (abfd, buf);
-      break;
-    default:
-      internal_error (__FILE__, __LINE__,
-                     _("read_offset_1: bad switch [in module %s]"),
-                     bfd_get_filename (abfd));
-    }
-
-  return retval;
-}
-
 static const gdb_byte *
 read_n_bytes (bfd *abfd, const gdb_byte *buf, unsigned int size)
 {
@@ -19847,7 +19821,7 @@ dwarf_decode_line_header (sect_offset sect_off, struct dwarf2_cu *cu)
          return NULL;
        }
     }
-  lh->header_length = read_offset_1 (abfd, line_ptr, offset_size);
+  lh->header_length = read_offset (abfd, line_ptr, offset_size);
   line_ptr += offset_size;
   lh->statement_program_start = line_ptr + lh->header_length;
   lh->minimum_instruction_length = read_1_byte (abfd, line_ptr);
@@ -23922,7 +23896,7 @@ dwarf_decode_macro_bytes (struct dwarf2_cu *cu,
              {
                LONGEST str_offset;
 
-               str_offset = read_offset_1 (abfd, mac_ptr, offset_size);
+               str_offset = read_offset (abfd, mac_ptr, offset_size);
                mac_ptr += offset_size;
 
                if (macinfo_type == DW_MACRO_define_sup
@@ -24062,7 +24036,7 @@ dwarf_decode_macro_bytes (struct dwarf2_cu *cu,
            int is_dwz = section_is_dwz;
            const gdb_byte *new_mac_ptr;
 
-           offset = read_offset_1 (abfd, mac_ptr, offset_size);
+           offset = read_offset (abfd, mac_ptr, offset_size);
            mac_ptr += offset_size;
 
            if (macinfo_type == DW_MACRO_import_sup)