mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
Convert symtab.h function signatures to use bool instead of int
gdb/ChangeLog: 2019-09-26 Christian Biesinger <cbiesinger@google.com> * blockframe.c (find_pc_partial_function): Change return type to bool. * elfread.c (elf_gnu_ifunc_resolve_name): Likewise. * minsyms.c (in_gnu_ifunc_stub): Likewise. (stub_gnu_ifunc_resolve_name): Likewise. * symtab.c (compare_filenames_for_search): Likewise. (compare_glob_filenames_for_search): Likewise. (matching_obj_sections): Likewise. (symbol_matches_domain): Likewise. (find_line_symtab): Change out param EXACT_MATCH to bool *. (find_line_pc): Change return type to bool. (find_line_pc_range): Likewise. (producer_is_realview): Likewise. * symtab.h (symbol_matches_domain): Likewise. (find_pc_partial_function): Likewise. (find_pc_line_pc_range): Likewise. (in_gnu_ifunc_stub): Likewise. (struct gnu_ifunc_fns) <gnu_ifunc_resolve_name>: Likewise. (find_line_pc): Likewise. (find_line_pc_range): Likewise. (matching_obj_sections): Likewise. (find_line_symtab): Change out parameter to bool. (producer_is_realview): Change return type to bool. (compare_filenames_for_search): Likewise. (compare_glob_filenames_for_search): Likewise.
This commit is contained in:
parent
27a900b865
commit
ececd218c5
@ -1,3 +1,30 @@
|
||||
2019-09-26 Christian Biesinger <cbiesinger@google.com>
|
||||
|
||||
* blockframe.c (find_pc_partial_function): Change return type to bool.
|
||||
* elfread.c (elf_gnu_ifunc_resolve_name): Likewise.
|
||||
* minsyms.c (in_gnu_ifunc_stub): Likewise.
|
||||
(stub_gnu_ifunc_resolve_name): Likewise.
|
||||
* symtab.c (compare_filenames_for_search): Likewise.
|
||||
(compare_glob_filenames_for_search): Likewise.
|
||||
(matching_obj_sections): Likewise.
|
||||
(symbol_matches_domain): Likewise.
|
||||
(find_line_symtab): Change out param EXACT_MATCH to bool *.
|
||||
(find_line_pc): Change return type to bool.
|
||||
(find_line_pc_range): Likewise.
|
||||
(producer_is_realview): Likewise.
|
||||
* symtab.h (symbol_matches_domain): Likewise.
|
||||
(find_pc_partial_function): Likewise.
|
||||
(find_pc_line_pc_range): Likewise.
|
||||
(in_gnu_ifunc_stub): Likewise.
|
||||
(struct gnu_ifunc_fns) <gnu_ifunc_resolve_name>: Likewise.
|
||||
(find_line_pc): Likewise.
|
||||
(find_line_pc_range): Likewise.
|
||||
(matching_obj_sections): Likewise.
|
||||
(find_line_symtab): Change out parameter to bool.
|
||||
(producer_is_realview): Change return type to bool.
|
||||
(compare_filenames_for_search): Likewise.
|
||||
(compare_glob_filenames_for_search): Likewise.
|
||||
|
||||
2019-09-26 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* Makefile.in (COMMON_SFILES): Remove gdb_usleep.c.
|
||||
|
@ -209,7 +209,7 @@ clear_pc_function_cache (void)
|
||||
|
||||
/* See symtab.h. */
|
||||
|
||||
int
|
||||
bool
|
||||
find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
|
||||
CORE_ADDR *endaddr, const struct block **block)
|
||||
{
|
||||
@ -333,7 +333,7 @@ find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
|
||||
*endaddr = 0;
|
||||
if (block != nullptr)
|
||||
*block = nullptr;
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
cache_pc_function_low = BMSYMBOL_VALUE_ADDRESS (msymbol);
|
||||
@ -374,7 +374,7 @@ find_pc_partial_function (CORE_ADDR pc, const char **name, CORE_ADDR *address,
|
||||
if (block != nullptr)
|
||||
*block = cache_pc_function_block;
|
||||
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* See symtab.h. */
|
||||
|
@ -850,21 +850,21 @@ elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p)
|
||||
|
||||
/* Try to find the target resolved function entry address of a STT_GNU_IFUNC
|
||||
function NAME. If the address is found it is stored to *ADDR_P (if ADDR_P
|
||||
is not NULL) and the function returns 1. It returns 0 otherwise.
|
||||
is not NULL) and the function returns true. It returns false otherwise.
|
||||
|
||||
Both the elf_objfile_gnu_ifunc_cache_data hash table and
|
||||
SYMBOL_GOT_PLT_SUFFIX locations are searched by this function. */
|
||||
|
||||
static int
|
||||
static bool
|
||||
elf_gnu_ifunc_resolve_name (const char *name, CORE_ADDR *addr_p)
|
||||
{
|
||||
if (elf_gnu_ifunc_resolve_by_cache (name, addr_p))
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
if (elf_gnu_ifunc_resolve_by_got (name, addr_p))
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Call STT_GNU_IFUNC - a function returning addresss of a real function to
|
||||
|
@ -895,7 +895,7 @@ lookup_minimal_symbol_by_pc (CORE_ADDR pc)
|
||||
|
||||
/* Return non-zero iff PC is in an STT_GNU_IFUNC function resolver. */
|
||||
|
||||
int
|
||||
bool
|
||||
in_gnu_ifunc_stub (CORE_ADDR pc)
|
||||
{
|
||||
bound_minimal_symbol msymbol
|
||||
@ -916,7 +916,7 @@ stub_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
|
||||
|
||||
/* See elf_gnu_ifunc_resolve_name for its real implementation. */
|
||||
|
||||
static int
|
||||
static bool
|
||||
stub_gnu_ifunc_resolve_name (const char *function_name,
|
||||
CORE_ADDR *function_address_p)
|
||||
{
|
||||
|
74
gdb/symtab.c
74
gdb/symtab.c
@ -355,18 +355,18 @@ minimal_symbol::text_p () const
|
||||
describes what we advertise). Returns true if they match, false
|
||||
otherwise. */
|
||||
|
||||
int
|
||||
bool
|
||||
compare_filenames_for_search (const char *filename, const char *search_name)
|
||||
{
|
||||
int len = strlen (filename);
|
||||
size_t search_len = strlen (search_name);
|
||||
|
||||
if (len < search_len)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* The tail of FILENAME must match. */
|
||||
if (FILENAME_CMP (filename + len - search_len, search_name) != 0)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Either the names must completely match, or the character
|
||||
preceding the trailing SEARCH_NAME segment of FILENAME must be a
|
||||
@ -393,7 +393,7 @@ compare_filenames_for_search (const char *filename, const char *search_name)
|
||||
compare_filenames_for_search, but it's the opposite of the order of
|
||||
arguments to gdb_filename_fnmatch. */
|
||||
|
||||
int
|
||||
bool
|
||||
compare_glob_filenames_for_search (const char *filename,
|
||||
const char *search_name)
|
||||
{
|
||||
@ -403,7 +403,7 @@ compare_glob_filenames_for_search (const char *filename,
|
||||
int search_path_elements = count_path_elements (search_name);
|
||||
|
||||
if (search_path_elements > file_path_elements)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
if (IS_ABSOLUTE_PATH (search_name))
|
||||
{
|
||||
@ -1002,11 +1002,11 @@ symbol_matches_search_name (const struct general_symbol_info *gsymbol,
|
||||
|
||||
|
||||
|
||||
/* Return 1 if the two sections are the same, or if they could
|
||||
/* Return true if the two sections are the same, or if they could
|
||||
plausibly be copies of each other, one in an original object
|
||||
file and another in a separated debug file. */
|
||||
|
||||
int
|
||||
bool
|
||||
matching_obj_sections (struct obj_section *obj_first,
|
||||
struct obj_section *obj_second)
|
||||
{
|
||||
@ -1015,36 +1015,36 @@ matching_obj_sections (struct obj_section *obj_first,
|
||||
|
||||
/* If they're the same section, then they match. */
|
||||
if (first == second)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* If either is NULL, give up. */
|
||||
if (first == NULL || second == NULL)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* This doesn't apply to absolute symbols. */
|
||||
if (first->owner == NULL || second->owner == NULL)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* If they're in the same object file, they must be different sections. */
|
||||
if (first->owner == second->owner)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Check whether the two sections are potentially corresponding. They must
|
||||
have the same size, address, and name. We can't compare section indexes,
|
||||
which would be more reliable, because some sections may have been
|
||||
stripped. */
|
||||
if (bfd_section_size (first) != bfd_section_size (second))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* In-memory addresses may start at a different offset, relativize them. */
|
||||
if (bfd_section_vma (first) - bfd_get_start_address (first->owner)
|
||||
!= bfd_section_vma (second) - bfd_get_start_address (second->owner))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
if (bfd_section_name (first) == NULL
|
||||
|| bfd_section_name (second) == NULL
|
||||
|| strcmp (bfd_section_name (first), bfd_section_name (second)) != 0)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Otherwise check that they are in corresponding objfiles. */
|
||||
|
||||
@ -1059,12 +1059,12 @@ matching_obj_sections (struct obj_section *obj_first,
|
||||
|
||||
if (obj->separate_debug_objfile != NULL
|
||||
&& obj->separate_debug_objfile->obfd == second->owner)
|
||||
return 1;
|
||||
return true;
|
||||
if (obj->separate_debug_objfile_backlink != NULL
|
||||
&& obj->separate_debug_objfile_backlink->obfd == second->owner)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* See symtab.h. */
|
||||
@ -2674,7 +2674,7 @@ lookup_global_symbol (const char *name,
|
||||
return lookup_global_or_static_symbol (name, GLOBAL_BLOCK, objfile, domain);
|
||||
}
|
||||
|
||||
int
|
||||
bool
|
||||
symbol_matches_domain (enum language symbol_language,
|
||||
domain_enum symbol_domain,
|
||||
domain_enum domain)
|
||||
@ -2688,7 +2688,7 @@ symbol_matches_domain (enum language symbol_language,
|
||||
{
|
||||
if ((domain == VAR_DOMAIN || domain == STRUCT_DOMAIN)
|
||||
&& symbol_domain == STRUCT_DOMAIN)
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
/* For all other languages, strict match is required. */
|
||||
return (symbol_domain == domain);
|
||||
@ -3297,14 +3297,14 @@ find_pc_line_symtab (CORE_ADDR pc)
|
||||
|
||||
If found, return the symtab that contains the linetable in which it was
|
||||
found, set *INDEX to the index in the linetable of the best entry
|
||||
found, and set *EXACT_MATCH nonzero if the value returned is an
|
||||
found, and set *EXACT_MATCH to true if the value returned is an
|
||||
exact match.
|
||||
|
||||
If not found, return NULL. */
|
||||
|
||||
struct symtab *
|
||||
find_line_symtab (struct symtab *sym_tab, int line,
|
||||
int *index, int *exact_match)
|
||||
int *index, bool *exact_match)
|
||||
{
|
||||
int exact = 0; /* Initialized here to avoid a compiler warning. */
|
||||
|
||||
@ -3389,7 +3389,7 @@ find_line_symtab (struct symtab *sym_tab, int line,
|
||||
if (index)
|
||||
*index = best_index;
|
||||
if (exact_match)
|
||||
*exact_match = exact;
|
||||
*exact_match = (exact != 0);
|
||||
|
||||
return best_symtab;
|
||||
}
|
||||
@ -3435,10 +3435,10 @@ find_pcs_for_symtab_line (struct symtab *symtab, int line,
|
||||
|
||||
|
||||
/* Set the PC value for a given source file and line number and return true.
|
||||
Returns zero for invalid line number (and sets the PC to 0).
|
||||
Returns false for invalid line number (and sets the PC to 0).
|
||||
The source file is specified with a struct symtab. */
|
||||
|
||||
int
|
||||
bool
|
||||
find_line_pc (struct symtab *symtab, int line, CORE_ADDR *pc)
|
||||
{
|
||||
struct linetable *l;
|
||||
@ -3446,26 +3446,26 @@ find_line_pc (struct symtab *symtab, int line, CORE_ADDR *pc)
|
||||
|
||||
*pc = 0;
|
||||
if (symtab == 0)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
symtab = find_line_symtab (symtab, line, &ind, NULL);
|
||||
if (symtab != NULL)
|
||||
{
|
||||
l = SYMTAB_LINETABLE (symtab);
|
||||
*pc = l->item[ind].pc;
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Find the range of pc values in a line.
|
||||
Store the starting pc of the line into *STARTPTR
|
||||
and the ending pc (start of next line) into *ENDPTR.
|
||||
Returns 1 to indicate success.
|
||||
Returns 0 if could not find the specified line. */
|
||||
Returns true to indicate success.
|
||||
Returns false if could not find the specified line. */
|
||||
|
||||
int
|
||||
bool
|
||||
find_line_pc_range (struct symtab_and_line sal, CORE_ADDR *startptr,
|
||||
CORE_ADDR *endptr)
|
||||
{
|
||||
@ -3474,7 +3474,7 @@ find_line_pc_range (struct symtab_and_line sal, CORE_ADDR *startptr,
|
||||
|
||||
startaddr = sal.pc;
|
||||
if (startaddr == 0 && !find_line_pc (sal.symtab, sal.line, &startaddr))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* This whole function is based on address. For example, if line 10 has
|
||||
two parts, one from 0x100 to 0x200 and one from 0x300 to 0x400, then
|
||||
@ -3495,7 +3495,7 @@ find_line_pc_range (struct symtab_and_line sal, CORE_ADDR *startptr,
|
||||
*startptr = found_sal.pc;
|
||||
*endptr = found_sal.end;
|
||||
}
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Given a line table and a line number, return the index into the line
|
||||
@ -3549,7 +3549,7 @@ find_line_common (struct linetable *l, int lineno,
|
||||
return best_index;
|
||||
}
|
||||
|
||||
int
|
||||
bool
|
||||
find_pc_line_pc_range (CORE_ADDR pc, CORE_ADDR *startptr, CORE_ADDR *endptr)
|
||||
{
|
||||
struct symtab_and_line sal;
|
||||
@ -6062,7 +6062,7 @@ symtab_observer_executable_changed (void)
|
||||
/* Return 1 if the supplied producer string matches the ARM RealView
|
||||
compiler (armcc). */
|
||||
|
||||
int
|
||||
bool
|
||||
producer_is_realview (const char *producer)
|
||||
{
|
||||
static const char *const arm_idents[] = {
|
||||
@ -6076,13 +6076,13 @@ producer_is_realview (const char *producer)
|
||||
int i;
|
||||
|
||||
if (producer == NULL)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (arm_idents); i++)
|
||||
if (startswith (producer, arm_idents[i]))
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
42
gdb/symtab.h
42
gdb/symtab.h
@ -1518,9 +1518,9 @@ extern const char multiple_symbols_cancel[];
|
||||
|
||||
const char *multiple_symbols_select_mode (void);
|
||||
|
||||
int symbol_matches_domain (enum language symbol_language,
|
||||
domain_enum symbol_domain,
|
||||
domain_enum domain);
|
||||
bool symbol_matches_domain (enum language symbol_language,
|
||||
domain_enum symbol_domain,
|
||||
domain_enum domain);
|
||||
|
||||
/* lookup a symbol table by source file name. */
|
||||
|
||||
@ -1689,8 +1689,8 @@ extern struct symbol *find_symbol_at_address (CORE_ADDR);
|
||||
nullptr is used as a return value for *BLOCK if no block is found.
|
||||
This function either succeeds or fails (not halfway succeeds). If
|
||||
it succeeds, it sets *NAME, *ADDRESS, and *ENDADDR to real
|
||||
information and returns 1. If it fails, it sets *NAME, *ADDRESS
|
||||
and *ENDADDR to zero and returns 0.
|
||||
information and returns true. If it fails, it sets *NAME, *ADDRESS
|
||||
and *ENDADDR to zero and returns false.
|
||||
|
||||
If the function in question occupies non-contiguous ranges,
|
||||
*ADDRESS and *ENDADDR are (subject to the conditions noted above) set
|
||||
@ -1716,9 +1716,9 @@ extern struct symbol *find_symbol_at_address (CORE_ADDR);
|
||||
containing the entry pc should instead call
|
||||
find_function_entry_range_from_pc. */
|
||||
|
||||
extern int find_pc_partial_function (CORE_ADDR pc, const char **name,
|
||||
CORE_ADDR *address, CORE_ADDR *endaddr,
|
||||
const struct block **block = nullptr);
|
||||
extern bool find_pc_partial_function (CORE_ADDR pc, const char **name,
|
||||
CORE_ADDR *address, CORE_ADDR *endaddr,
|
||||
const struct block **block = nullptr);
|
||||
|
||||
/* Like find_pc_partial_function, above, but *ADDRESS and *ENDADDR are
|
||||
set to start and end addresses of the range containing the entry pc.
|
||||
@ -1764,7 +1764,7 @@ extern struct compunit_symtab *find_pc_compunit_symtab (CORE_ADDR);
|
||||
extern struct compunit_symtab *
|
||||
find_pc_sect_compunit_symtab (CORE_ADDR, struct obj_section *);
|
||||
|
||||
extern int find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *);
|
||||
extern bool find_pc_line_pc_range (CORE_ADDR, CORE_ADDR *, CORE_ADDR *);
|
||||
|
||||
extern void reread_symbols (void);
|
||||
|
||||
@ -1786,7 +1786,7 @@ extern struct type *basic_lookup_transparent_type (const char *);
|
||||
#define GCC2_COMPILED_FLAG_SYMBOL "gcc2_compiled."
|
||||
#endif
|
||||
|
||||
extern int in_gnu_ifunc_stub (CORE_ADDR pc);
|
||||
extern bool in_gnu_ifunc_stub (CORE_ADDR pc);
|
||||
|
||||
/* Functions for resolving STT_GNU_IFUNC symbols which are implemented only
|
||||
for ELF symbol files. */
|
||||
@ -1797,7 +1797,7 @@ struct gnu_ifunc_fns
|
||||
CORE_ADDR (*gnu_ifunc_resolve_addr) (struct gdbarch *gdbarch, CORE_ADDR pc);
|
||||
|
||||
/* See elf_gnu_ifunc_resolve_name for its real implementation. */
|
||||
int (*gnu_ifunc_resolve_name) (const char *function_name,
|
||||
bool (*gnu_ifunc_resolve_name) (const char *function_name,
|
||||
CORE_ADDR *function_address_p);
|
||||
|
||||
/* See elf_gnu_ifunc_resolver_stop for its real implementation. */
|
||||
@ -1861,10 +1861,10 @@ extern struct symtab *find_pc_line_symtab (CORE_ADDR);
|
||||
|
||||
/* Given a symtab and line number, return the pc there. */
|
||||
|
||||
extern int find_line_pc (struct symtab *, int, CORE_ADDR *);
|
||||
extern bool find_line_pc (struct symtab *, int, CORE_ADDR *);
|
||||
|
||||
extern int find_line_pc_range (struct symtab_and_line, CORE_ADDR *,
|
||||
CORE_ADDR *);
|
||||
extern bool find_line_pc_range (struct symtab_and_line, CORE_ADDR *,
|
||||
CORE_ADDR *);
|
||||
|
||||
extern void resolve_sal_pc (struct symtab_and_line *);
|
||||
|
||||
@ -1936,9 +1936,9 @@ completion_skip_symbol (complete_symbol_mode mode, Symbol *sym)
|
||||
|
||||
/* symtab.c */
|
||||
|
||||
int matching_obj_sections (struct obj_section *, struct obj_section *);
|
||||
bool matching_obj_sections (struct obj_section *, struct obj_section *);
|
||||
|
||||
extern struct symtab *find_line_symtab (struct symtab *, int, int *, int *);
|
||||
extern struct symtab *find_line_symtab (struct symtab *, int, int *, bool *);
|
||||
|
||||
/* Given a function symbol SYM, find the symtab and line for the start
|
||||
of the function. If FUNFIRSTLINE is true, we want the first line
|
||||
@ -2051,7 +2051,7 @@ extern struct block_symbol
|
||||
|
||||
/* Return 1 if the supplied producer string matches the ARM RealView
|
||||
compiler (armcc). */
|
||||
int producer_is_realview (const char *producer);
|
||||
bool producer_is_realview (const char *producer);
|
||||
|
||||
void fixup_section (struct general_symbol_info *ginfo,
|
||||
CORE_ADDR addr, struct objfile *objfile);
|
||||
@ -2066,11 +2066,11 @@ extern unsigned int symbol_lookup_debug;
|
||||
|
||||
extern bool basenames_may_differ;
|
||||
|
||||
int compare_filenames_for_search (const char *filename,
|
||||
const char *search_name);
|
||||
bool compare_filenames_for_search (const char *filename,
|
||||
const char *search_name);
|
||||
|
||||
int compare_glob_filenames_for_search (const char *filename,
|
||||
const char *search_name);
|
||||
bool compare_glob_filenames_for_search (const char *filename,
|
||||
const char *search_name);
|
||||
|
||||
bool iterate_over_some_symtabs (const char *name,
|
||||
const char *real_path,
|
||||
|
Loading…
Reference in New Issue
Block a user