aboutsummaryrefslogtreecommitdiff
path: root/gdb/printcmd.c
AgeCommit message (Collapse)AuthorFilesLines
2002-10-12printcmd.c (address_info): Print 'self' for ObjC.Adam Fedor1-1/+5
2002-09-19Revert previous change. Not obvious.Andrew Cagney1-5/+1
2002-09-192002-09-18 Michael Snyder <msnyder@redhat.com>Michael Snyder1-1/+5
Preliminary support for Objective-C: * defs.h (language_objc): New enum value. (puts_filtered_tabular): Declaration only, exported from utils.c. (skip_quoted): Delete, declared in completer.h. * c-exp.y: Include completer.h. * p-exp.y: Ditto. * jv-exp.y: Ditto. * expression.h (OP_MSGCALL, OP_SELECTOR, OP_SELF, OP_NSSTRING): New operator enum values. * language.h (CAST_IS_CONVERSION): Test for language_objc. * language.c (binop_result_type): Handle language_objc case. (integral_type, character_type, string_type, boolean_type, structured_type, binop_type_check): Ditto. * symtab.h (SYMBOL_OBJC_DEMANGLED_NAME): Define. (struct objc_specific): Add to general_symbol_info. (SYMBOL_INIT_LANGUAGE_SPECIFIC): Add objc initialization. (SYMBOL_DEMANGLED_NAME): Handle objc case. * parser-defs.h (struct objc_class_str): New struct type. (start_msglist, end_msglist, add_msglist): Declaration only, exported from objc-lang.c. * value.h (value_of_local, value_nsstring, call_function_by_hand_expecting_type): Exported from valops.c. * valops.c (find_function_addr): Export. (call_function_by_hand_expecting_type): New function. (value_of_local): New function. * symfile.c (init_filename_language_table): Add ".m" extension for Objective-C. * utils.c (puts_filtered_tabular): New function. (fprintf_symbol_filtered): Add objc demangling support (disabled). (set/show demangle): Extend help-string to refer to ObjC. * elfread.c (elf_symtab_read): Skip Objective-C special symbols. * stabsread.c (symbol_reference_defined): Objective-C symbols may contain colons: make allowances when scanning stabs strings for colons. (objc_find_colon): New function. * printcmd.c (address_info): If language == objc then print "self" instead of "this". * parse.c (length_of_subexp): Handle new operators OP_MSGCALL, OP_NSSTRING, and OP_SELF. (prefixify_subexp): Ditto. * source.c (print_source_lines): Mention objc in comment. * breakpoint.c (parse_breakpoint_sals): Recognize Objective-C method names.
2002-09-10Reviewed and approved by Kevin Buettner <kevinb@redhat.com>Fred Fish1-3/+3
2002-09-09 Fred Fish <fnf@intrinsity.com> * printcmd.c (print_scalar_formatted): "len" is the number of target bytes, NOT the number of target bits.
2002-07-112002-07-11 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-0/+5
Based on patch from Daniel Berlin <dberlin@dberlin.org>. * buildsym.c: Include "demangle.h" for SYMBOL_INIT_DEMANGLED_NAME. (finish_block) For non-function blocks, hash the symbol table. For function blocks, mark the symbol table as unhashed. * minsyms.c (msymbol_hash): Return hash value without taking modulus. (msymbol_hash_iw): Likewise. (add_minsym_to_hash_table): Take modulus of msymbol_hash's return value. (add_minsym_to_demangled_hash_table): Likewise for msymbol_hash_iw. (lookup_minimal_symbol): Likewise for both. * symtab.h (struct block): Add `hashtable' flag. Comment the hashtable. (BLOCK_HASHTABLE, BLOCK_BUCKETS, BLOCK_BUCKET): New macro. (ALL_BLOCK_SYMBOLS): Update. (BLOCK_SHOULD_SORT): Do not sort hashed blocks. (struct symbol): Add `hash_next' pointer. * symtab.c (lookup_block_symbol): Search using the hash table when possible. (find_pc_sect_symtab): Use ALL_BLOCK_SYMBOLS. (search_symbols, find_addr_symbol): Likewise. * dstread.c (process_dst_block): Clear hashtable bit for new block. (read_dst_symtab): Likewise. * jv-lang.c (get_java_class_symtab): Likewise. * mdebugread.c: Include "gdb_assert.h". (shrink_block): Assert that the block being modified is not hashed. * coffread.c (patch_opaque_types): Use ALL_BLOCK_SYMBOLS. * symmisc.c (free_symtab_block): Walk the hash table when freeing symbols. (dump_symtab): Recognize hashed blocks. * printcmd.c (print_frame_args): Assert that function blocks do not have hashed symbol tables. * ada-lang.c (symtab_for_sym): Use ALL_BLOCK_SYMBOLS. (fill_in_ada_prototype, debug_print_block): Likewise. (ada_add_block_symbols): Use ALL_BLOCK_SYMBOLS. Handle hash tables.
2002-05-112002-05-11 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-19/+0
* TODO: Remove value_headof/value_from_vtable_info comment. * printcmd.c (print_command_1): Don't call value_from_vtable_info. * values.c (value_headof, value_from_vtable_info): Delete. * value.h (value_from_vtable_info): Delete prototype.
2002-04-05gdb/ChangeLog:Jim Blandy1-3/+3
* stack.c (get_selected_block): Add new argument `addr_in_block', used to return the exact code address we used to select the block, not just the block. * blockframe.c (get_frame_block, get_current_block): Same. * frame.h (get_frame_block, get_current_block, get_selected_block): Update declarations. * linespec.c, stack.c, blockframe.c, breakpoint.c, findvar.c, linespec.c, varobj.c, printcmd.c, symtab.c: Callers changed. gdb/mi/ChangeLog: * mi-cmd-stack.c (list_args_or_locals): Pass new arg to get_frame_block. (See entry in gdb/ChangeLog.)
2002-03-06* cli/cli-decode.c (set_cmd_completer): New function.Andrew Cagney1-4/+4
* command.h (set_cmd_completer): Declare. * cli/cli-decode.h (set_cmd_completer): Ditto. * breakpoint.c (_initialize_breakpoint): Use set_cmd_completer. * cli/cli-cmds.c (init_cli_cmds): Ditto. * win32-nat.c (_initialize_inftarg): Ditto. * remote-rdi.c (_initialize_remote_rdi): Ditto. * proc-api.c (_initialize_proc_api): Ditto. * hppa-tdep.c (_initialize_hppa_tdep): Ditto. * source.c (_initialize_source): Ditto. * exec.c (_initialize_exec): Ditto. * solib.c (_initialize_solib): Ditto. * top.c (init_main): Ditto. * tracepoint.c (_initialize_tracepoint): Ditto. * symfile.c (_initialize_symfile): Ditto. * printcmd.c (_initialize_printcmd): Ditto. * infcmd.c (_initialize_infcmd): Ditto. * corefile.c (_initialize_core): Ditto.
2002-02-012002-01-31 Michael Snyder <msnyder@redhat.com>Michael Snyder1-14/+0
* printcmd.c (disassemble_command): Remove an ancient artifact of an old merge.
2002-01-17Remove else clause to #if UI_OUT.Andrew Cagney1-31/+3
2002-01-05s/BIG_ENDIAN/BFD_ENDIAN_BIG/Andrew Cagney1-1/+1
2001-12-25* cli/cli-script.c (execute_control_command): Replace value_ptrAndrew Cagney1-4/+5
with a struct value pointer. * ch-lang.c (evaluate_subexp_chill): Ditto. * printcmd.c (printf_command): Ditto. * tracepoint.c (set_traceframe_context): Ditto. (encode_actions): Ditto. * eval.c (evaluate_subexp_standard): Ditto.
2001-12-07* printcmd.c (print_scalar_formatted): Compare the length of theJim Blandy1-2/+4
value against the lengths of the target's floating-point types, not the host's. Add support for `long double'.
2001-11-10s/value_ptr/struct value */Andrew Cagney1-10/+10
2001-10-16* value.h (value_as_address): Rename value_as_pointer.Andrew Cagney1-3/+3
* eval.c, findvar.c, gnu-v2-abi.c, gnu-v3-abi.c, jv-lang.c, jv-valprint.c, printcmd.c, stack.c, top.c, valarith.c, valops.c, values.c: Update.
2001-10-122001-10-12 Daniel Jacobowitz <drow@mvista.com>Daniel Jacobowitz1-5/+1
* symtab.h (struct block): (ALL_BLOCK_SYMBOLS): New macro. * symtab.c (find_pc_sect_symtab): Use ALL_BLOCK_SYMBOLS. (make_symbol_completion_list): Likewise. (make_symbol_overload_list): Likewise. * buildsym.c (finish_block): Likewise. * breakpoint.c (get_catch_sals): Likewise. * mdebugread.c (mylookup_symbol): Likewise. * objfiles.c (objfile_relocate): Likewise. * printcmd.c (print_frame_args): Likewise. * stack.c (print_block_frame_locals): Likewise. (print_block_frame_labels): Likewise. (print_frame_arg_vars): Likewise. * symmisc.c (dump_symtab): Likewise. * tracepoint.c (add_local_symbols): Likewise. (scope_info): Likewise. 2001-10-12 Daniel Jacobowitz <drow@mvista.com> * mi-cmd-stack.c (list_args_or_locals): Use ALL_BLOCK_SYMBOLS. 2001-10-12 Daniel Jacobowitz <drow@mvista.com> * generic/gdbtk-cmds.c (gdb_listfuncs): Use ALL_BLOCK_SYMBOLS. * generic/gdbtk-stack.c (gdb_block_vars): Likewise. (gdb_get_blocks): Likewise. (gdb_get_vars_command): Likewise. 5~
2001-10-12 * printcmd.c (print_frame_args): Move symbol iteration explicitlyDaniel Jacobowitz1-138/+138
inside the func != NULL block.
2001-09-12* printcmd.c (print_scalar_formatted): Fix indentation.Jim Blandy1-2/+2
2001-08-21 * printcmd.c (print_insn): Use the given stream forKeith Seitz1-0/+2
output.
2001-08-02 The following changes avoid polluting global namespace with theEli Zaretskii1-8/+8
`enable' and `disable' identifiers, because some platforms define in their system headers symbols with global scope that go by those names. * breakpoint.h (enum enable_state): Rename from `enum enable'. Also rename all the enum members to have the "bp_" prefix. (struct breakpoint): Rename the `enable' member to `enable_state'. (enum bpdisp): Rename all members to have the "disp_" prefix. * breakpoint.c: All users of `enum enable' and `enum bpdisp' changed. (args_for_catchpoint_enable): Rename the `enable' member to `enable_p'. All users changed. * tracepoint.h (enum enable): Remove. (struct tracepoint): The member `enabled' is now `int enabled_p'. * tracepoint.c: All users of the `enabled' member changed. * printcmd.c (struct display): The `status' member is now an int. * memattr.h (struct mem_region): Rename the `status' member to `enabled_p'. (enum enable): Remove. * memattr.c: Change all users of the `status' member of struct mem_region to use `enabled_p' instead. * infcmd.c (run_stack_dummy): Use disp_del instead of del. * go32-nat.c: Remove the kludgey work-around for conflicts between <dos.h> and "breakpoint.h". * tui/tuiSourceWin.c: Use disp_del instead of del. * tui/tuiSource.c: Use disp_del instead of del. * tui/tuiDisassem.c: Use disp_del instead of del.
2001-07-21 * utils.c (init_page_info): Use tui_get_command_dimension.Stephane Carrez1-12/+5
* printcmd.c (disassemble_command): Simplify tui specific code, use tui_is_window_visible, tui_show_assembly.
2001-07-10Clean up the D10V port so that GDB and the target program noJim Blandy1-3/+0
longer disagree on how big pointers are. * findvar.c (value_from_register): Remove special case code for D10V. * printcmd.c (print_frame_args): Same. * valops.c (value_at, value_fetch_lazy): Same. * values.c (unpack_long): Same. * gdbarch.sh: Changes to effect the following: * gdbarch.h (GDB_TARGET_IS_D10V, D10V_MAKE_DADDR, gdbarch_d10v_make_daddr_ftype, gdbarch_d10v_make_daddr, set_gdbarch_d10v_make_daddr, D10V_MAKE_IADDR, gdbarch_d10v_make_iaddr_ftype, gdbarch_d10v_make_iaddr, set_gdbarch_d10v_make_iaddr, D10V_DADDR_P, gdbarch_d10v_daddr_p_ftype, gdbarch_d10v_daddr_p, set_gdbarch_d10v_daddr_p, D10V_IADDR_P, gdbarch_d10v_iaddr_p_ftype, gdbarch_d10v_iaddr_p, set_gdbarch_d10v_iaddr_p, D10V_CONVERT_DADDR_TO_RAW, gdbarch_d10v_convert_daddr_to_raw_ftype, gdbarch_d10v_convert_daddr_to_raw, set_gdbarch_d10v_convert_daddr_to_raw, D10V_CONVERT_IADDR_TO_RAW, gdbarch_d10v_convert_iaddr_to_raw_ftype, gdbarch_d10v_convert_iaddr_to_raw, set_gdbarch_d10v_convert_iaddr_to_raw): Delete declarations. * gdbarch.c: Delete the corresponding definitions. (struct gdbarch): Delete members d10v_make_daddr, d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, d10v_convert_daddr_to_raw, and d10v_convert_iaddr_to_raw. (startup_gdbarch): Remove initializers for the above. (verify_gdbarch, gdbarch_dump): Don't verify or dump them any more. * d10v-tdep.c (d10v_register_virtual_type): Rather that claiming the stack pointer and PC are 32 bits long (which they aren't), say that the stack pointer is an int16_t, and the program counter is a function pointer. This allows the rest of GDB to make the appropriate conversions between the code pointer format and real addresses. (d10v_register_convertible, d10v_register_convert_to_virtual, d10v_register_convert_to_raw): Delete function; no registers are convertible now, so we use generic_register_convertible_not instead. (d10v_address_to_pointer, d10v_pointer_to_address): New gdbarch methods. (d10v_push_arguments, d10v_extract_return_value): Remove special cases for code and data pointers. (d10v_gdbarch_init): Set gdbarch_ptr_bit to 16, so that GDB and the target agree on how large pointers are. Say that addresses are 32 bits long. Register the address_to_pointer and pointer_to_address conversion functions. Since no registers are convertible now, register generic_register_convertible_not as the gdbarch_register_convertible method instead of d10v_register_convertible. Remove registrations for d10v_register_convert_to_virtual, d10v_register_convert_to_raw, gdbarch_d10v_make_daddr, gdbarch_d10v_make_iaddr, gdbarch_d10v_daddr_p, gdbarch_d10v_iaddr_p, gdbarch_d10v_convert_daddr_to_raw, and gdbarch_d10v_convert_iaddr_to_raw.
2001-07-10* printcmd.c (print_scalar_formatted): If we are printing anJim Blandy1-0/+6
address, remember that TARGET_ADDR_BIT is not always equal to TARGET_PTR_BIT.
2001-06-11 * completer.c (gdb_completer_loc_break_characters): New variable.Eli Zaretskii1-6/+13
(line_completion_function): If we are completing on locations, back up the start of word pointer past all characters which can appear in a location spec. (location_completer): New function. * completer.h: Add prototype for location_completer. * symtab.c (make_source_files_completion_list) (add_filename_to_list, not_interesting_fname): New functions. (filename_seen): New function, body extracted from output_source_filename. (output_source_filename): Call filename_seen to check if the file was already printed. (make_symbol_completion_list): If TEXT includes a double-quoted string, return an empty list, not NULL. (make_file_symbol_completion_list): New function, similar to make_symbol_completion_list but with an additional argument SRCFILE. * symtab.h (make_file_symbol_completion_list) (make_source_files_completion_list): Add prototypes. * breakpoint.c (_initialize_breakpoint): Make location_completer be the completion function for all commands which set breakpoints and watchpoints. (top-level): #include "completer.h". * tracepoint.c (_initialize_tracepoint): Make location_completer be the completion function for the "trace" command. (top-level): #include "completer.h". * printcmd.c (_initialize_printcmd): Make location_completer be the completion function for the "print", "inspect", "call", and "disassemble" commands. (top-level): #include "completer.h". * infcmd.c (_initialize_infcmd): Make location_completer be the completion function for the "go", "jump", and "until" commands. (top-level): #include "completer.h".
2001-05-12s/ui_out_list/ui_out_tupple/Andrew Cagney1-3/+2
2001-04-08Use cleanup machinery to invoke ui_out_list_end().Kevin Buettner1-2/+4
2001-03-14Eliminate some uses of __STDC__.Andrew Cagney1-4/+0
2001-03-06Update/correct copyright notices.Kevin Buettner1-2/+2
2001-03-012001-02-28 Michael Snyder <msnyder@mvstp600e.cygnus.com>Michael Snyder1-5/+7
* printcmd.c (print_address_numeric): Update comments to refer to sizeof addr, not sizeof pointer. (x_command): Remove needless whitespace (shorten long line).
2001-02-25Replace calls to abort() with calls to internal_error().Kevin Buettner1-2/+2
2000-12-15Replace free() with xfree().Kevin Buettner1-4/+4
2000-08-25Fri Aug 25 12:11:21 2000 David Taylor <taylor@texas.cygnus.com>David Taylor1-3/+3
* symtab.c (search_symbols): Fix off by one error in index for initializing variables ourtype, ourtype2, ourtype3, and ourtype4. (symtab_symbol_info): fix similar off by one error. Fri Aug 25 12:03:15 2000 David Taylor <taylor@texas.cygnus.com> * gdbarch.sh (TARGET_ADDR_BIT): New macro for the number of bits in gdb's representation of a target address. * gdbarch.c, gdbarch.h: Regenerated. * gdbtypes.c (build_gdbtypes): Use TARGET_ADDR_BIT instead of TARGET_PTR_BIT when initializing builtin_type_CORE_ADDR. * printcmd.c (print_address_numeric): Use TARGET_ADDR_BIT instead of TARGET_PTR_BIT, because we're printing an address, not a pointer.
2000-07-30Protoization.Kevin Buettner1-119/+44
2000-07-24 * printcmd.c (printf_command): Guard against 0-length string.Michael Snyder1-1/+2
----------------------------------------------------------------------
2000-07-11* printcmd.c (print_scalar_formatted): Move masking of 'a' addressAndrew Cagney1-10/+14
from here. (print_address_numeric): To here. * TODO: Update.
2000-05-28PARAMS removal.Kevin Buettner1-23/+24
2000-05-20* target.h (target_memory_bfd_section): Removed declaration.J.T. Conklin1-3/+2
* target.c (target_memory_bfd_section): Removed. * exec.c (xfer_memory): Removed #if'ed-out code which referenced target_memory_bfd_section. * target.h (target_read_memory_section): Removed declaration. * target.c (target_read_memory_section): Removed. (target_xfer_memory): Update, removed bfd_section argument. (target_read_string, target_read_memory, target_write_memory): Update for above change. * gdbcore.h (read_memory_section): Removed declaration. * corefile.c (read_memory_section): Removed. * jv-lang.c (get_java_utf8_name): Changed calls to read_memory_section to read_memory. * printcmd.c (printf_command): Likewise. * valops.c (value_at, value_fetch_lazy): Likewise.
2000-05-15Use make_cleanup_ui_out_stream_delete().Andrew Cagney1-1/+1
2000-04-26 * ax-gdb.c (agent_command): Remove now useless cast ofPhilippe De Muyter1-12/+9
`free_current_contents' when passed to `make_cleanup'. * coffread.c (coff_symfile_read): Ditto. * dwarf2read.c (dwarf2_add_member_fn, read_array_type): Ditto. (dwarf_decode_lines): Ditto. * eval.c (parse_and_eval_address, parse_and_eval_address_1): Ditto. (parse_and_eval, parse_to_comma_and_eval): Ditto. * parse.c (parse_exp_1): Ditto. * printcmd.c (print_command_1, output_command, set_command): Ditto. (x_command, print_frame_args, printf_command): Ditto. * top.c (execute_control_command): Ditto. * tracepoint.c (validate_actionline): Ditto. * typeprint.c (whatis_exp, ptype_command): Ditto. (maintenance_print_type): Ditto.
2000-04-21* defs.h, utils.c (free_current_contents): Change parameter toAndrew Cagney1-4/+7
void*. From Philippe De Muyter <phdm@macqel.be>: * printcmd.c (print_address_symbolic): Call `make_cleanup' with `(free_current_contents, &x)', not `(free, x)'. * utils.c (free_current_contents): Do not `free (NULL)'. * printcmd.c (print_address_symbolic): Cleanup after a failed call to build_address_symbolic.
2000-04-14* gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Two newJim Blandy1-5/+6
functions which architectures can redefine, defaulting to generic_pointer_to_address and generic_address_to_pointer. * findvar.c (extract_typed_address, store_typed_address, generic_pointer_to_address, generic_address_to_pointer): New functions. (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Provide default definitions. (extract_address, store_address): Doc fixes. * values.c (value_as_pointer): Doc fix. (value_from_pointer): New function. * defs.h (extract_typed_address, store_typed_address): New declarations. * inferior.h (generic_address_to_pointer, generic_pointer_to_address): New declarations. * value.h (value_from_pointer): New declaration. * ax-gdb.c (const_var_ref): Use value_from_pointer, not value_from_longest. * blockframe.c (generic_push_dummy_frame): Use read_pc and read_sp, not read_register. * c-valprint.c (c_val_print): Use extract_typed_address instead of extract_address to extract vtable entries and references. * cp-valprint.c (cp_print_value_fields): Use value_from_pointer instead of value_from_longest to extract the vtable's address. * eval.c (evaluate_subexp_standard): Use value_from_pointer instead of value_from_longest to compute `this', and for doing pointer-to-member dereferencing. * findvar.c (read_register): Use extract_unsigned_integer, not extract_address. (read_var_value): Use store_typed_address instead of store_address for building label values. (locate_var_value): Use value_from_pointer instead of value_from_longest. * hppa-tdep.c (find_stub_with_shl_get): Use value_from_pointer, instead of value_from_longest, to build arguments to __d_shl_get. * printcmd.c (set_next_address): Use value_from_pointer, not value_from_longest. (x_command): Use value_from_pointer, not value_from_longest. * tracepoint.c (set_traceframe_context): Use value_from_pointer, not value_from_longest. * valarith.c (value_add, value_sub): Use value_from_pointer, not value_from_longest. * valops.c (find_function_in_inferior, value_coerce_array, value_coerce_function, value_addr, hand_function_call): Same. * value.h (COERCE_REF): Use unpack_pointer, not unpack_long. * values.c (unpack_long): Use extract_typed_address to produce addresses from pointers and references, not extract_address. (value_from_longest): Use store_typed_address instead of store_address to produce pointer and reference values.
2000-04-04Stop GCC thinking a shift will overflow.Andrew Cagney1-3/+6
2000-03-22 * printcmd.c (print_scalar_formatted): Truncate addresses to thePeter Schauer1-1/+8
size of a target pointer before passing them to print_address.
2000-02-05import gdb-2000-02-04 snapshotJason Molenda1-28/+83
2000-02-03import gdb-2000-02-02 snapshotJason Molenda1-0/+41
2000-02-02import gdb-2000-02-01 snapshotJason Molenda1-16/+15
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-11/+15
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-316/+328
1999-06-21import gdb-1999-06-21 snapshotJason Molenda1-2/+2
1999-04-26import gdb-19990422 snapshotStan Shebs1-4/+2