* NEWS: Add Alpha Linux as a new native configuration.
* mdebugread.c (parse_symbol): When we find a malloc() symbol with
return type VOID, assume no debugging info is available for that
object file and patch the return value into VOID *. Otherwise,
operations requiring an implicit call to malloc() will fail.
* infrun.c (wait_for_inferior): The criterion to detect entering a
sigtramp handler is now: (a) the current pc is inside a sigtramp
handler, (b) the previous pc is not in a sigtramp handler, and (c)
the current stack pointer is "inner" than the old one. Condition
(c) is new to avoid mistaking a return from a signal handler into
sigtramp as a new sigtramp invocation.
* dcache.c (struct dcache_block): Declare addr as CORE_ADDR. An
int may not be big enough to hold an address.
(dcache_hit): Ditto.
(dcache_peek_byte): Fix indentation.
* configure.in (alpha-*-linux*): Add target.
* configure: Rebuild
* config/alpha/tm-alpha.h (PROC_DESC_IS_DYN_SIGTRAMP): New macro.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
(SIGCONTEXT_ADDR): Ditto.
(FRAME_PAST_SIGTRAMP_FRAME): Ditto.
* config/alpha/alpha-linux.mh: New file.
* config/alpha/alpha-linux.mt: Ditto.
* config/alpha/nm-linux.h: Ditto.
* config/alpha/tm-alphalinux.h: Ditto.
* config/alpha/xm-alphalinux.h: Ditto.
* config/alpha/xm-alphaosf.h: Renamed from xm-alpha.h.
* config/alpha/alpha-osf1.mh (XM_FILE): Change from xm-alpha.h to
xm-alphaosf.h.
* config/alpha/alpha-osf2.mh: Ditto.
* blockframe.c (find_pc_partial_function): Pass PC to
SIGTRAMP_START and SIGTRAMP_END macros for the benefit of systems
that detect sigtramp code via designated code sequences (as is the
case for Linux/Alpha, for example).
* config/i386/tm-i386bsd.h: Change SIGTRAMP_START and SIGTRAMP_END
to ignore new PC argument.
* config/m68k/tm-hp300bsd.h: Ditto.
* config/vax/tm-vax.h: Ditto.
* alpha-tdep.c (alpha_linux_sigtramp_offset): New function.
(alpha_osf_skip_sigtramp_frame): Ditto.
(push_sigtramp_desc): Ditto.
(alpha_find_saved_regs): Use SIGCONTEXT_ADDR macro to extract
sigcontext address from frame.
(alpha_saved_pc_after_call): When in sigtramp, use
alpha_frame_saved_pc() instead of read-register().
(after_prologue): When inside a dynamically generated sigtramp
function, there is no prologue, so return address of first
instruction.
(alpha_in_prologue): Fix typo in comment.
(find_proc_desc): Use macro DYNAMIC_SIGTRAMP_OFFSET to determine
whether we're inside a dynamicaly generated sigtramp function. If
so, create and push and appropriate procedure descriptor.
(alpha_frame_chain): Use macro FRAME_PAST_SIGTRAMP_FRAME to obtain
the frame past a sigtramp frame (if the current frame is indeed a
sigtramp function).
(init_extra_frame_info): Don't read next frame register off of
stack-pointer when inside a dynamiccaly generated sigtramp.
(alpha_pop_frame): Also unlink and destroy procedure descriptors
created for dynamically generated sigtramp functions.
* alpha-nat.c: When compiling under Linux, include <asm/reg.h> and
<alpha/ptrace.h> instead of <machine/reg.h>
(IS_MOVE_FP, IS_MOV_SP_FP): Accept H8/300H varaints.
(IS_SUB4_SP, IS_SUBL_SP): New macros.
(h8300_skip_prologue): Handle H8/300H prologue code sequences.
(examine_prologue): Handle addresses from 0x010000 to 0xffffff
when in H8/300H mode. Get the return pointer's address correctly
for the H8/300H. Handle H8/300H prolouge code sequences.
Avoiding major breakage on the H8/300H, and on the eval board. Jeez, did
anyone even try to debug H8/300H code with gdb in the past?!?
attempting to regenerate it. Eliminate use of a temporary file
and just generate the info file directly. Source it immediately,
for consistency of use.
* gdb.base/corefile.exp: Ditto
* gdb.base/exprs.exp: Ditto.
* gdb.base/funcargs.exp: Ditto.
* gdb.base/langs.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/mips_pro.exp: Ditto.
* gdb.base/nodebug.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/ptype.exp: Ditto.
* gdb.base/scope.exp: Ditto.
* gdb.base/setvar.exp: Ditto.
* gdb.base/signals.exp: Ditto.
* gdb.base/whatis.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
* gdb.c++/virtfunc.exp: Use contents of gcc_compiled to decide
whether or not to add -lstdc++ to the compile command line args.
if final link.
* emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
(sort_by_section_name, sort_sections_1): New functions.
(sort_sections): Only sort by file name sections in .idata.
Add "Grouped Sections" support.
(gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
Sections.
(gld${EMULATION_NAME}_place_section): Delete.
* scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
(.CRT,.rsrc): Rewrite to use Grouped Section support.
like EST visionICE that send back an ACK after each S-record.
* monitor.c (monitor_wait_srec_ack): New function.
(monitor_load): Pass monitor_wait_srec_ack to load_srec
if the monitor's MO_SREC_ACK flag is set.
* monitor.h: Define MO_SREC_ACK flag.
* remote-est.c (est_cmds): Add MO_SREC_ACK flag.
* sh3-rom.c (sh3_load): Accomodate change in load_srec prototype.
* srec.h: Add WAITACK parameter to load_srec prototype.
(readline_begin_hook, readline_hook, readline_end_hook): Declare.
* breakpoint.c (commands_command): Build message in temporary buffer
and pass that, as well as tty control flag, to read_command_lines.
* top.c (readline_begin_hook, readline_hook, readline_end_hook):
Define here.
(command_loop): Check for non-NULL instream before looping.
(command_line_input): Use readline_hook when appropriate, to get
user input from a GUI window.
(read_next_line): Also build prompt if getting user input from a GUI.
(recurse_read_control_structure): Fix typo in comment.
(read_command_lines): Use passed in prompt and tty flag to decide how
to build message. Use readline_begin_hook when appropriate, to set
up a GUI interaction window. Just return head, whether NULL or not,
after using readline_end_hook to complete GUI interaction.
(define_command, document_command): Build message in a temporary
buffer and pass it to read_command_lines, along with tty flag.
* gdbtk.c (gdbtk_readline_begin, gdbtk_readline, gdbtk_readline_end):
New functions.
(tk_command_loop): Set instream to NULL to enable Tk user interaction.
(gdbtk_init): Set readline_begin_hook, readline_hook,
and readline_end_hook.
* gdbtk.tcl (gdbtk_tcl_readline_begin, gdbtk_tcl_readline,
gdbtk_tcl_readline_end): New functions.
(tclsh): Pack scroll bar on right side of window, not left.
PR 9385
Add FUNCTION_START_OFFSET only if func_start is non-zero.
* minsyms.c (lookup_minimal_symbol_by_pc): Return NULL if
pc is not in a known section.
* stack.c (print_frame_info): Remove check for fi->pc in known
section, now handled by lookup_minimal_symbol_by_pc.
(create_command_window): Use gdb_prompt rather than "(gdb) ".
(gdbtk_tcl_preloop): Proc executed just prior to Tk main loop.
(tclsh): If an evaluation window already exists, just bring it
to the front instead of trying to create another.
* gdbtk.c (tk_command_loop): New function.
(gdbtk_init): Call tk_command_loop rather than Tk_MainLoop.
(TC_SEGMENT_INFO_TYPE): Define.
(sh_frob_label): Declare.
(tc_frob_label): Define.
(sh_flush_pending_output): Declare.
(md_flush_pending_output): Define.
* config/tc-sh.c (md_assemble): If relaxing, emit a R_SH_CODE
reloc before the instruction if necessary.
(sh_frob_label): New function.
(sh_flush_pending_output): New function.
(sh_coff_frob_file): Ignore ALIGN, CODE, DATA, and LABEL relocs
when looking for the reloc for the target of .uses.
(md_convert_frag): Fix printf format (%0xlx to 0x%lx).
(sh_force_relocation): Force CODE, DATA, and LABEL relocs to be
emitted.
(md_apply_fix): Ignore CODE, DATA, and LABEL relocs.
(sh_coff_reloc_mangle): Force CODE, DATA, and LABEL relocs to use
the absolute symbol.
break.c.
* gdb.base/callfuncs.exp: Don't run these tests on the h8300.
* gdb.base/default.exp: Add h8300 xfails. Handle messages
from remote-sim.
* gdb.base/exprs.exp: Add h8300 xfails.
* gdb.base/funcargs.exp: Likewise.
* gdb.base/nodebug.exp: Likewise.
* gdb.base/printcmds.exp: Likewise.
* gdb.base/ptype.exp: Likewise.
* gdb.base/setvar.exp: Handle sizeof (int) != 4 for h8300. Add
h8300 xfails.
* gdb.base/return.exp: Handle float/double precision problems
on the h8300.
* gdb.base/funcargs.c: Explicitly make last constant argument to
call_after_alloca_subr an unsigned long type.
* gdb.base/return.c: Include stdio.h.
Testsuite work for the H8/300 -gstabs. HMSE.
fx_done set.
(do_relocs_for): Likewise.
(fixup_segment): Don't just quit if linkrelax is set. Try to
apply non pc-relative sym1-sym2 fixups, even if linkrelax is
nonzero.
So function-relative stabs will work on the H8/300. HMSE.
C_STAT symbols.
* h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly.
Flush cached frames just before exiting.
* remote-sim.c (gdbsim_resume): Complain if the program isn't
being run.
* config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define.
Fix some bugs exposed by the testsuite. HMSE.