aboutsummaryrefslogtreecommitdiff
path: root/gdb/valops.c
AgeCommit message (Collapse)AuthorFilesLines
2001-03-19* valops.c (hand_function_call): Simplify computation of theAndrew Cagney1-12/+5
address of the pushed argument.
2001-03-06Update/correct copyright notices.Kevin Buettner1-2/+2
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-2/+3
2001-02-062001-02-06 Michael Snyder <msnyder@makita.cygnus.com>Michael Snyder1-3/+3
Submitted by Paul Hilfinger (hilfingr@gnat.com) and Andrei Petrov (and@genesyslab.com). * findvar.c: Buffers of size MAX_REGISTER_RAW_SIZE or REGISTER_BYTES must be allocated dynamically, since these are no longer constants. * infcmd.c: Ditto. * regcache.c: Ditto. * remote.c: Ditto. * sol-thread.c: Ditto. * valops.c: Ditto. * config/sparc/sun4sol2.mh (MH_CFLAGS): Add -I/usr/include/v9, as a work-around for a missing Sun header file in solaris for sparc64.
2001-02-06 * valops.c (value_cast): If casting a scalar to a pointer, do notDavid Taylor1-4/+15
issue a message about truncation unless it exceeds the length of an address, not the length of a pointer. This is because what the user gives us is an address, not a pointer, and we will ultimately convert it (via ADDRESS_TO_POINTER) to a pointer, not truncate it to a pointer. This allows things like "print *(int *)0x01000234" to work without generating a misleading message on a target having two byte pointers and four byte addresses.
2001-01-04 * valops.c (VALUE_SUBSTRING_START): Delete.Nicholas Duffek1-2/+0
2000-12-15Replace free() with xfree().Kevin Buettner1-2/+2
2000-11-08Protoization.Kevin Buettner1-4/+1
2000-10-26 * arch-utils.c, arch-utils.h (default_convert_from_func_ptr_addr):Peter Schauer1-5/+0
New function. * gdbarch.sh (CONVERT_FROM_FUNC_PTR_ADDR): Add. * gdbarch.c, gdbarch.h: Regenerate. * valops.c (find_function_addr): Use CONVERT_FROM_FUNC_PTR_ADDR unconditionally. * config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR): Delete definition. * config/powerpc/tm-linux.h (CONVERT_FROM_FUNC_PTR_ADDR): Remove undef. * rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Fix comment. (rs6000_gdbarch_init): Register rs6000_convert_from_func_ptr_addr if not ELFOSABI_LINUX.
2000-08-302000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-2/+2
* valops.c (value_cast): Indentation fix-up. * acconfig.h (HAVE_PRGREGSET32_T, HAVE_PRFPREGSET32_T, HAVE_STRUCT_LINK_MAP32): New configure macros. * config.in: Ditto. * configure.in: Test for the above new macros. * breakpoint.c: Update copyright date. * core-sol2.c: Include v9/sys/privregs.h directly to work around a bug in Sun's Solaris 8 header files. (fetch_core_registers): Use the above new configure macros to handle cross-debugging of 32-bit core files on a 64-bit host. * sol-thread.c (ps_pdmodel) New function. (rw_common): For debugging of 32-bit apps on a 64-bit host, truncate addresses to 32 bits. * solib.c (solib_extract_address): Functionize. Make 32/64 aware. (LM_ADDR, LM_NEXT, LM_NAME): Ditto. (IGNORE_FIRST_LINK_MAP): Ditto. (first_link_map_member): Make 32/64 aware. (open_symbol_file_object): Ditto. (current_sos): Ditto.
2000-08-04Multi-arch EXTRA_STACK_ALIGNMENT_NEEDED (nee NO_EXTRA_ALIGNMENT_NEEDED).Andrew Cagney1-20/+20
2000-07-30Protoization.Kevin Buettner1-175/+61
2000-07-17modify error messageDaniel Berlin1-4/+4
2000-07-15Properly handle referencesDaniel Berlin1-12/+22
2000-07-12* valops.c (value_cast): Allow cast from INT, ENUM or RANGE toAndrew Cagney1-0/+14
POINTER.
2000-07-09 * gdbtypes.c (is_ancestor): Infer type equivalence from nameNicholas Duffek1-19/+15
equivalence. (rank_one_type): Use strcmp instead of == to compare type names. Don't swap parm with arg when checking TYPE_CODE_REF types. * valops.c (find_overload_match): Fix indentation. Compare parameter rankings to 0..9, 10..99, and 100+ instead of 0, 10, and 100.
2000-06-152000-06-15 Michael Snyder <msnyder@seadog.cygnus.com>Michael Snyder1-2/+4
* valops.c (value_cast): Break up long lines.
2000-06-122000-06-12 Fernando Nasser <fnasser@cygnus.com>Fernando Nasser1-1/+2
* valops.c (value_assign): Adjust the length to take into consideration that we are not starting from the beginning.
2000-05-28PARAMS removal.Kevin Buettner1-15/+20
2000-05-22Purge (almost) make_cleanup_func.Andrew Cagney1-2/+1
2000-05-20* target.h (target_memory_bfd_section): Removed declaration.J.T. Conklin1-3/+3
* 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-15Convert SAVE_DUMMY_FRAME_TOS to multi-arch.Andrew Cagney1-3/+2
2000-04-22Convert REG_STRUCT_HAS_ADDR to multi-arch. Use REG_STRUCT_HAS_ADDR_PAndrew Cagney1-66/+66
in conversion.
2000-04-21* valops.c (hand_function_call): Replace #ifdef STACK_ALIGN withAndrew Cagney1-20/+15
run-time test for STACK_ALIGN_P. * gdbarch.sh: Add support for function and variable predicates. (STACK_ALIGN): Add. Implement with predicate - STACK_ALIGN_P. * gdbarch.h, gdbarch.c: Re-generate.
2000-04-17* remote.c (REMOTE_TRANSLATE_XFER_ADDRESS), mem-break.cAndrew Cagney1-12/+0
(MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT), target.h (BREAKPOINT_FROM_PC), valops.c (COERCE_FLOAT_TO_DOUBLE), gdbarch.sh (D10V_MAKE_DADDR, D10V_MAKE_IADDR, FRAMELESS_FUNCTION_INVOCATION, REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, REGISTER_NAME), findvar.c (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Delete default definition. Handled by gdbarch. * gdbarch.sh: Make multi-arch defaults, defaults for non- multi-arch targets. (REGISTER_NAME, COERCE_FLOAT_TO_DOUBLE, REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, D10V_MAKE_DADDR, D10V_MAKE_IADDR, BREAKPOINT_FROM_PC, MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT, REMOTE_TRANSLATE_XFER_ADDRESS, FRAMELESS_FUNCTION_INVOCATION): Provide default/legacy implementation. (REGISTER_NAMES, CALL_DUMMY): Allow legacy definition. * gdbarch.h, gdbarch.c: Re-generate.
2000-04-14* gdbarch.sh (POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Two newJim Blandy1-13/+13
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-09Compare VALUE_ADDRESS() return value with ZERO not NULL.Andrew Cagney1-1/+1
2000-04-04C++ changes for 5.0, finally committed.Daniel Berlin1-114/+212
2000-03-13From Daniel Berlin:Andrew Cagney1-13/+59
Fix C++ overloading, add support for seeing through references.
2000-03-13Revert: ``Fix C++ overload support, see through references''.Andrew Cagney1-131/+89
Change also contained numerous white-space changes.
2000-03-10Fix C++ overload support, see through referencesDaniel Berlin1-89/+131
2000-02-232000-02-23 Fernando Nasser <fnasser@cygnus.com>Fernando Nasser1-8/+50
* infcmd.c (run_stack_dummy): Do not pop frame on random signal. * valops.c (_initialize_valops): Add command "set unwindonsignal". (hand_function_call): Test for unwind_on_signal and act accordingly.
2000-02-22Bring COERCE_FLOAT_TO_DOUBLE under gdbarch's control.Jim Blandy1-10/+41
* valops.c (COERCE_FLOAT_TO_DOUBLE): Rework definition to be more function-like. (default_coerce_float_to_double, standard_coerce_float_to_double): New functions. (value_arg_coerce): Adjust for new definition. * value.h (default_coerce_float_to_double, standard_coerce_float_to_double): New declarations for the above. * gdbarch.sh (coerce_float_to_double): New entry, replacing macro. * gdbarch.c, gdbarch.h: Regenerated. * tm-alpha.h, tm-fr30.h, tm-m32r.h, tm-mips.h, tm-hppa.h, tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change definitions. * mips-tdep.c (mips_coerce_float_to_double): Supply our own custom function here. (mips_gdbarch_init): Install that as our coerce_float_to_double function.
2000-02-01import gdb-2000-01-31 snapshotJason Molenda1-2/+23
1999-12-07import gdb-1999-12-06 snapshotJason Molenda1-2/+2
1999-10-19import gdb-1999-10-18 snapshotJason Molenda1-1/+9
1999-10-12import gdb-1999-10-11 snapshotJason Molenda1-5/+23
1999-09-22import gdb-1999-09-21Jason Molenda1-8/+0
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-569/+583
1999-07-05import gdb-1999-07-05 snapshotJason Molenda1-0/+4
1999-06-01import gdb-1999-06-01 snapshotJason Molenda1-4/+3
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-14/+21
1999-04-26import gdb-19990422 snapshotStan Shebs1-94/+104
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+3461
1999-04-16Initial creation of sourceware repositoryStan Shebs1-3406/+0
1998-12-28hp merge changes -- too numerous to mention here; see ChangeLog andDavid Taylor1-228/+1192
ChangeLog-gdbtk for details.
1997-02-20Since d10v is public now, remove all sanitization statementsMichael Meissner1-24/+39
1996-12-14 * c-exp.y (qualified_name): Replace explicit check for validPeter Schauer1-9/+21
destructor name with call to destructor_name_p. * c-lang.h, c-typeprint.c (cp_type_print_method_args): Removed, no longer needed. * c-typeprint.c (c_type_print_varspec_prefix, c_type_print_base): Replace remaining fprintf_unfiltered calls with their filtered variant. (c_type_print_base): Do not print return type for destructors from template classes. Replace cp_type_print_method_args with cplus_demangle call to get consistent type output for stubbed and unstubbed methods. * cp-valprint.c (cp_print_class_method): Replace cp_type_print_method_args with cplus_demangle call to get consistent type output for stubbed and unstubbed methods. * gdbtypes.c, gdbtypes.h (get_destructor_fn_field): New function to find the destructor field indices for a type. * gdbtypes.h (struct type): Clarify comments for vptr_basetype and arg_types fields. (struct fn_field): Remove args field, no longer used. * symtab.c (decode_line_1), valops.c (value_struct_elt, check_field_in): Use get_destructor_fn_field to find the destructor field indices instead of assuming that the compiler passes the member function fields in a specific order. * symtab.c (find_methods): Pass NULL instead of SYMBOL_BLOCK_VALUE to lookup_symbol. (list_symbol): Replace cp_type_print_method_args with cplus_demangle call in zapped out code and explain why this code is zapped out.
1996-11-27Added target function calls for SH, M32R and H8300.Michael Snyder1-31/+91
Added some generic target-independant code for managing call-dummy frames. Wed Nov 27 10:32:14 1996 Michael Snyder <msnyder@cleaver.cygnus.com> * breakpoint.c: DELETE command will not delete CALL_DUMMY breakpoint. * blockframe.c: Add target-independant support for managing CALL_DUMMY frames on the host side. * frame.h: Declarations for generic CALL_DUMMY frame support. * h8300-tdep.c: Add target function calls using generic frame support. * config/h8300/tm-h8300.h: config for generic target function calls. start-sanitize-m32r * m32r-tdep.c: Add target function calls using generic frame support. * config/m32r/tm-m32r.h: config for generic target function calls. end-sanitize-m32r * sh-tdep.c: Add target function calls using generic frame support. * config/sh/tm-sh.h: config for generic target function calls. start-sanitize-v850 * v850-tdep.c: Add target function calls using generic frame support. * config/v850/tm-v850.h: config for generic target function calls. end-sanitize-v850 * valops.c: ADD PUSH_RETURN_ADDRESS so that it doesn't have to be done by PUSH_ARGUMENTS when there's no CALL_DUMMY.
1996-07-28 * configure.in: Add test for "long long" support.Fred Fish1-0/+6
* configure: Regenerate with autoconf. * acconfig.h: Add CC_HAS_LONG_LONG * config.in: Regenerate with autoheader. * config/mips/tm-mips64.h (FORCE_LONG_LONG): Remove * config/sparc/tm-sp64.h (CC_HAS_LONG_LONG): Remove. * config/mips/tm-vr4300el.h (CC_HAS_LONG_LONG): Remove. * config/mips/tm-vr4300.h (CC_HAS_LONG_LONG): Remove. * config/mips/xm-irix5.h (CC_HAS_LONG_LONG): Remove (PRINTF_HAS_LONG_LONG): Remove. (FORCE_LONG_LONG): Remove. * config/powerpc/xm-aix.h (UINT_MAX): Undef and use gdb's version. * config/convex/xm-convex.h (CC_HAS_LONG_LONG): Remove (PRINTF_HAS_LONG_LONG): Remove. * config/xm-nbsd.h (CC_HAS_LONG_LONG): Remove. (PRINTF_HAS_LONG_LONG): Remove. * config/pa/tm-hppa.h (GET_FIELD): Put parens around subtraction inside shift. Put parens around subtraction in operand of bitwise and. (struct frame_info): Forward declare if __STDC__ defined. (frame_saved_regs): Ditto. (struct value): Ditto. (struct type): Ditto. (struct inferior_status): Ditto. (init_extra_frame_info): Add prototype. (skip_prologue): Ditto. (frameless_function_invocation): Ditto. (frame_chain): Ditto. (frame_chain_valid): Ditto. (saved_pc_after_call): Ditto. (hppa_fix_call_dummy): Ditto. (hppa_push_arguments): Ditto. (pa_do_registers_info): Ditto. (in_solib_call_trampoline): Ditto. (in_solib_return_trampoline): Ditto. (push_dummy_frame): Ditto. * convex-tdep.c (decout): Use print_longest rather than fprintf_filtered. * defs.h: Remove use of FORCE_LONG_LONG and __GNUC__ to set CC_HAS_LONG_LONG. (INT_MIN): Fix so it works correctly when assigned to a long long. * valprint.c (longest_to_int): Rewrite to remove dependence on INT_MIN and INT_MAX. (print_longest): Rewrite the code that falls back to synthesized hex output when LONGEST value is not representable as in a long and printf doesn't support printing long longs. * ch-valprint.c (chill_val_print): Cast 2nd arg of chill_print_type_scalar to LONGEST. chill_print_type_scalar): Make static and add prototype. * hppa-tdep.c (get_field): Ifdef out unused function. (set_field): Ditto. (extract_3): Ditto. (extract_5_store): Ditto. (extract_11): Ditto. (extract_12): Ditto. (deposit_17): Ditto. (extract_14): Convert to static and add prototype. (deposit_14): Ditto. (extract_21): Ditto. (deposit_21): Ditto. (extract_17): Ditto. (extract_5r_store): Ditto. (extract_5R_store): Ditto. (extract_5_load): Ditto. (find_proc_framesize): Ditto. (find_dummy_frame_regs): Ditto. (sign_extend): Ditto. (find_unwind_entry): Add prototype. (find_return_regnum): Ditto. (unwind_command): Ditto. (find_dummy_frame_regs): Add parens around subtraction in operand of bitwise-and. (skip_prologue): Add parens around operands of logical-and inside operand of logical-or. (sign_extend): Add parens around operands of subtraction inside operand of shift. (low_sign_extend): Ditto. * top.c (filename_completer): Convert old style decl of filename_completion_function into prototype. * f-lang.c (patch_common_entries): Ifdef out unused function. * stabsread.c (read_cfront_baseclasses): Remove unused local variable "msg_noterm". (resolve_cfront_continuation): Remove unused local variable "fip". (read_type): Remove unused variable xtypenums. (read_cfront_static_fields): Remove unused variable "i". (read_cfront_static_fields): Remove unused variable "nfields". (read_cfront_member_functions): Add missing comment terminator. (read_cfront_static_fields): Return 1 rather than random value. (read_cfront_baseclasses): Ditto. (read_cfront_baseclasses): Ditto. (read_cfront_baseclasses): Ditto. * somsolib.c (som_solib_create_inferior_hook): Remove unused variable "u". (som_solib_create_inferior_hook): Remove unused variable shadow_contents. (language.h): Add for needed prototypes. (som_solib_sharedlibrary_command): Add prototype. * hpread.c: (hpread_read_array_type): Add prototype. * somread.c (hpread_build_pysmtabs): Add prototype. (hpread_symfile_finish): Ditto. (hpread_symfile_init): Ditto. * hppah-nat.c (fetch_register): Convert old style decl to prototype. (gdbcore.h): Include for needed prototypes. (fetch_register): Remove unused variable "mess". * remote-pa.c (get_offsets): Ifdef out unused function. (remote_start_remote): Remove unused variable "timeout". (boot_board): Add prototype. (reaad_frame): Add prototype. (getpkt): Remove unused variable "bp". (remote_kill): Add prototype. (remote_mourn): Add prototype. (remote_insert_breakpoint): Add prototype. (remote_remove_breakpoint): Add prototype. * valops.c (value_push): Only use if PUSH_ARGUMENTS is not defined. * infcmd.c (do_registers_info): Only need prototype if DO_REGISTERS_INFO is not defined. (breakpoint_auto_delete_contents): Only need if CALL_DUMMY_BREAKPOINT_OFFSET is defined.