From e2ff18a0a54f98c38f8d9b80c36faa7aacacf6d6 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 2 Apr 2020 15:43:41 -0400 Subject: [PATCH] gdb: replace some calls to internal_error with gdb_assert There are a few spots using the pattern: if (condition) internal_error (__FILE__, __LINE__, _("failed internal consistency check")); The message brings no value, since it's pretty the description of a failed assertion. Replace a few of these that are obvious with gdb_assert. gdb/ChangeLog: * exec.c (build_section_table): Replace internal_error with gdb_assert. (section_table_xfer_memory_partial): Likewise. * mdebugread.c (parse_partial_symbols): Likewise. * psymtab.c (lookup_partial_symbol): Likewise. * utils.c (wrap_here): Likewise. --- gdb/ChangeLog | 9 +++++++++ gdb/exec.c | 10 ++++------ gdb/mdebugread.c | 5 ++--- gdb/psymtab.c | 11 +++++------ gdb/utils.c | 4 +--- 5 files changed, 21 insertions(+), 18 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3b58f2ee54..b3ec9c78b0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-04-02 Simon Marchi + + * exec.c (build_section_table): Replace internal_error with + gdb_assert. + (section_table_xfer_memory_partial): Likewise. + * mdebugread.c (parse_partial_symbols): Likewise. + * psymtab.c (lookup_partial_symbol): Likewise. + * utils.c (wrap_here): Likewise. + 2020-04-02 Tom Tromey * f-lang.c (build_fortran_types): Use arch_type to initialize diff --git a/gdb/exec.c b/gdb/exec.c index 68bca1be17..c885709c94 100644 --- a/gdb/exec.c +++ b/gdb/exec.c @@ -619,9 +619,9 @@ build_section_table (struct bfd *some_bfd, struct target_section **start, *start = XNEWVEC (struct target_section, count); *end = *start; bfd_map_over_sections (some_bfd, add_to_section_table, (char *) end); - if (*end > *start + count) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + + gdb_assert (*end <= *start + count); + /* We could realloc the table, but it probably loses for most files. */ return 0; } @@ -916,9 +916,7 @@ section_table_xfer_memory_partial (gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST memaddr = offset; ULONGEST memend = memaddr + len; - if (len == 0) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + gdb_assert (len != 0); for (p = sections; p < sections_end; p++) { diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index bac6fd6c46..5dfd80de19 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -3576,9 +3576,8 @@ parse_partial_symbols (minimal_symbol_reader &reader, CORE_ADDR svalue; short section; - if (ext_ptr->ifd != f_idx) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + gdb_assert (ext_ptr->ifd == f_idx); + psh = &ext_ptr->asym; /* Do not add undefined symbols to the partial symbol table. */ diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 26c55e9bd3..129eecb067 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -683,9 +683,9 @@ lookup_partial_symbol (struct objfile *objfile, while (top > bottom) { center = bottom + (top - bottom) / 2; - if (!(center < top)) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + + gdb_assert (center < top); + if (strcmp_iw_ordered ((*center)->ginfo.search_name (), lookup_name.c_str ()) >= 0) { @@ -696,9 +696,8 @@ lookup_partial_symbol (struct objfile *objfile, bottom = center + 1; } } - if (!(top == bottom)) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + + gdb_assert (top == bottom); /* For `case_sensitivity == case_sensitive_off' strcmp_iw_ordered will search more exactly than what matches SYMBOL_MATCHES_SEARCH_NAME. */ diff --git a/gdb/utils.c b/gdb/utils.c index 0b470120a2..bda6bbf5b0 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -1578,9 +1578,7 @@ void wrap_here (const char *indent) { /* This should have been allocated, but be paranoid anyway. */ - if (!filter_initialized) - internal_error (__FILE__, __LINE__, - _("failed internal consistency check")); + gdb_assert (filter_initialized); flush_wrap_buffer (gdb_stdout); if (chars_per_line == UINT_MAX) /* No line overflow checking. */ -- 2.34.1