From a0194fa8f23c64bef0f4b4bb4a76e9c64f003169 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 26 Mar 2020 09:28:08 -0600 Subject: [PATCH] Convert dwarf2_section_buffer_overflow_complaint to a method This changes dwarf2_section_buffer_overflow_complaint to be a method on dwarf2_section_info. gdb/ChangeLog 2020-03-26 Tom Tromey * dwarf2/section.h (struct dwarf2_section_info) : Declare. (dwarf2_section_buffer_overflow_complaint): Don't declare. * dwarf2/section.c (dwarf2_section_info::overflow_complaint): Rename from dwarf2_section_buffer_overflow_complaint. * dwarf2/read.c (skip_one_die, partial_die_info::read) (skip_form_bytes, dwarf_decode_macro_bytes): Update. --- gdb/ChangeLog | 10 ++++++++++ gdb/dwarf2/read.c | 10 +++++----- gdb/dwarf2/section.c | 5 ++--- gdb/dwarf2/section.h | 7 ++++--- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index aa462adb6f8..236f552024a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2020-03-26 Tom Tromey + + * dwarf2/section.h (struct dwarf2_section_info) + : Declare. + (dwarf2_section_buffer_overflow_complaint): Don't declare. + * dwarf2/section.c (dwarf2_section_info::overflow_complaint): + Rename from dwarf2_section_buffer_overflow_complaint. + * dwarf2/read.c (skip_one_die, partial_die_info::read) + (skip_form_bytes, dwarf_decode_macro_bytes): Update. + 2020-03-26 Tom Tromey * dwarf2/section.h (dwarf2_section_buffer_overflow_complaint): diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index f42058fb774..f284d623081 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -8595,7 +8595,7 @@ skip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr, if (sibling_ptr < info_ptr) complaint (_("DW_AT_sibling points backwards")); else if (sibling_ptr > reader->buffer_end) - dwarf2_section_buffer_overflow_complaint (reader->die_section); + reader->die_section->overflow_complaint (); else return sibling_ptr; } @@ -18079,7 +18079,7 @@ partial_die_info::read (const struct die_reader_specs *reader, if (sibling_ptr < info_ptr) complaint (_("DW_AT_sibling points backwards")); else if (sibling_ptr > reader->buffer_end) - dwarf2_section_buffer_overflow_complaint (reader->die_section); + reader->die_section->overflow_complaint (); else sibling = sibling_ptr; } @@ -23329,7 +23329,7 @@ skip_form_bytes (bfd *abfd, const gdb_byte *bytes, const gdb_byte *buffer_end, bytes = gdb_skip_leb128 (bytes, buffer_end); if (bytes == NULL) { - dwarf2_section_buffer_overflow_complaint (section); + section->overflow_complaint (); return NULL; } break; @@ -23492,7 +23492,7 @@ dwarf_decode_macro_bytes (struct dwarf2_per_objfile *dwarf2_per_objfile, /* Do we at least have room for a macinfo type byte? */ if (mac_ptr >= mac_end) { - dwarf2_section_buffer_overflow_complaint (section); + section->overflow_complaint (); break; } @@ -23645,7 +23645,7 @@ dwarf_decode_macro_bytes (struct dwarf2_per_objfile *dwarf2_per_objfile, /* Do we at least have room for a macinfo type byte? */ if (mac_ptr >= mac_end) { - dwarf2_section_buffer_overflow_complaint (section); + section->overflow_complaint (); return; } diff --git a/gdb/dwarf2/section.c b/gdb/dwarf2/section.c index 31cb8b9b2e7..9714368a5d2 100644 --- a/gdb/dwarf2/section.c +++ b/gdb/dwarf2/section.c @@ -31,12 +31,11 @@ #include "complaints.h" void -dwarf2_section_buffer_overflow_complaint (struct dwarf2_section_info *section) +dwarf2_section_info::overflow_complaint () const { complaint (_("debug info runs off end of %s section" " [in module %s]"), - section->get_name (), - section->get_file_name ()); + get_name (), get_file_name ()); } struct dwarf2_section_info * diff --git a/gdb/dwarf2/section.h b/gdb/dwarf2/section.h index f4ac9af311e..555efecacd6 100644 --- a/gdb/dwarf2/section.h +++ b/gdb/dwarf2/section.h @@ -94,6 +94,10 @@ struct dwarf2_section_info return size; } + /* Issue a complaint that something was outside the bounds of this + buffer. */ + void overflow_complaint () const; + union { /* If this is a real section, the bfd section. */ @@ -116,7 +120,4 @@ struct dwarf2_section_info bool is_virtual; }; -extern void dwarf2_section_buffer_overflow_complaint - (struct dwarf2_section_info *section); - #endif /* GDB_DWARF2_SECTION_H */ -- 2.30.2