* m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
and translate to use regcache.
(m68hc11_gdbarch_init): Undeprecate extract_return_value.
Elena Zannoni [Thu, 17 Jul 2003 12:51:55 +0000 (12:51 +0000)]
2003-07-17 Elena Zannoni <ezannoni@redhat.com>
* Makefile.in (x86-64-linux-nat.o): Update dependencies.
* x86-64-linux-nat.c (ps_get_thread_area): New function. Add
include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
* avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue found.
(avr_frame_unwind_cache): Don't unwind FP for main.
Update a comment.
Save the computed prev_sp.
(avr_saved_regs_unwinder): Remove function.
(avr_frame_prev_register): Use PC unwind logic from
avr_saved_regs_unwinder, otherwise use trad_frame_prev_register.
Andrew Cagney [Tue, 15 Jul 2003 17:32:14 +0000 (17:32 +0000)]
2003-07-15 Andrew Cagney <cagney@redhat.com>
* frame.c (get_prev_frame): Move disabled inside_entry_func to
before code inhibiting repeated unwind attempts. Add to
commentary on that test's problems.
* blockframe.c (inside_main_func): Look for "main" in the minimal
symbol table.
* d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
identical.
Index: testsuite/ChangeLog
2003-07-15 Andrew Cagney <cagney@redhat.com>
* gdb.asm/asm-source.exp: Do not allow "start" in the backtrace.
This commit was manufactured by cvs2svn to create branch 'gdb_6_0-branch'.
Cherrypick from master 2003-07-15 12:34:08 UTC Michal Ludvig <mludvig@suse.cz> 'Oops, forgot to add x86-64-linux-tdep.h in previous commit.':
gdb/amd64fbsd-tdep.c
gdb/config/i386/fbsd64.mh
gdb/config/i386/fbsd64.mt
gdb/config/i386/nm-fbsd64.h
gdb/x86-64-linux-tdep.h
Andreas Schwab [Wed, 9 Jul 2003 21:37:13 +0000 (21:37 +0000)]
* m68k-tdep.h (enum struct_return): Define.
(struct gdbarch_tdep): Add struct_return.
* m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
bytes are padded to the right, not to the left. Pass struct value
address in register %a1, not on stack.
(m68k_use_struct_convention): New function.
(m68k_gdbarch_init): Set use_struct_convention. Initialize
struct_return in tdep to pcc_struct_return.
* m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
reg_struct_return.
Elena Zannoni [Wed, 9 Jul 2003 13:20:39 +0000 (13:20 +0000)]
2003-07-09 Elena Zannoni <ezannoni@redhat.com>
* gdb.base/annota1.exp: Make sure that we properly escape the
full path of the source file. Xfail more permissive patterns,
due to a compiler debug info problem.
* win32-nat.c (solib_symbols_add): Use one variable for all section address
stuff. Pass variable rather than address of variable to safe_symbol_file_add.
Andrew Cagney [Thu, 3 Jul 2003 14:48:58 +0000 (14:48 +0000)]
2003-07-03 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add
predicate.
* gdbarch.h, gdbarch.c: Re-generate.
* regcache.c (init_regcache_descr): Use legacy code when either
REGISTER_BYTE or REGISTER_RAW_SIZE is set.
* gdb.base/store.c (charest): New typedef.
(add_char): Rename to add_charest, update.
(wack_char): Rename to wack_charest, update types. Return l + r
to keep r live across the call.
(wack_short, wack_int, wack_long, wack_longest, wack_float)
(wack_double, wack_doublest): Return l + r to keep r live across
the call.
* gdb.base/store.exp: Accomodate store.c changes.
Jim Blandy [Wed, 2 Jul 2003 19:38:46 +0000 (19:38 +0000)]
* s390-tdep.c (struct frame_extra_info): new member:
'stack_bought_valid'.
(s390_get_frame_info): Set fextra_info->stack_bought_valid if we
initialize fextra_info->stack_bought.
(s390_frameless_function_invocation): Don't trust the value of
fextra_info_ptr->stack_bought unless
fextra_info->stack_bought_valid is set.
Jim Blandy [Wed, 2 Jul 2003 19:33:12 +0000 (19:33 +0000)]
New S390 prologue analyzer.
* s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
(pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
pv_constant_last, pv_add, pv_add_constant, pv_subtract,
pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
compute_x_addr, s390_on_stack, s390_store,
s390_get_signal_frame_info): New functions.
(S390_NUM_SPILL_SLOTS): New macro.
(s390_get_frame_info): Rewritten.
(is_arg_reg): Deleted.
Break out the decoding of S/390 instructions into separate
functions, to make it more legible, and easier to check
against the spec.
* s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
is_rx, is_rxe): New functions.
(op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
enums for opcode values. (Is this an improvement?)
Andreas Schwab [Tue, 1 Jul 2003 22:35:46 +0000 (22:35 +0000)]
* ia64-tdep.c (ia64_push_dummy_call): Define as combination of
former ia64_push_arguments and ia64_push_return_address, and use
regcache functions instead of read/write_register.
(ia64_gdbarch_init): Set push_dummy_call instead of
deprecated_push_arguments and deprecated_push_return_address.
Andrew Cagney [Tue, 1 Jul 2003 21:44:25 +0000 (21:44 +0000)]
2003-07-01 Andrew Cagney <cagney@redhat.com>
* trad-frame.h: Update comments, a -1 .addr is reserved.
(trad_frame_value_p, trad_frame_addr_p): Declare.
(trad_frame_reg_p): Declare.
(trad_frame_set_value): Rename trad_frame_register_value.
(trad_frame_set_unknown): Declare.
* trad-frame.c (trad_frame_realreg_p): New function.
(trad_frame_addr_p, trad_frame_value_p): New function.
(trad_frame_set_unknown): New function.
(trad_frame_alloc_saved_regs): Initialize .addr to -1, not zero.
(trad_frame_prev_register): Use trad_frame_realreg_p,
trad_frame_addr_p and trad_frame_value_p.
(trad_frame_set_value): Rename trad_frame_register_value.
* d10v-tdep.c (d10v_frame_unwind_cache): Use trad_frame_addr_p
and trad_frame_set_value.
Jim Blandy [Tue, 1 Jul 2003 00:12:49 +0000 (00:12 +0000)]
Patch from IBM (authors unspecified, probably Ulrich Weigand and
Gerhard Tonn) for argument passing on the S/390 and S/390x:
* s390-tdep.c (S390_STACK_FRAME_OVERHEAD): This is always space
for 16 registers, and then 32 more bytes.
(S390_STACK_PARAMETER_ALIGNMENT, S390_NUM_FP_PARAMETER_REGISTERS):
New macros.
(is_double_arg): The s390x doesn't handle DOUBLE_ARGS specially.
Move up in the file, since it's now used by is_simple_arg.
(is_simple_arg): Don't assume registers are four bytes long.
Exclude all double arguments. Extended floats are not simple
args.
(is_power_of_two): New function.
(pass_by_copy_ref): Call is_power_of_two, and check that the
length fits in a register, rather than listing all the acceptable
sizes. Extended floats are not passed by reference.
(s390_push_arguments): Don't assume registers are four bytes long.
Reserve an argument register to point to the buffer for structures
returned by value. Use S390_NUM_FP_PARAMETER_REGISTERS and
S390_STACK_FRAME_OVERHEAD.
David Carlton [Mon, 30 Jun 2003 16:26:40 +0000 (16:26 +0000)]
2003-06-30 David Carlton <carlton@kealia.com>
Band-aid for PR c++/1245.
* Makefile.in (cp-support.o): Depend on complaints_h.
* cp-support.c: Include complaints.h. Add declaration for
find_last_component.
(cp_find_first_component): Separate code into
cp_find_first_component_aux.
(cp_find_first_component_aux): Call demangled_name_complaint.
(demangled_name_complaint): New.
2003-06-30 David Carlton <carlton@kealia.com>
* gdb.c++/maint.exp (test_invalid_name): New.
(test_first_component): Add tests for invalid names.
Andrew Cagney [Mon, 30 Jun 2003 15:51:49 +0000 (15:51 +0000)]
2003-06-30 Andrew Cagney <cagney@redhat.com>
* remote.c (remote_write_bytes): Explicitly compute and then use
the payload size. Update comments to reflect. Fixes problem of
GDB not sending small packets as found by Fred Fish.
nobody [Sun, 29 Jun 2003 19:41:15 +0000 (19:41 +0000)]
This commit was manufactured by cvs2svn to create branch 'gdb_6_0-branch'.
Cherrypick from master 2003-06-29 19:41:14 UTC Daniel Jacobowitz <drow@false.org> ' * cli/cli-logging.c (pop_output_files): Add void to function':
gdb/cli/cli-logging.c
* gdb.base/selftest.exp (do_steps_and_nexts): Increase maximum
initial line count of 'captured_main' from 26 to 32.
(test_with_self): Allow xmalloc call to be interleaved with the
preceding two lines.
Jim Blandy [Sat, 28 Jun 2003 00:24:47 +0000 (00:24 +0000)]
* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
function.
(ppc_linux_init_abi): Register it as the
CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
Elena Zannoni [Fri, 27 Jun 2003 13:34:40 +0000 (13:34 +0000)]
2003-06-27 Elena Zannoni <ezannoni@redhat.com>
* symfile.c (syms_from_objfile): Move variables to inner block.
Move the checks for the non-mainline case a bit earlier to avoid
doing some useless computations.
Andreas Jaeger [Thu, 26 Jun 2003 17:09:54 +0000 (17:09 +0000)]
* x86-64-tdep.c (x86_64_push_arguments): Always set %rax to number
of SSE registers so that varargs functions work. Rework handling
of passing arguments on the stack.
(x86_64_store_return_value): Return double and float values in SSE
register.