diff options
author | Nick Clifton <nickc@redhat.com> | 2003-11-14 15:12:44 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-11-14 15:12:44 +0000 |
commit | b14fa5f05391b19c5431d4b0e97d5e1e946422c9 (patch) | |
tree | 2293281dab60f9fbbb8ba3badc4023b8b085158d /include | |
parent | 2cfb4d92b014a1636f05934d6b9d9a1dbc9747fa (diff) | |
download | gdb-b14fa5f05391b19c5431d4b0e97d5e1e946422c9.tar.gz |
Add new field to disassemble_info structure: symbol_is_valid() and use it to
skip displaying arm elf mapping symbols in disassembly output.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 11 | ||||
-rw-r--r-- | include/dis-asm.h | 20 |
2 files changed, 28 insertions, 3 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 9fa8373e4e5..9052a6e203f 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,14 @@ +2003-11-14 Nick Clifton <nickc@redhat.com> + + * dis-asm.h (struct disassemble_info): Add new field + 'symbol_is_valid' which is a function which can tell the + disassembler to skip certain symbols as they should not be + displayed to the user. + (arm_symbol_is_valid): New prototype. This is the ARM + specific function for the symbol_is_valid field. + (generic_symbol_is_valid): New prototype. This is the default + function pointed to by the symbol_is_valid field. + 2003-11-06 Bruno Rohee <bruno@rohee.com> * hp-symtab.h: Fix "the the" typo. diff --git a/include/dis-asm.h b/include/dis-asm.h index 6bdd7517de5..3670c518986 100644 --- a/include/dis-asm.h +++ b/include/dis-asm.h @@ -130,6 +130,12 @@ typedef struct disassemble_info { int (* symbol_at_address_func) (bfd_vma addr, struct disassemble_info * info); + /* Function called to check if a SYMBOL is can be displayed to the user. + This is used by some ports that want to hide special symbols when + displaying debugging outout. */ + bfd_boolean (* symbol_is_valid) + (asymbol *, struct disassemble_info * info); + /* These are for buffer_read_memory. */ bfd_byte *buffer; bfd_vma buffer_vma; @@ -141,7 +147,7 @@ typedef struct disassemble_info { the same value in order to get reasonable looking output. */ int bytes_per_line; - /* the next two variables control the way objdump displays the raw data */ + /* The next two variables control the way objdump displays the raw data. */ /* For example, if bytes_per_line is 8 and bytes_per_chunk is 4, the */ /* output will look like this: 00: 00000000 00000000 @@ -251,12 +257,16 @@ extern void print_arm_disassembler_options (FILE *); extern void parse_arm_disassembler_option (char *); extern int get_arm_regname_num_options (void); extern int set_arm_regname_option (int); -extern int get_arm_regnames - (int, const char **, const char **, const char ***); +extern int get_arm_regnames (int, const char **, const char **, const char ***); +extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *); /* Fetch the disassembler for a given BFD, if that support is available. */ extern disassembler_ftype disassembler (bfd *); +/* Amend the disassemble_info structure as necessary for the target architecture. + Should only be called after initialising the info->arch field. */ +extern void disassemble_init_for_target (struct disassemble_info * info); + /* Document any target specific options available from the disassembler. */ extern void disassembler_usage (FILE *); @@ -284,6 +294,10 @@ extern void generic_print_address extern int generic_symbol_at_address (bfd_vma, struct disassemble_info *); +/* Also always true. */ +extern bfd_boolean generic_symbol_is_valid + (asymbol *, struct disassemble_info *); + /* Method to initialize a disassemble_info struct. This should be called by all applications creating such a struct. */ extern void init_disassemble_info (struct disassemble_info *info, void *stream, |