From: Jason Molenda Date: Thu, 6 Jan 2000 03:07:20 +0000 (+0000) Subject: Initial revision X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3cee212a702cfb7f44caebf7a6389e17771a3072;p=pf3gnuchains%2Fpf3gnuchains3x.git Initial revision --- diff --git a/gdb/ChangeLog-99 b/gdb/ChangeLog-99 new file mode 100644 index 0000000000..005de04a48 --- /dev/null +++ b/gdb/ChangeLog-99 @@ -0,0 +1,8815 @@ +Wed Dec 29 17:41:11 1999 Andrew Cagney + + * breakpoint.c (create_breakpoints, parse_breapoint_sals, + breakpoint_sals_to_pc): New functions. + (break_command_1): Rewrite. Use create_breakpoints, + parse_breapoint_sals, breakpoint_sals_to_pcto create the list of + breakpoints specified in ``sals''. Delete unused variables. + Pre-allocate addr_strings for all breakpoints. Allocate a + separate cond and cond_string for each breakpoint. + (gdb_breakpoint, do_captured_breakpoint, struct + captured_breakpoint_args): Provide a library interface into + create_breakpoints. + + * defs.h (gdb_breakpoint): Add declaration. + +1999-12-22 Michael Chastain + + * dbxread.c (process_one_symbol): check for nested LBRAC + symbols before calling finish_block rather than after. Do not + call define_symbol for these symbols. + +1999-12-21 Stan Shebs + + * blockframe.c (generic_pop_current_frame): Cosmetic changes to + clarify. + +1999-12-20 Michael Snyder + + * procfs.c: Completely rewritten. All functions replaced, to make + maintainence easier in the presence of two very different versions + of /proc (ioctl vs. read/write). + * proc_api.c: New file, pretty-print /proc diagnostic trace info. + * proc_events.c: New file, pretty-print /proc signals, exceptions. + * proc_flags.c: New file, pretty-print /proc flags. + * proc_why.c: New file, pretty-print /proc reasons for stopping. + * Makefile.in: Add rules for above new files. + * config/i386/i386sol2.mh: Add above new files to NATDEPFILES. + * config/sparc/sun4sol2.mh: ditto. + * config/i386/i386dgux.mh: ditto. + * config/i386/i386v4.mh: ditto. + * config/i386/i386v42mp.mh: ditto. + * config/i386/ncr3000.mh: ditto. + * config/m68k/m68kv4.mh: ditto. + * config/m88k/delta88v4.mh: ditto. + * config/mips/irix4.mh: ditto. + * config/mips/irix5.mh: ditto. + * config/mips/mipsv4.mh: ditto. + * config/powerpc/solaris.mh: ditto. + * config/alpha/alpha-osf2.mh: ditto. + * config/alpha/alpha-osf3.mh: ditto. + * testsuite/gdb.base/callfuncs.exp: make "next" test match the + next source line, in case the "next" runs away. + * acconfig.h: remove obsolete def HAVE_MULTIPLE_PROC_FDS, + add new def NEW_PROC_API + * config.in; ditto. + * configure.in: Detect sparc solaris 7 and all versions of + UnixWare, and define NEW_PROC_API. + * configure: auto-generate. + * infrun.c (MAY_SWITCH_FROM_INFERIOR_PID): remove define, make it + the default behavior. (switched_from_inferior_pid): rename to + previous_inferior_pid. (handle_inferior_event): remove the + [Switching to thread...] message. (normal_stop): move the + [Switching to thread...] message to here. + * sol-thread.c (sol_find_new_threads): add a call to + procfs_find_new_threads, so that new LWPs are found too. + * config/mips/nm-irix5.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT): + define to always use. (target_insert_watchpoint) define to use + new procfs call (one additional parameter). + (target_remove_watchpoint): ditto. + (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT) define always true. + * config/mips/nm-irix4.h: ditto. + + +1999-12-21 Jim Blandy + + * Makefile.in (elf_bfd_h): Look for elf-bfd.h in BFD_SRC, not + BFD_DIR. Unlike bfd.h, it is not a generated file. + +Fri Dec 17 18:24:58 1999 David Taylor + + * language.c (_initialize_language): move settings of language, + range, and type and corresponding function calls + set_language_command, set_type_command, and set_range_command + closer together to match the model of having the user set the + variable via the 'set {language | range | type}' commands. + This eliminates startup noise introduced by Jimmy Guo's change + of Dec 13th. + +1999-12-17 Michael Snyder + + * configure.in: test for , which is not available + on earlier versions of Linux. + * config.in: define HAVE_STDINT_H if it's present. + * configure: autoconfiscate. + * lin-thread.c: if not HAVE_STDINT_H, stub out the entire module. + +Fri Dec 17 20:45:21 1999 Andrew Cagney + + * target.c (find_target_beneath): Change ``='' in if to ``==''. + +1999-12-16 Michael Snyder + + * defs.h (TIDGET): add default definition. + * lin-thread.c (check_for_thread_event): for now, just provide + an empty definition (to be filled in later). + +1999-12-16 Fernando Nasser + + * varobj.c (varobj_list): Improve the test and the text of the + assertion that guards against wrong tally of root varobjs. + (uninstall_variable): Fix for a bug in which the number of root + varobjs was not decremented if the first one in the list was deleted. + +1999-12-16 Michael Snyder + + * linux-thread.c: Remove printf-debugging code. + * lin-thread.c: ditto. + * config/alpha/nm-linux.h: protect with NM_LINUX_H. + * testsuite/gdb.threads/linux-dp.exp: Make test for "New Thread" + message more forgiving. Ditto test for "info threads". + +1999-12-16 Michael Snyder + + * lin-thread.c: new file. Implements multi-thread debugging on + Linux using the thread_db API first implemented on Solaris. This + frees GDB from any dependency on the internal implementation of + the thread library. Future versions of the thread library will + implement a libthread_db API for debuggers, which GDB will use. + * config/i386/linux.mh: add lin-thread.o to the link, and add + -ldl and -rdynamic since libthread_db is a dynamic library. + * config/alpha/alpha-linux.mh: ditto. + * configure.in: test for thread_db.h, proc_service.h + * configure: autoconf. + * config.in: conditionally define HAVE_THREAD_DB_H + and HAVE_PROC_SERVICE_H + * gdb_thread_db.h: new file, used when the system doesn't have it. + * gdb_proc_service.h: ditto. + +1999-12-16 Michael Snyder + + * linux-thread.c: changes to accomodate the new lin-thread.c + module based on the thread_db API. These changes make parts of + linux-thread.c shareable with lin-thread.c. + (linuxthreads_wait_mask): replace with linuxthreads_block_mask. + (using_thread_db): new variable. Allows linux-thread module to + detect when lin-thread (thread_db API) module is in use. + (save_inferior_pid, restore_inferior_pid): make 32/64 bit safe. + (check_all_signal_numbers) make extern, shared with lin-thead.c. + (linuxthreads_new_objfile): use target_new_objfile_chain to share + this hook with the lin-thread module. Call the other module FIRST. + If using_thread_db is turned on by the other thread module, do not + set linuxthreads_debug and do not call update_stop_threads. Do call + check_all_signal_numbers, to be sure it gets set before target_wait. + (linux_child_wait): new function. Abstracts out the "child_wait" + functionality, so that it can be shared with the lin-thread module. + (linuxthreads_wait): call linux_child_wait, instead of doing the + waiting inline. If using_thread_db, do not call update_stop_threads + and do not turn on linuxthreads_debug. + (linuxthreads_mourn_inferior): abstract out the clearing of global + state, so that it can be shared with the lin-thread.c module. + (_initialize_linuxthreads): use linuxthreads_wait_mask to block + SIGCHLD exactly ONCE, and leave it blocked! Then linux_child_wait + will call sigsuspend when it wants to wait for this signal. + (thread_attach): abstract out ptrace attach to share with lin-thread.c + +1999-12-16 Michael Snyder + + Make target_pid_to_str a target_ops vector. + * target.h (target_pid_to_str): redefine to use a target_ops vector. + (target_tid_to_str): default to using target_pid_to_str. + (target_pid_or_tid_to_str): ditto. + * target.c (update_current_target): inherit to_pid_to_str method. + (find_target_beneath): new function. Find target stratum below + the given one. + * config/nm-gnu.h: don't define target_pid_to_str. + * config/i386/tm-i386sol2.h: ditto. + * config/sparc/tm-sun4sol2.h: ditto. + * gnu-nat.c (init_gnu_ops): initialize to_pid_to_str vector. + * linux-thread.c (init_linuxthreads_ops): ditto. + * sol-thread.c (init_sol_thread_ops: ditto. + * procfs.c (init_procfs_ops): ditto. + * win32-nat.c (init_child_ops): ditto. + * config/i386/tm-cygwin.h: don't define target_pid_to_str. + * inftarg.c (child_pid_to_str): new function, used to initialize + to_pid_to_str vector. May be suppressed by defining CHILD_PID_TO_STR. + (init_child_ops): initialize to_pid_to_str using child_pid_to_str. + Derivative modules may substitute their own child_pid_to_str func + by defining CHILD_PID_TO_STR. + * lynx-nat.c (lynx_pid_to_str): rename to child_pid_to_str. + * config/nm-lynx.h: define CHILD_PID_TO_STR. + Don't define target_pid_to_str. + * hppah-nat.c (hppa_pid_to_str): rename to child_pid_to_str. + * infttrace.c (hppa_pid_or_tid_to_str): call child_pid_to str + instead of hppa_pid_to_str. + * config/pa/nm-hppah.h: define CHILD_PID_TO_STR. + Don't define target_pid_to_str. + +1999-12-16 Michael Snyder + + * i386-linux-nat.c: introduce PIDGET/TIDGET macros as on Solaris, + preparatory to using the thread_db debugging API for Linux. + (fill_gregset): guard against invalid input. + (fetch_regs): add a pid/thread_id argument, so we can fetch regs + from multiple processes/clones/threads. (store_regs): ditto. + (fetch_fpregs): ditto. (store_fpregs): ditto. + (fetch_xfpregs): ditto. (store_xfpregs): ditto. + (fetch_inferior_registers): use TIDGET to extract an appropriate + thread/clone/process id from inferior_pid, if there's one there, + and pass it to fetch_regs etc. (store_inferior_registers): ditto. + + * infptrace.c: include every available version of wait.h. + introduce PIDGET/TIDGET macros for use with thread_db API on Linux. + (call_ptrace): rearrange lines that were split by an ifdef. + (fetch_register): use TIDGET to extract an appropriate process ID + from inferior_pid, in case we are debugging more than one process. + (store_register): ditto. This is for Linux. + (child_xfer_memory): use PIDGET to extract the main process id from + inferior_pid, in case we are debugging multiple processes that share + the same address space (as on Linux). + +1999-12-16 Christopher Faylor + + * win32-nat.c: Add a missing register to mappings array. + (child_fetch_inferior_registers): Use precalculated index into mappings + array as supply_registers argument. + (handle_output_debug_string): Avoid considering every debug string as a + cygwin signal. + (handle_exception): Trap first chance exceptions. + (child_create_inferior): Initialize Microsoft thread walking API. + (sgmb): New function. Used by Microsoft API for stack walking. + (child_frame_chain): New function. Uses Microsoft API for stack + walking. + (child_frame_chain_saved_pc): Ditto. + * config/i386/tm-cygwin.h: Define frame handling stuff. + +1999-12-15 Stan Shebs + + ARM GNU/Linux support and general ARM target fixes/cleanup from + Scott Bambrough , plus obsoletion of the old + RISCix support. + * NEWS: Mention addition and obsoletion. + * configure.host: Recognize arm* instead of just arm. + (arm*-*-linux*): Recognize. + * configure.tgt: Ditto, plus assume arm*-*-* is embedded. + * config/arm/arm.mh, config/arm/arm.mt, config/arm/nm-arm.h, + config/arm/xm-arm.h: Mark as OBSOLETE. + * config/arm/embed.mt, config/arm/tm-embed.h: New files. + * config/arm/linux.mh, config/arm/linux.mt, config/arm/nm-linux.h, + config/arm/tm-linux.h, config/arm/xm-linux.h: Ditto. + * config/arm/tm-arm.h: Add more comments, eliminate PARAMS. + (STACK_END_ADDR): Remove. + (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT, THUMB_LE_BREAKPOINT, + THUMB_BE_BREAKPOINT): Move to here from arm-tdep.c. + (NUM_REGS): Define as sum. + (NUM_FREGS, NUM_SREGS, NUM_GREGS): New definitions. + (FP_REGISTER_RAW_SIZE, FP_REGISTER_VIRTUAL_SIZE, + STATUS_REGISTER_SIZE): Define. + (REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE): Rewrite to use symbolic values. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW, USE_STRUCT_CONVENTION, + EXTRACT_RETURN_VALUE): Rewrite to use new functions. + (IN_SIGTRAMP): Remove definition. + * arm-convert.s: Mark as OBSOLETE. + * arm-linux-nat.c: New file. + * Makefile.in: Add build rule for it. + * arm-tdep.c (struct frame_extra_info): New struct. + (arm_use_struct_convention): Rewrite. + (arm_push_arguments): Rewrite to handle more cases. + (arm_register_convertible, arm_register_convert_to_virtual, + arm_register_convert_to_raw, arm_extract_return_value): New + functions. + (LITTLE_BREAKPOINT, BIG_BREAKPOINT): Remove. + * arm-xdep.c: Mark as OBSOLETE. + +1999-12-15 Elena Zannoni + + * infcmd.c (run_stack_dummy): Temporarily lie about the target + ability to support asynchronous execution. + + * remote.c (remote_can_async_p, remote_is_async_p): Return true + iff to_async_mask_value is true too. + (remote_async): Error out if called when to_async_mask_value is 0. + (init_remote_async_ops): Initialize to_async_mask_value to 1. + (remote_async_detach, remote_async_resume, remote_async_wait, + remote_async_kill): Change SERIAL_IS_ASYNC_P call to + target_is_async_p call. + (remote_async_resume): Change SERIAL_CAN_ASYNC_P call to + target_can_async_p call. + + * target.c (update_current_target): Inherit to_async_mask_value. + (target_async_mask): New function. To temporarily turn the target + into a synchronous one for inferior function calls, and back to + asynchronous. + + * target.h (to_async_mask_value): New entry in the target + vector. + (target_async_mask): Export. + (target_async_mask_value): Define. + +Wed Dec 15 11:24:32 1999 Jeffrey A Law (law@cygnus.com) + + * hp-psymtab-read.c (trans_lang): Use HP_LANGUAGE_FORTRAN instead + of HP_LANGUAGE_F77. + +Wed Dec 15 13:37:55 1999 Andrew Cagney + + * gdb-events.h, gdb-events.c (set_gdb_event_hooks): Return the old + event hooks vector. + +1999-08-13 Jim Kingdon + + * breakpoint.c (bpstat_stop_status): Revert 1998-09-08 change + to ->frame matching. The change did not match the ChangeLog + entry, looked fishy, and caused infinite stepping when running + "next" from main on sparc w/ RH Linux. Thanks to Jakub for the + report. + +1999-12-14 Stan Shebs + + * arm-tdep.c (arm_get_next_pc): Add argument to shifted_reg_val + call. + +1999-12-14 Mark Salter + + * mips-tdep.c (mips_print_register): Fix printing of individual + registers when REGISTER_VIRTUAL_SIZE != REGISTER_RAW_SIZE. + +Tue Dec 14 23:29:19 1999 Andrew Cagney + + * defs.h (mcalloc): Delcare. + * utils.c (xcalloc, mcalloc): New functions. + +1999-12-13 Stan Shebs + + * config/arm/tm-arm.h: Reformat comments, in preparation for + real changes. + * arm-tdep.c: Similarly, plus change function definitions to + modern form. + +1999-12-13 Michael Snyder + + * breakpoint.h (enum bptype): add new BP type bp_thread_event. + This will be used when a target needs to set an invisible + breakpoint to detect events such as thread creation. + * breakpoint.c (interlan_breakpoint_number): remove ifdefs. + (create_thread_event_breakpoint): new function. + (remove_thread_event_breakpoints): new function. + (bpstat_what): don't stop at invisible thread_event breakpoints. + (update_breakpoints_after_exec): if bp_thread_event breakpoins + still exist after an exec, delete them. They'll need to be + found and installed anew anyway. + (print_it_typical): don't announce bp_thread_event breakpoints. + (print_one_breakpoint): account for new breakpoint type. + (mention): don't mention invisible bp_thread_event breakpoints. + (delete_command): don't delete invisible bp_thread_event bp's. + (breakpoint_re_set_one): don't touch bp_thread_event bp's. + +Mon Dec 13 11:10:59 1999 Jimmy Guo + + * language.h (longest_raw_hex_string, longest_local_hex_string, + longest_local_hex_string_custom): Declare. + * language.c: New functions, and misc. fixes. + (longest_raw_hex_string, longest_local_hex_string, + longest_local_hex_string_custom): New functions. + + * c-typeprint.c + (c_type_print_varspec_prefix,c_type_print_varpsec_suffix): Add + TYPE_CODE_TEMPLATE case and default case. + (c_type_print_base): Revise how demangled_no_class is found; + print '}' before printing local file:line info. + * c-valprint.c (c_value_print): print reference type to class. + + * valarith.c (value_binop): Add support for exponentiation, + equal, not equal. + (my_strcmp): New function. + (value_equal,value_less): Add string equality comparison support. + + * m2-exp.y (lex): add default case statement to capture + unhandled token and call error(). + +1999-12-13 Elena Zannoni + + * main.c (main): Remove unused variable. + + From Hubert VERSTRAETE (hubertV@bigfoot.com): + * main.c (captured_main): Disambiguate command line option '-d' by + preferring --directory over --dbx. + + * top.c (return_to_top_level): Do not do exec cleanups if the + target is executing. Those cleanups are supposed to be done when + the target has stopped. + +Mon Dec 13 20:52:37 1999 Andrew Cagney + + * breakpoint.c (do_captured_breakpoint_query, + gdb_breakpoint_query): New functions. Implement a breakpoint + query. + + * defs.h (enum gdb_rc): Declare. + (gdb_breakpoint_query): Declare. + +Mon Dec 13 14:18:06 1999 Andrew Cagney + + * gdb-events.h: Fix typo in description of breakpoint events. + * gdb-events.sh: Update. + +Mon Dec 13 13:57:26 1999 Andrew Cagney + + * breakpoint.c (ep_type_description_t): Delete. + (print_one_breakpoint): Add local declaration of struct + ep_type_description. + +Mon Dec 13 12:38:31 1999 Andrew Cagney + + * top.h: Delete #include . Moved to top.c. + (SIGJMP_BUF, SIGSETJMP, SIGLONGJMP, SIGJMP_BUF, SIGSETJMP, + SIGLONGJMP): Delete. Moved to top.c + (error_return, quit_return): Delete extern declarations. + + * top.c: #include . + (error_return, quit_return): Make static. + (SIGJMP_BUF, SIGSETJMP, SIGLONGJMP, SIGJMP_BUF, SIGSETJMP, + SIGLONGJMP): Define. + +Mon Dec 13 11:54:12 1999 Andrew Cagney + + * tracepoint.c (trace_start_command, tracepoints_info): Print + step_count using %ld. + * Makefile.in (tracepoint.o): Compile tracepoint.o with -Werror. + +1999-12-12 Elena Zannoni + + * target.h (enum target_waitkind): Add new enumeration value + TARGET_WAITKIND_IGNORE. For inferior events that we should do + nothing about. + + * remote.c (remote_async_wait): After each character of console + output from the inferior, return to the event loop with an event + kind of TARGET_WAITKIND_IGNORE instead of looping here. + + * infrun.c (handle_inferior_event): In case of + TARGET_WAITKIND_IGNORE, return immediately, and set things up so + that we are still waiting for the inferior. + +1999-12-12 Elena Zannoni + + * event-loop.c (handle_timer_event): When calling the timer + procedure, use the saved_timer data, not the timer_ptr data, + because the latter has been already freed. + +Fri Dec 10 12:01:43 1999 Andrew Cagney + + * eval.c (evaluate_subexp): Only inline when GNUC and not STDC. + +Sat Dec 11 17:52:03 1999 Andrew Cagney + + * breakpoint.c (print_one_breakpoint): New function. Move + breakpoint print code to here. + (breakpoint_1): From here. + +Mon Dec 6 20:31:28 1999 Andrew Cagney + + * gdbarch.sh: Replace field init_p with invalid_p. + (TARGET_BFD_VMA_BIT): New architecture vector method. Defaults to + architecture bits_per_address. + * gdbarch.h, gdbarch.c: Update. + * defs.h (TARGET_BFD_VMA_BIT): Provide default of TARGET_PTR_BIT + for non- multi-arch case. + + * gdbtypes.h (builtin_type_bfd_vma, builtin_type_ptr, + builtin_type_CORE_ADDR): New GDB specific address types. + * gdbtypes.c (_initialize_gdbtypes, build_gdbtypes): Initialize + new builtin types. + +Wed Dec 8 17:48:56 1999 Andrew Cagney + + * config/sparc/nm-nbsd.h (FETCH_INFERIOR_REGISTERS): Delete + definition. Already defined in config/nm-nbsd.h. Include the + more explicit config/nm-nbsd.h. + + * config/sparc/nbsd.mt (TDEPFILES): Move solib.o from here. + * config/sparc/nbsd.mh (NATDEPFILES): To here. + * config/xm-nbsd.h: #include to get definition of + NGROUPS needed by and missing on some systems. + * config/nm-nbsd.h: Only macro's that match NetBSD definitions + with what is expected by solib.c when not SVR4_SHARED_LIBS. + + * configure.host: Add patterns for sparc-*-netbsdaout* and + sparc-*-netbsdelf*. + * config/sparc/nm-nbsdelf.h: New file. + * config/sparc/nbsdelf.mh: New file. + +Wed Dec 8 19:56:48 1999 Andrew Cagney + + * frame.h, blockframe.c: Rename default_frame_chain_valid to + file_frame_chain_valid. Rename alternate_frame_chain_valid to + func_frame_chain_valid. + + * config/sparc/tm-sparclite.h, config/mips/tm-mipsv4.h, + config/m88k/tm-delta88v4.h, config/m68k/tm-m68kv4.h, + config/m68k/tm-monitor.h, config/i386/tm-i386nw.h, + config/i386/tm-i386v4.h, config/h8300/tm-h8300.h: Update. + * mips-tdep.c (mips_gdbarch_init): Update. + +Wed Dec 8 19:12:17 1999 Andrew Cagney + + * blockframe.c (generic_file_frame_chain_valid): Rename + generic_file_frame_chain_valid. + * frame.h: Update. + * config/fr30/tm-fr30.h, config/m32r/tm-m32r.h, + config/mn10200/tm-mn10200.h, config/mn10300/tm-mn10300.h, + config/sh/tm-sh.h, config/v850/tm-v850.h, config/mcore/tm-mcore.h: + Update. + + * blockframe.c (generic_func_frame_chain_valid): New function. + Implement dummy-frame equivalent of function based frame chain + valid. + * frame.h (generic_func_frame_chain_valid): Declare. + +Wed Dec 8 16:26:27 1999 Andrew Cagney + + * blockframe.c (alternate_frame_chain_valid, + default_frame_chain_valid): Swap implementations. The change Mon + Nov 30 11:18:48 1998 Andrew Cagney which converted + several macros to functions was backwards. + + * mips-tdep.c (mips_gdbarch_init): Update. Call + alternate_frame_chain_valid and not default_frame_chain_valid. + +Wed Dec 8 15:29:48 1999 Andrew Cagney + + * infptrace.c: Simplify handling of . Always include + "wait.h" from the ../include/wait.h directory. #include + was added as part of Mon Nov 29 12:14:10 1999 Andrew + Cagney but the ChangeLog was omitted. + +1999-12-07 Jim Blandy + + Add support for SSE registers in core files. + * corelow.c (get_core_register_section): New function. + (get_core_registers): Fetch the new ".reg-xfp" sections, + in addition to the traditional ".reg" and ".reg2" sections. + Check for per-thread variants of all three. Use + get_core_register_section, instead of writing it out over and over + again. + * i386-linux-nat.c (i386_linux_fetch_core_registers): New function. + (i386_linux_nat_core_fns): New core_fns structure. We do our own + core handling now, instead of using the generic code in core-regset.c. + (_initialize_i386_linux_nat): New function, needed to register + i386_linux_nat_core_fns. + * config/i386/linux.mh (NATDEPFILES): Remove core-regset.o; + i386-linux-nat.c has its own sniffer now. + * gdbcore.h: (struct core_fns): Doc fix. + + * i386v-nat.c (i386_float_info): Definition is #if 0'd; delete it + altogether. This should use the function i387-tdep.c. + + Patch from Mark Kettenis : + + * config/i386/tm-i386.h (FLOAT_INFO): New define. + * i387-tdep.c (print_i387_value, print_i387_ext, + print_i387_status_word, print_i387_control_word, i387_float_info): + New functions, used to implement generic `info float' command. + +1999-12-06 Christopher Faylor + + * dcache.c (set_dcache_state): New function. + * dcache.h: Declare set_dcache_state(). + +Sat Dec 4 15:17:44 1999 Andrew Cagney + + * remote.c (build_remote_packet_sizes): Reduce the default packet + size of 400 bytes by one to 399. Stops GDB trashing stubs that + append a trailing NUL to an already full buffer. + +Sat Dec 4 01:16:47 1999 Andrew Cagney + + * tracepoint.c (remote_get_noisy_reply): Add parameter sizeof_buf. + (finish_tfind_command): Add parameter sizeof_msg. + + * remote.c (remote_threads_info): Move assignment operator to + outside of function call. + (remote_send): Add parameter sizeof_buf. + (getpkt): Add parameter sizeof_buf. Call read_frame passing in + sizeof_buf. + + * remote.h (getpkt): Update. + + * tracepoint.c (remote_set_transparent_ranges, + remote_get_noisy_reply, trace_start_command, trace_stop_command, + trace_status_command, finish_tfind_command, trace_find_pc_command, + trace_find_tracepoint_command, trace_find_line_command, + trace_find_range_command, trace_find_outside_command): Update. + + * remote.c (set_thread, remote_thread_alive, + remote_get_threadinfo, remote_get_threadlist, + remote_current_thread, remote_threads_info, + extended_remote_restart, get_offsets, remote_open_1, + remote_async_open_1, remote_wait, remote_async_wait, + remote_fetch_registers, check_binary_download, remote_write_bytes, + remote_read_bytes, remote_send, remote_detach, + remote_async_detach, remote_fetch_registers, + store_register_using_P, store_register_using_P, + remote_fetch_registers, remote_store_registers, putpkt_binary, + remote_insert_breakpoint, remote_remove_breakpoint, + compare_sections_command, remote_rcmd, packet_command, + remote_info_process, remote_query, remote_insert_watchpoint, + remote_search, remote_remove_watchpoint, + remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Update. + +Fri Dec 3 17:38:06 1999 Andrew Cagney + + * (read_frame): Add sizeof_buf parameter. Don't allow repeat when + first character. Always leave space at the end of the buffer. + Return size of packet or -1. + (getpkt): Update. Pass in PBUFSIZ. + +Thu Dec 2 17:14:53 1999 Andrew Cagney + + * ser-pipe.c: Include for memset(). + +1999-12-01 Jim Blandy + + * gdbtypes.c (builtin_type_v4si, builtin_type_v8qi, + builtin_type_v4hi, builtin_type_v2si): New SIMD types. + (build_gdbtypes): Initialize them. + (_initialize_gdbtypes): Gdbarch_swap them. + * gdbtypes.h (builtin_type_v4si, builtin_type_v8qi, + builtin_type_v4hi, builtin_type_v2si): Declare them. + + * findvar.c (read_register_bytes, write_register_bytes): Correctly + determine how the region the caller is writing overlaps with each + register's bytes. + + * value.h (struct value): Doc fixes. + + * valops.c (value_assign): Clarify error message. + +1999-12-01 Christopher Faylor + + * config/i386/tm-cygwin.h: Change tm-i386.h include back to tm-i386v.h. + +1999-12-01 Elena Zannoni + + * inf-loop.c (inferior_event_handler): In case of + INF_EXEC_CONTINUE, don't do all the regular continuations, but + just the intermediate ones. + + * infcmd.c (step_once): Add the continuation to the + intermediate_continuation list instead of the regular continuation + list. + + * utils.c (add_intermediate_continuation): New function, to add + continuations to the intermedite_continuation list. + (do_all_intermediate_continuations): New function, do all the + continuations in the intermediate list. + (discard_all_intermediate_continuations): New function, discard + all the continuations in the intermediate list. + (intermediate_continuation): New global list for use by step_1(). + + * defs.h: Export intermediate_continuation, + add_intermediate_continuation, do_all_intermediate_continuations, + discard_all_intermediate_continuations. + +1999-11-30 Christopher Faylor + + * win32-nat.c (mappings): Reorganize slightly for new uniform i386 + register configuration. + (do_child_fetch_inferior_registers): Handle special case floating point + registers. + (handle_output_debug_string): Handle cygwin-specific signals broadcast + from the cygwin DLL. + (handle_exceptions): Add code to properly allow continuation after a + CTRL-C. + (child_continue): Accept propagated "continue_status" which controls + how the inferior should be continued. + (get_child_debug_event): New function. + (child_wait): Use above function to handle debug events. + (child_create_inferior): Add more intelligent method for running the + inferior to the appropriate point before handing it off to the rest of + gdb. + (child_stop): Specifically send a CTRL-C to the debugged process. + (child_kill_inferior): Set global continue status here to cause + inferior to run to completion. + (child_resume): Eliminate code which attempts to decide how to continue + the inferior. This is now handled by child_continue. + * config/i386/tm-cygwin.h: Gut and reorganize for consistency with new + tm-i386.h. + + Patch from Egor Duda (deo@logos-m.ru) + * win32-nat.c (psapi_get_dll_name): New function. + (handle_load_dll): Correctly load DLL symbol tables after attaching to + a running pid. + +1999-11-30 Michael Snyder + + * infrun.c (handle_inferior_pid): revert 11-29 change: resuming + a thread other than the current thread with a signal. Apparently + target_resume with a specific pid, a specific signal, and no step + means to continue ALL threads but to only send the signal to one + (and not, as I had assumed, to continue only the specified thread). + * i386-linux-nat.c (fill_gregset): guard against invalid input. + +1999-11-30 Elena Zannoni + + * infcmd.c (step_once): New function. Used to do just one step + operation. + (step_1_continuation): New function. Figure out if we need to step + again before returning control to the user. + (step_1): If we are in asynchronous mode, don't do the for loop, + but rather delegate to continuations the task of repeating the + step operation. + + * utils.c (do_all_continuations): Copy the continuation list aside + before working on it. + + * target.h (enum inferior_event_type): Add new enum + INF_EXEC_CONTINUE. + + * inf-loop.c (inferior_event_handler): Handle new case + INF_EXEC_CONTINUE. + + * infrun.c (fetch_inferior_event): If we are in the middle of a + 'step n' type command, don't say that the execution is complete, + but that it will have to continue. + +1999-11-30 Kevin Buettner + + * utils.c (verror): Don't traverse va_list argument twice. Also, + removed extraneous va_end() call. + +1999-11-29 Michael Snyder + + * infrun.c (handle_inferior_pid): If a child thread stops on a + signal that we are ignoring, and GDB silently resumes the child, + resume ALL threads (not just the one that got the signal). All + threads are stopped, so all must be resumed. + (handle_inferior_event): on detecting a thread context switch, + swap infrun_state ONLY if both the old thread and the new one + are in the thread list. Otherwise state information will be lost! + Problem may arise with flaky back-ends. + +1999-11-29 Elena Zannoni + + * breakpoint.c (bpstat_stop_status): Don't decrease hit_count + in case of a wp that has not changed. + +Mon Nov 29 12:14:10 1999 Andrew Cagney + + * gdbtypes.c (init_simd_type): Make static. + + * configure.in (AC_CHECK_HEADERS): Check for . + * configure, config.h: Re-generate. + * inflow.c: Include + + * i386b-nat.c: Include "gdbcore.h". + * fork-child.c: Include "command.h". + + * remote.c (remote_cisco_section_offsets, + remote_start_remote_dummy, store_register_using_P, + remote_info_process, remote_cisco_open, remote_cisco_close, + readsocket, readtty, minitelnet, remote_cisco_wait, + init_remote_async_ops, init_extended_async_remote_ops, + set_remote_cmd), infrun.c (default_skip_permanent_breakpoint): Use + ISO-C syntax for function definition. + +Mon Nov 29 11:28:21 1999 Andrew Cagney + + * stabsread.c: Revert 1999-11-09 Jim Blandy + and 1999-11-08 Jim Blandy + . Broken on non-Linux targets. + +1999-11-26 Elena Zannoni + + * symfile.c (show_load_progress): Add total sent so far to the + information passsed to the hook users. + (generic_load): Collect total sent so far and pass that to the + progress hook. + + * defs.h (show_load_progress): Update. + +1999-11-25 Nick Clifton + + * coffread.c (coff_symfile_read): Treat "epoc-pe" targets as "pe" + targets. + * dbxread.c (dbx_read_symfile): Treat "epoc-pe" targets as "pe" + targets. + +Wed Nov 24 17:07:28 1999 Andrew Cagney + + * Makefile.in (init.c): Add SUBDIR_INIT_FILES so that sub + directories can hook in extra init files. + +1999-11-23 Elena Zannoni + + * defs.h (show_load_progress): Export. + + * symfile.c (show_load_progress): New hook for download. + (generic_load): Collect total size of executable to load. + Call progress hook when downloading. + +Thu Nov 18 11:54:24 1999 Andrew Cagney + + * arc-tdep.c (codestream_fill): Rewrite byte swap code using + function extract_unsigned_integer. + +Wed Nov 17 17:01:06 1999 Andrew Cagney + + * arm-xdep.c: #include "arm-opcode.h" -> "opcode/arm.h". + +1999-11-22 Jim Blandy + + * Makefile.in (i386-tdep.o): Update list of dependencies. + +1999-11-22 Jim Blandy + + * config/i386/tm-i386v.h (NUM_REGS, REGISTER_NAMES, + REGISTER_BYTES, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, + MAX_REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE): Deleted. All + of these should inherit identical or compatible values from + tm-i386.h, as long as you don't define HAVE_SSE_REGS or + HAVE_I387_REGS, which are new anyway. + +Mon Nov 22 21:39:27 1999 Andrew Cagney + + * target.c (do_target_signal_to_host): New function. Indicate of + the conversion was successful to the caller via an additional + parameter. + (target_signal_to_host_p): New function. Return non-zero if the + GDB signal exists on the host system. + (target_signal_to_host): Rewrite. Use do_target_signal_to_host. + * target.h (target_signal_to_host_p): Add declaration. Document + target_singal vs host signal vs target OS signal confusion. + + From 1999-11-08 Jimmy Guo : + * hppah-nat.c (require_notification_of_events): Start by ignoring + all signals and then adding back in ones we're interested in. + +Thu Nov 18 18:12:48 1999 Andrew Cagney + + * jv-typeprint.c (java_type_print_base), kod-cisco.c + (cisco_kod_open), kod.c (kod_set_os), xcoffread.c + (process_linenos), symfile.c (add_symbol_file_command), + remote-rdi.c (arm_rdi_open, rdilogfile_command), main.c + (captured_main), go32-nat.c (go32_create_inferior), exec.c + (exec_file_attach), corefile.c (core_file_command, + reopen_exec_file): Replace strdup with xstrdup. + +Mon Nov 22 12:02:47 1999 Andrew Cagney + + * bcache.c (print_bcache_statistics): Fix printf_filtered + arguments. + (print_percentage): Make function void. + +1999-11-21 Jim Blandy + + Make the bcache hash table grow. + * bcache.h (BCACHE_NUM_BUCKETS): Delete definition. + (struct bcache): Add new element: num_buckets. Make bucket be a + pointer to an array, not an array. + (free_bcache): New extern declaration. + * bcache.c (CHAIN_LENGTH_THRESHOLD): New constant. + (expand_hash_table): New function. + (bcache): Grow the hash table if the average chain length reaches + CHAIN_LENGTH_THRESHOLD. + (free_bcache): New function. + (print_bcache_statistics): Don't assume that the number of buckets + is constant any more. + (BSTRING_SIZE): Moved down to just above 'bcache' function, where + it's used. + * objfiles.c (free_objfile): Call free_bcache, instead of just + freeing the bcache's obstack directly. + * symfile.c (reread_symbols): Same. + +1999-11-20 Jim Blandy + + * bcache.c, bcache.h: Rewritten. New version imposes less memory + overhead, and has a more effective hash function, so it's probably + faster, too. + + * config/nm-linux.h: No need to check whether __STDC__ is + #defined --- GDB requires ANSI C now. + + * config/i386/nm-linux.h (linuxthreads_pid_to_str, + linuxthreads_prepare_to_proceed): Delete declarations --- they're + provided by config/nm-linux.h now. + +1999-11-19 Elena Zannoni + + * top.c (print_command_lines): Remove unused var. + +1999-11-19 Jim Kingdon + + Patch applied by Jim Blandy : + + Enable threads for all linux architectures: + * config/nm-linux.h: New file. + config/alpha/nm-linux.h, config/i386/nm-linux.h, + config/m68k/nm-linux.h, config/sparc/nm-linux.h: Use it. + * config/tm-linux.h: New file. + * config/i386/tm-linux.h, config/m68k/tm-linux.h, + config/sparc/tm-linux.h, config/alpha/tm-alphalinux.h: Use it. + * config/m68k/linux.mh, config/sparc/linux.mh, + config/alpha/alpha-linux.mh: Add linux-thread.o. + +1999-11-18 Tom Tromey + + * tracepoint.h (get_tracepoint_by_number): Updated declaration. + * tracepoint.c (trace_pass_command): Better error message. Fixed + logic when `all' not specified. + (get_tracepoint_by_number): Added `optional_p' argument. Fixed + all callers. + +Wed Nov 17 17:40:30 1999 Andrew Cagney + + * findvar.c (SWAP_FLOATING): Delete macro. Unused. + +1999-11-16 Mark Salter + + * monitor.c (monitor_supply_register): Initialize value to zero. + +1999-11-15 Eli Zaretskii + + (Patches applied by Jim Blandy ) + + Change DJGPP target use the common register layout in + config/i386/tm-i386.h. + * config/i386/tm-go32.h: #include "i386/tm-i386.h", not + "i386/tm-i386v.h". + (HAVE_I387_REGS): Define. + (HAVE_SSE_REGS): Undefine. + (NUM_FREGS, NUM_REGS, REGISTER_NAMES, FP_REGNUM, SP_REGNUM, + PS_REGNUM, PC_REGNUM, FP0_REGNUM, FPC_REGNUM, FPCWD_REGNUM, + FPSWD_REGNUM, FPTWD_REGNUM, FPIPO_REGNUM, FPIPS_REGNUM, + FPOOS_REGNUM, FPOPS_REGNUM, REGISTER_BYTES, REGISTER_BYTE, + REGBYTE_0, REGBYTE_10 REGBYTE_16, REGBYTE_24, REGBYTE_29, + REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, + MAX_REGISTER_VIRTUAL_SIZE, REGISTER_CONVERTIBLE): Definitions + deleted. + (i387_to_double, double_to_i387): Declarations deleted. + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + REGISTER_VIRTUAL_TYPE): Use definitions from + config/i386/tm-i386.h, unless LD_I387 is #defined. + + * go32-nat.c (go32_fetch_registers, store_register) + (go32_create_inferior, init_go32_ops): Replace fatal with + internal_error. + (sig_map): Map exception 7 to TARGET_SIGNAL_EMT. + + * utils.c (notice_quit): Doc fixes. + +1999-11-15 Kevin Buettner + + * gdbserver/server.h (initialize_low): Declare this target + specific function. + * gdbserver/server.c (main): Call initialize_low. + * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-sim.c, gdbserver/low-sparc.c, gdbserver/low-sun3.c + (initialize_low): Renamed from initialize. Also removed + initialization of inferior_pid. + (have_inferior_p): Removed. + * gdbserver/low-lynx.c (initialize_low): New function. + +1999-11-12 Fernando Nasser + + * remote-rdi.c: Fix indentation accordingly to GNU standards. + +Thu Oct 28 00:28:51 1999 Andrew Cagney + + * d10v-tdep.c (d10v_gdbarch_init): Make the d10v:ts3 the default. + +Tue Oct 26 09:57:29 1999 Andrew Cagney + + * gdbarch.sh: Re-sync with Cagney's earlier const change. + +Sun Oct 24 20:07:31 1999 Andrew Cagney + + * d10v-tdep.c (struct gdbarch_tdep): Replace nr_a_regs, + imap0_regnum, nr_imap_regs, dmap0_regnum, with dmap_register and + imap_register. + (R0_REGNUM, LR_REGNUM, PSW_REGNUM, NR_IMAP_REGS, NR_A_REGS): + Convert to enums. + (TS2_NR_A_REGS, TS2_NR_IMAP_REGS, TS3_NR_IMAP_REGS, + TS3_NR_A_REGS): Delete. + (d10v_ts2_dmap_register, d10v_ts3_dmap_register, + d10v_ts2_imap_register, d10v_ts3_imap_register): New functions. + (d10v_dmap_register, d10v_imap_register, + d10v_ts2_register_sim_regno, d10v_ts3_register_sim_regno, + show_regs): Update. + (remote_d10v_translate_xfer_address): Rewrite. Use + sim_d10v_translate_addr to translate addresses. + (d10v_gdbarch_init): Initialize tdep members dmap_register and + imap_register. + +Sun Oct 24 00:12:44 1999 Andrew Cagney + + * d10v-tdep.c (struct gdbarch_tdep): Declare. + (NR_IMAP_REGS, NR_DMAP_REGS, A0_REGNUM, NR_A_REGS): Redefine using + value in gdbarch_tdep. + (d10v_dmap_register, d10v_imap_register): Ditto. + (d10v_ts2_register_name, d10v_ts2_register_sim_regno): Rename + d10v_register_name and d10v_register_sim_regno + (enum ts3_regnums, d10v_ts3_register_name, + d10v_ts3_register_sim_regno, d10v_register_sim_regno): New. + (d10v_gdbarch_init): Configure registers and G packet according to + d10v/ts2 and d10v/ts3. + +Sat Oct 23 21:28:02 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (IMAP0_REGNUM, IMAP1_REGNUM, DMAP_REGNUM): + Delete macro. + (R0_REGNUM, LR_REGNUM, PSW_REGNUM, A0_REGNUM): Move from here. + * d10v-tdep.c: To here. + + * d10v-tdep.c: (NR_DMAP_REGS, NR_IMAP_REGS, NR_A_REGS): Define. + (d10v_dmap_register, d10v_imap_register): New functions. + (remote_d10v_translate_xfer_address): Make static. + (d10v_register_virtual_size): Use TYPE_LENGTH of + REGISTER_VIRTUAL_TYPE. + (d10v_register_byte, do_d10v_pop_frame, + remote_d10v_translate_xfer_address, show_regs, + d10v_register_raw_size): Ditto. + (d10v_register_virtual_type): Ditto. Use explicitly sized builtin + types. + +Sat Oct 23 19:08:39 1999 Andrew Cagney + + * d10v-tdep.c: Include "sim-d10v.h". + (enum ts2_regnums): Declare. + (d10v_register_sim_regno): New function. + + * config/d10v/tm-d10v.h: Delete pre multi-arch code. + (REGISTER_SIM_REGNO): Define. + (d10v_register_sim_regno): Declare. + +Sat Oct 23 16:39:34 1999 Andrew Cagney + + * gdbarch.c (initialize_current_architecture): Make ``choice'' + const. + +Wed Nov 10 16:10:22 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Fix typo in error message. + +Wed Nov 10 16:47:06 1999 Andrew Cagney + + * utils.c (error_last_message): Use gdb_file_xstrdup. + + * defs.h (verror, internal_verror): Declare. + + * utils.c (verror, internal_error): New functions. + (error, internal_error): Use verror / internal_verror. + (error_stream): Use gdb_file_xstrdup. Correctly handle %s in + error message body. + (error_init): Use mem_fileopen. + + * corefile.c (memory_error): Use mem_fileopen instead of + tui_sfileopen. Don't call error_begin. + * remote-sim.c (gdb_os_error): Rewrite using verror. Don't call + error_begin. + +Wed Nov 10 14:21:43 1999 Andrew Cagney + + * defs.h (gdb_file_xstrdup): New function. + * utils.c (gdb_file_xstrdup, do_gdb_file_xstrdup): Implement. + +1999-11-09 Stan Shebs + + * exec.c (exec_file_attach), irix5-nat.c, osfsolib.c, solib.c + (info_sharedlibrary_command), pa64solib.c + (pa64_sharedlibrary_info_command), somsolib.c + (som_sharedlibrary_info_command): Replace "exec file" with + "executable file" in messages. + +1999-11-09 Jim Blandy + + Finish the job attempted by the previous change. + * stabsread.c (read_range_type): Make n2 and n3 LONGEST. Adjust + the various tests that check for maximum values, bit counts, etc. + In the long run, it might have been simpler just to give GDB bignums. + +Tue Nov 9 18:34:13 1999 Andrew Cagney + + * defs.h (gdb_file_put): Add parameter write. + (gdb_file_put_method_ftype): New typedef. + * utils.c (gdb_file_put, mem_file_put, tui_file_put, + null_file_put): Update. + + * utils.c (struct gdb_file): Add field magic. + (gdb_file_new): Initialize. + (gdb_file_data): Verify. + + * utils.c (mem_file_fputs): Delete. Replaced by. + (mem_file_write): New function. Rewrite mem_file. + (mem_file_new): Update. + +Tue Nov 9 17:51:12 1999 Andrew Cagney + + * remote-sim.c (gdb_os_write_stdout): Use gdb_file_write. + (gdb_os_flush_stdout): Flush gdb_stdtarg instead of gdb_stdout. + +Tue Nov 9 15:33:43 1999 Andrew Cagney + + * Makefile.in (procfs.o): Don't compile with -Werror for moment. + * sol-thread.c (info_cb): Move assignments to outside of if + statement. + (info_cb): Use paddr when printing addresses. + +1999-11-08 Jim Blandy + + * defs.h (ULONGEST_MAX, LONGEST_MAX): New definitions. + * stabsread.c (read_huge_number): Parse and return LONGEST values. + +1999-11-08 Mark Salter + + * utils.c (floatformat_to_doublest): Fix conversion of denormals. + +Mon Nov 8 20:14:13 1999 Andrew Cagney + + * remote.c (get_memory_read_packet_size): For moment limit read + size to PBUFSIZ. + (putpkt_binary): Remove check on packet size. Allocate ``cnt + + 6'' characters for output buffer. + (get_memory_packet_size): When packet size is ``fixed'' and the + size is zero, return MAX_REMOTE_PACKET_SIZE. Check that packets + are at least MIN_REMOTE_PACKET_SIZE. + (set_memory_packet_size): Print usage when ``args'' is NULL. + +Mon Nov 8 18:18:07 1999 Andrew Cagney + + * defs.h, utils.c (gdb_file_deallocate): Delete. + * corefile.c (memory_error): Use make_cleanup_gdb_file_delete. + + * defs.h, utils.c (gdb_file_init_astring): Delete. + + * defs.h, utils.c (tui_file_get_strbuf): Rename + gdb_file_get_strbuf. + (tui_file_adjust_strbuf): Rename gdb_file_adjust_strbuf. + * utils.c (error_stream, error_last_message): Update. + +Mon Nov 8 16:28:00 1999 Andrew Cagney + + * defs.h, utils.c (gdb_fclose): Delete. + * defs.h (make_cleanup_gdb_file): Declare. + * utils.c (make_cleanup_gdb_file_delete, do_gdb_file_delete): New + functions. + + * symmisc.c (maintenance_print_symbols, + maintenance_print_psymbols, maintenance_print_msymbols): Use + make_cleanup_gdb_file_delete. + * serial.c (do_serial_close): Use gdb_file_delete. + +Mon Nov 8 14:16:32 1999 Andrew Cagney + + * defs.h (gdb_file_write_ftype, set_gdb_file_write, + gdb_file_write): Declare. + + * utils.c (struct gdb_file): Add to_write member. + (gdb_file_write, set_gdb_file_write): New functions. + (gdb_file_new): Initialize the write method. + (null_file_write): New function. + (null_file_fputs, null_file_write): ``write'' calls ``fputs'' and + ``fputs'' calls ``write'' when the other is implemented. + (stdio_file_new): Initialize write method. + (stdio_file_write): New function. + + * utils.c (putchar_unfiltered, fputc_unfiltered): Use + gdb_file_write. + +Thu Nov 4 11:59:24 1999 Andrew Cagney + + * remote.c (get_memory_packet_size, set_memory_packet_size, + build_memory_packet_size): New functions. Set / compute / update + the size of a memory read / write packet. + (set_memory_read_packet_size, set_memory_write_packet_size): New + functions. Verify changes to the memory read / write packet size. + (prefered_memory_write_packet_size, + current_memory_write_packet_size, prefered_memory_read_packet_size, + current_memory_read_packet_size): New variables. + (get_memory_read_packet_size, get_memory_write_packet_size): New + functions. Determine the current memory read/write packet size. A + function is needed as ``current_register_packet_size'', a variable + is used in the calculation. + (register_remote_packet_sizes, build_remote_packet_sizes): + Initialize packet sizes according the current architecture. + (remote_fetch_registers, remote_write_bytes, remote_read_bytes, + build_remote_gdbarch_data): Update. + (_initialize_remote): Add the commands ``set remote + memory-read-packet-size'' and ``set remote + memory-write-packet-size''. Deprecate ``set remotepacketsize''. + +Sun Nov 7 18:09:54 1999 Andrew Cagney + + * target.h, target.c (target_load): Replace macro with a function. + + * config/i960/tm-nindy960.h (ADDITIONAL_OPTION_HANDLER): Rewrite + replacing SET_TOP_LEVEL with catch_command_errors. + (nindy_open): Add extern declaration. + + * top.h (top_level_val, SET_TOP_LEVEL): Delete. + * defs.h (catch_command_errors_ftype, catch_command_errors): Add + declarations. + * top.c (struct captured_command_args): Declare. + (do_captured_command, catch_command_errors): New functions. Call + the command function via catch_errors. + (catch_errors): Add more comments. + + * main.c (struct captured_main_args): Define. + (captured_main): New. Rewrite main. Replace SET_TOP_LEVEL with + calls to catch_command_errors. Delete calls to do_cleanups which + are now handled by catch_errors. Call the command loop via + captured_command_loop and catch_errors. + (main): Move code body to captured_main. Call captured_main via + catch_errors. + (captured_command_loop): New function. Wrap call to command_loop. + +1999-11-05 Elena Zannoni + + * procfs.c (unconditionally_kill_inferior) (init_procinfo) + (create_procinfo) (procfs_exit_handler) (proc_set_exec_trap) + (do_attach) (do_detach) (procfs_wait) (set_proc_siginfo) + (procfs_resume) (info_proc_mappings) + (modify_run_on_last_close_flag) (procfs_lwp_creation_handler) + (procfs_thread_alive): Remove unused variables, conditionalize + vars declarations to eliminate compiler warnings. + +Fri Nov 5 16:32:04 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LENGTH, + CALL_DUMMY_STACK_ADJUST, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS, PUSH_DUMMY_FRAME, FIX_CALL_DUMMY, + STORE_STRUCT_RETURN), d10v-tdep.c (print_insn), d30v-tdep.c + (print_insn), target.h (SOFTWARE_SINGLE_STEP): Call internal_error + instead of abort. + + * utils.c (stdio_file_delete, stdio_file_flush, stdio_file_fputs, + stdio_file_isatty, tui_file_delete, tui_file_isatty, + tui_file_rewind, tui_file_put, gdb_file_init_astring, + gdb_file_get_strbuf, gdb_file_adjust_strbuf): Call internal_error + instead of error. + +1999-11-04 Kevin Buettner + + * remote.c (build_remote_gdbarch_data): Set remote_address_size... + (_initialize_remote) ...but don't set it here. Also, tie + remote_address_size to the target architecture via call to + register_gdbarch_swap(). + +1999-11-04 Jeff Holcomb + + * remote-rdp.c (send_rdp): Fix typo. + +1999-11-04 Michael Snyder + + * breakpoint.c (commands_command): remove unprotected ref to + args pointer (which may be null). + +1999-11-04 Elena Zannoni + + * infcmd.c (print_return_value): New function. Print return value + from finish command. + (finish_command_continuation): Call print_return_value(). + (finish_command): Ditto. + +1999-11-04 Elena Zannoni + + * infrun.c (handle_inferior_event): Add calls to print_stop_reason() + for end of stepping range cases. + +Thu Nov 4 17:46:36 1999 Andrew Cagney + + * event-loop.c (gdb_do_one_event): Delete SET_TOP_LEVEL call. + Move error code to start_event_loop. + (start_event_loop): Call gdb_do_one_event via catch_errors. + Handle caught errors. + +Thu Nov 4 17:36:27 1999 Andrew Cagney + + * breakpoint.c (get_number): Delete static declaration. + +1999-11-03 Michael Snyder + + * breakpoint.c (map_breakpoint_numbers): use a match count + instead of a goto. + +1999-11-03 Nick Clifton + + * config/mcore/tm-mcore.h (TARGET_BYTE_ORDER_DEFAULT): Change to + little endian. + +1999-11-02 Michael Snyder + + * target.h (target_new_objfile) replace macro with function pointer + hook. Any module needing notification of new objfiles may claim + this hook. Multiple notification clients must cooperate by saving + the previous pointer (if any) and calling it. + * sol-thread.c (_initialize_sol_thread): point new_objfile hook at + sol_thread_new_objfile. Save old pointer if any. + (sol_thread_new_objfile): call old owner of event hook if any. + * hpux-thread.c (_initialize_hpux_thread, hpux_thread_new_objfile): + ditto. + * linux-thread.c (_initialize_linux_thread, linux_thread_new_objfile): + ditto. + symfile.c (symbol_file_add, clear_symtab_users) call the new + function pointer hook, instead of the macro. + * config/sparc/nm-sun4sol2.h: remove define of target_new_objfile. + * config/pa/nm-hppah.h: ditto. + * config/i386/nm-i386sol2.h: ditto. + * config/i386/nm-linux.h: ditto. + +1999-11-02 Tom Tromey + + * NEWS: Mention breakpoint ranges. + +1999-11-02 Fernando Nasser + + * rdi-share/devsw.c (openLogFile): Change a call to setlinebuf() + to an equivalent call to setvbuf() to prevent an unresolved + reference when building on cygwin. + +1999-11-02 Elena Zannoni + + * infrun.c (inferior_stop_reason): New enum, explicitly name the + resons for which the inferior stops. + (handle_inferior_event): Case TARGET_WAITKIND_EXITED: replace + printf's with call to print_stop_reason(). Case + TARGET_WAITKIND_SIGNALLED: Same. When stopped by random signal: + Same. + (print_stop_reason): New static function. Print relevant messages + when stopping. + +1999-11-02 Fernando Nasser + + * rdi-share/Makefile.in: Rename dependency from bytesex.o to + angel_bytesex.o. + +1999-11-02 Fernando Nasser + + * kod.c: Remove prototype for show_kod() which is no longer used. + +1999-11-01 Michael Snyder + Tom Tromey + + * tracepoint.h (get_tracepoint_by_number): Updated declaration. + * tracepoint.c (get_tracepoint_by_number): Added `multi_p' + argument. Now uses get_number_or_range and get_number. + (trace_pass_command): Allow a tracepoint range. + * breakpoint.h (get_number, get_number_or_range): Declare. + * breakpoint.c (get_number_trailer): New function. + (get_number): Rewrote to use get_number_trailer. + (get_number_or_range): New function. + (condition_command): Check `get_number' return value. + (commands_command): Likewise. + (ignore_command): Likewise. + (map_breakpoint_numbers): Use get_number_or_range. + +1999-11-01 Fernando Nasser + + * remote-rdi.c (_initialize_remote_rdi): Make log commands + subcommands of maintenance. Remove improper identation from + command documentation. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/etherdrv.c (fetch_ports): Print out additional TCP/IP + port information in ethernet driver if the DEBUG flag is set. + * rdi-share/hostchan.c (Adp_addToQueue): Changed #if statement in + hostchan.c to avoid compiler complaint when DEBUG macro was + undefined. + * rdi-share/unixcomm.c (Unix_ReadSerial): Print system error code + if read() system call fails. + +1999-11-01 Fernando Nasser + + * rdi-share/bytesex.h: Deleted. Conflicts with a system header file + on some systems like Linux Red Hat 5.2. + * rdi-share/angel_bytesex.h: New file. Replaces the above. + * rdi-share/bytesex.c: Deleted. Name changed to match the header + mentioned above (this is the implementation file). + * rdi-share/angel_bytesex.c: New file. Replaces the above. + * rdi-share/Makefile.am: Reflect above changes. + * rdi-share/Makefile.in: Reflect above changes. + +1999-11-01 Jimmy Guo + + * annotate.c (breakpoints_changed, annotate_ignore_count_change, + annotate_stopped): Provide annotation for breakpoint ignore_count + changes but only provide once at annotate_stopped time for + sucessive ignore_count triggered breakpoint changes, to make GUIs + happy yet lazy. + * annotate.h (annotate_ignore_count_change): Declare. + * breakpoint.c (bpstat_stop_status): Call + annotate_ignore_count_change when ignore_count changes. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/ardi.c (HandleStoppedMessage): Changed code that + handles the "stop" message so that unrecognized errors are + returned as "Error" rather than "NoError". The old code resulted + in some error conditions not being reported to the user. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (arm_rdi_open): Added a call to Adp_CloseDevice() + before attempting to open a connection. This allows the user to + issue the "target rdi" command multiple times (in case the user + needs to change options or re-initialize the link). + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * rdi-share/endian.h: Deleted. Name clash with + /usr/include/endian.h. This was causing the wrong byte order to + be used by htons() in the RDI Ethernet driver. + * rdi-share/angel_endian.h: New file. Replaces the above. + * rdi-share/ardi.c: Replace include to reflect the above change. + * rdi-share/etherdrv.c: Ditto. + * rdi-share/hsys.c: Ditto. + * rdi-share/msgbuild.c: Ditto. + * rdi-share/params.c: Ditto. + * rdi-share/rx.c: Ditto. + * rdi-share/tx.c: Ditto. + * rdi-share/Makefile.am: Reflect above changes. + * rdi-share/Makefile.in: Reflect above changes. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added command + rdilogenable. Allows the user to log ADP packets that are + exchanged between gdb and the target. Both the raw packets are + shown and some minimal decoding is attempted. Default state is + disabled. + (_initialize_remote_rdi): Added command rdilogfile. Allows the + user to specify the filename to which the ADP packet log is to be + written. Default state is "rdi.log". + (rdilogenable_command): New function. Related to rdilogenable. + (rdilogfile_command): New function. Related to rdilogfile. + * rdi-share/devsw.c (openLogFile, closeLogFile, + DevSW_SetLogEnable, DevSW_SetLogfile, dumpPacket): New + functions. Implement logging. + (DevSW_Read): Log if requested. + (DevSW_Write): Log if requested. + * rdi-share/devsw.h: Add prototypes for DevSW_SetLogfile and + DevSW_SetLogEnable. + * rdi-share/hostchan.c (Adp_SetLogEnable, Adp_SetLogfile): New + functions. Related to rdilogenable and rdilogfile. + * rdi-share/hostchan.h: Add prototypes for the above functions. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (arm_rdi_open): Added code to split the arguments + to the 'target rdi' command at the first space. The first word is + passed to Adp_OpenDevice as the device name, the tail is passed as + the "arguments" parameter. This allows user specified baud rates + -- among other things that still need to be documented [e.g. (gdb) + target rdi /dev/ttyS1 19200]. NB: With very limited testing, the + ARM Embedded-ICE seems to run at 19.2K (though it is reported to + be unreliable above 9600), and the EPI Jeeni seems to run at + 38.4K. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added the boolean + set/show variable rdiromatzero. Should be set to true if the + target has ROM at address 0. If true, then gdb will not tell the + target to trap fetches to interrupt vectors (which are located at + address 0). Using the Angel monitor, attempting to set + breakpoints in ROM is an error. Using JTAG debugging of the + ARM7TDMI, attempting to set more than two breakpoints in ROM is an + error. Default state is false (vectors will be trapped) -- used to + be hardwired false. + +1999-11-01 Fernando Nasser + + From Grant Edwards : + * remote-rdi.c (_initialize_remote_rdi): Added the boolean + set/show variable rdiheartbeat. This enables or disables ADP + link-check "heartbeat" packets sent by the host to the target. + Heartbeat packets can cause both the ARM Embedded-ICE and the EPI + Jeeni to malfunction: If a heartbeat packet is received by the + target while it is sending a packet, that packet will be aborted, + and the ADP protocol engine then gets very confused. Default state + is off -- used to hardwired on. + +1999-10-29 Kevin Buettner + + * i386-linux-nat.c (dummy_sse_values): Also define for systems + without PTRACE_GETXFPREGS. + +1999-10-29 Jim Blandy + + Hardware watchpoint fix from Eli Zaretskii : + + * breakpoint.c (insert_breakpoints): Fetch the value of the + expression we need to watch. If it's a lazy memory lvalue, then + we need to fetch it now, before we start the inferior again. + (insert_breakpoints, remove_breakpoint, bpstat_stop_status, + can_use_hardware_watchpoint): Only those values representing + memory we actually fetched need to be watched. + +1999-10-29 Elena Zannoni + + * breakpoint.h (bpstat_print): Return 'enum print_stop_action', + not 'int'. + +1999-10-29 Jim Blandy + + * acconfig.h: Fix entries for HAVE_STRUCT_SAVE_STATE_T, + HAVE_STRUCT_MEMBER_SS_WIDE, and HAVE_PTRACE_GETXFPREGS. + * config.h.in: Regenerated. + +1999-10-28 Jim Blandy + + Fixes for warnings from Andreas Jaeger . + * linux-thread.c (linuxthreads_sig_restart, + linuxthreads_sig_cancel, linuxthreads_sig_debug): Add missing + initializers to avoid gcc warnings. + (resume_thread): Add braces as recommended by gcc -Wparentheses. + (stop_thread): Likewise. + (linuxthreads_wait): Likewise. + (linuxthreads_find_trap): Likewise. + +1999-10-28 Elena Zannoni + + * infcmd.c: Fix typo. + +1999-10-28 Jim Blandy + + * gdbtypes.c (init_simd_type): The upper bound to + create_range_type is inclusive, not exclusive. + + Add preliminary support for the Pentium-III's Streaming SIMD + Extensions --- specifically, the ability to read the XMM + registers. + * Configure.in: Check for PTRACE_GETXFPREGS, and #define + HAVE_PTRACE_GETXFPREGS if we have it. + * acconfig.h: Add entry for HAVE_PTRACE_GETXFPREGS. + * configure, config.in: Regenerated. + * config/i386/tm-linux.h (HAVE_SSE_REGS): #define, iff the + configure script #defined HAVE_PTRACE_GETXFPREGS. + (REGISTER_VIRTUAL_TYPE): Provide the proper types for the pointer + registers and the SSE registers. + * i386-linux-nat.c (GETREGS_SUPPLIES, GETFPREGS_SUPPLIES, + GETXFPREGS_SUPPLIES): New macros. + (have_ptrace_getxfpregs): New variable. + (FPREGSET_T_FPREG_ADDR): Renamed from FPREGSET_T_FPREG_OFFSET. + (supply_fpregset, convert_to_fpregset): Callers changed. + (supply_xfpregset, convert_to_xfpregset, fetch_xfpregs, + store_xfpregs, dummy_sse_values): New functions. + (fetch_inferior_registers, store_inferior_registers): Use the + *_SUPPLIES macros to decide how to fetch a given register. Use + {fetch,store}_xfpregs and dummy_sse_values to provide access to + the SSE registers, on systems where they are present. + +1999-10-28 Kevin Buettner + + * gdbserver/gdbreplay.c (config.h, errno.h): Include. + (perror_with_name): Don't declare sys_nerr, sys_errlist, or errno + when STDC_HEADERS is defined. + * gdbserver/utils.c (STDC_HEADERS): Likewise. + + * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, + gdbserver/low-lynx.c, gdbserver/low-sim.c, gdbserver/low-sparc.c, + gdbserver/low-sun3.c (my_registers): Declare. + (registers): Changed from array type to pointer type in order + to match declaration in inferior.h in main gdb sources. + * gdbserver/server.h (registers): Likewise. + * gdbserver/remote-utils.c (outreg): Removed declaration of + registers[]. + + * gdbserver/low-linux.c (fetch_register): Changed PTRACE_PEEKUSR to + PTRACE_PEEKUSER. [Note the missing 'E'.] + (store_inferior_registers): Likewise for PTRACE_POKEUSER. + + * gdbserver/low-linux.c (sys/ptrace.h): Move include to + avoid conflict with #defines coming from . + (sys/reg.h): Only include when HAVE_SYS_REG_H is defined. + (PTRACE_XFER_TYPE): Provide a default type in case + the target doesn't define it. + (fetch_register, read_inferior_memory, write_inferior_memory): + Use PTRACE_XFER_TYPE instead of int for ptrace() transfers. + (I386_GNULINUX_TARGET): Use #ifdef with this symbol instead + of assuming it's an x86 target when it's not a m68k target. + (i386_register_raw_size, i386_register_byte): Define these arrays + to match other changes that've been occuring to the x86 target + in the main gdb sources. + (initialize_arch): New (static) function for doing target arch + specific initializations. + + * gdbserver/server.h (MAXBUFBYTES, PBUFSIZ): New defines + [actually stolen from remote.c]. + * gdbserver/remote-utils.c (putpkt): Use PBUFSIZ to make + sure that buffer is big enough. + * gdbserver/server.c (main): Ditto. + + * gdbserver/remote-utils.c (outreg): Allow register numbers + bigger than 255. + (prepare_resume_reply): Provide alternate mechanism, + GDBSERVER_RESUME_REGS, for defining list of registers to send + to gdb. + * gdbserver/Makefile.in (INTERNAL_CFLAGS): Swapped order of + INCLUDE_CFLAGS and BFD_CFLAGS to ensure that gdb's config.h + gets found before bfd's config.h. Also added -DGDBSERVER + switch. + (INCLUDE_CFLAGS): Added -I.. . + +1999-10-27 Nick Clifton + + * arm-tdep.c (THUMB_BE_BREAKPOINT): Change to 0xbebe. + (THUMB_LE_BREAKPOINT): Change to 0xbebe. + +Mon Oct 25 18:22:06 1999 Andrew Cagney + + * remote.c: Document future of compare_sections_command. + (remote_insert_breakpoint, remote_remove_breakpoint, + remote_insert_watchpoint, remote_insert_watchpoint, + remote_remove_watchpoint, remote_insert_hw_breakpoint, + remote_remove_hw_breakpoint): Use alloca instead of GCC's dynamic + array feature. + +Mon Oct 25 18:08:31 1999 Andrew Cagney + + * gdbarch.h (REGISTER_GDBARCH_SWAP): Define. + * gdbarch.sh: Update. + +Sat Oct 23 16:39:34 1999 Andrew Cagney + + * gdbarch.c (initialize_current_architecture): Make ``choice'' + const. + +1999-10-22 Tom Tromey + + * gdbarch.sh: Updated for gdbarch.[ch] changes. + * top.c (gdb_init): Call initialize_current_architecture. + * gdbarch.h (initialize_current_architecture): Declare. + * gdbarch.c (initialize_current_architecture): New function. + +1999-10-21 Michael Snyder + + * utils.c (chars_per_line): fix typo in comment. + +1999-10-21 Elena Zannoni + + * breakpoint.h (bp_print_how): New enum, used for deciding how to + print bpstat information when we stop, instead of having 3 + different functions. + (struct bpstat): Change print_it field to be an enum instead of a + function pointer. + + * breakpoint.c (print_it_typical): New name for print_it_normal(). + (print_bp_stop_message): New function. High level routine for + printing of why we stopped. + (bpstat_print): Call print_bp_stop_message instead of using the + print_it function pointer. + (print_it_done, print_it_noop): Delete these functions. + +1999-10-21 Elena Zannoni + + * breakpoint.c (print_it_normal): Reorganize into a switch + statement. + +1999-10-21 Elena Zannoni + + * Makefile.in (event-top.o): Add dependency on target.h. + * event-top.c: Make dependency on target.h explicit. + + * breakpoint.c (bpstat_print): Clean up logic. Remove recursion. + (catch_exec_command_1): Surround with appropriate ifdef's, + to avoid compiler warnings. + (catch_fork_command_1): Ditto. + +1999-10-20 Jim Blandy + + * Makefile.in (dwarf2read.o): Note that this depends on bfd/elf-bfd.h. + (elf_bfd_h): New variable. + +1999-10-19 Jim Blandy + + * config/i386/tm-i386.h (REGISTER_NAMES): Change names of FPU + instruction and operand pointer registers to improve consistency, + following J. T. Conklin's suggestions. + +1999-10-18 Elena Zannoni + + * breakpoint.h: Change return type of field print_it of struct + bpstats to enumeration print_stop_action. + Define new enumeration print_stop_action. + + * breakpoint.c (print_it_normal): Change return type to + enumeration type print_stop_action. Handle bp_shlib_event here + instead of in normal_stop(). + (bpstat_print): Change return type to enumeration type + print_stop_action. + (print_it_done): Ditto. + (print_it_noop): Ditto. + + * infrun.c (is_internal_shlib_eventpoint): Delete this function. + (stopped_for_internal_shlib_event): Delete. + (normal_stop): Move logic to handle bp_shlib_event from here to + print_it_normal(). Use switch to handle return value from + bpstat_print(). + +Mon Oct 18 17:32:51 1999 Andrew Cagney + + * symfile.c (generic_load): Rewrite. Make the size of each + chunk/block write a run-time option. Check for quit_flag. + Use target_write_memory_partial for downloads. + +1999-10-18 Jim Blandy + + Change Linux x86 register support to use the new tm-i386.h layout. + * config/i386/tm-linux.h (HAVE_I387_REGS): #define this, so we get + the full set of FP register definitions from tm-i386.h. + (REGISTER_RAW_SIZE, REGISTER_NAMES, REGISTER_BYTES, REGISTER_BYTE, + MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, NUM_REGS, + NUM_FREGS): Remove #undefs and subsequent redefinitions: we're + using the values from tm-i386.h now. + (FPSTART_REGNUM, FPCONTROL_REGNUM, FPSTATUS_REGNUM, FPTAG_REGNUM, + FPDATA_REGNUM, FPEND_REGNUM, FPENV_BYTES, FPREG_RAW_SIZE, + FPREG_BYTES): Deleted. + (TARGET_LONG_DOUBLE_BIT): Deleted. + (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Redefine these only if LD_I387 is #defined. + * i386-linux-nat.c (convert_to_gregset, convert_to_fpregset, + FPREGSET_T_FPREG_OFFSET): New functions and macros. + (supply_gregset, fill_gregset, supply_fpregset, + fill_fpregset, fetch_fpregs, store_fpregs, fetch_regs, + store_regs, fetch_inferior_registers, store_inferior_registers): + Adjusted to use new macros from tm-i386.h. + + * config/i386/tm-i386.h: Provide a decent x86 FPU description here, + so that the various i386 targets can share more FPU handling code. + (NUM_GREGS): New macro. + (NUM_SSE_REGS): New macro, dependent on HAVE_SSE_REGS + (NUM_FREGS): Depend on HAVE_I387_REGS. + (NUM_REGS, REGISTER_BYTES): Define in terms of NUM_GREGS, + NUM_FREGS, and NUM_SSE_REGS. + (MAX_NUM_REGS): New macro. + (REGISTER_NAMES): Expand name list with FPU control registers and + SSE registers. + (FP7_REGNUM, FCTRL_REGNUM, FSTAT_REGNUM, FTAG_REGNUM, FCS_REGNUM, + FCOFF_REGNUM, FDS_REGNUM, FDOFF_REGNUM, FOP_REGNUM, + FIRST_FPU_CTRL_REGNUM, LAST_FPU_CTRL_REGNUM): New macros, more + fully describing the FPU register set. + (XMM0_REGNUM, XMM7_REGNUM, MXCSR_REGNUM): New macros, describing + the SSE register set. + (IS_FP_REGNUM, IS_SSE_REGNUM, FPU_REG_RAW_SIZE, SIZEOF_GREGS, + SIZEOF_FPU_REGS, SIZEOF_FPU_CTRL_REGS, SIZEOF_SSE_REGS): New + convenience macros. + (REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Turn + these into tables, since the register sizes are pretty irregular. + (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New extern declarations. + (TARGET_LONG_DOUBLE_BIT): Define. + (MAX_REGISTER_RAW_SIZE): Bump to 16, for the SSE registers. + (REGISTER_VIRTUAL_TYPE, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): New macros + for handling floating-point registers. + (i387_to_double, double_to_i387): New extern declarations. + * i386-tdep.c (i386_register_byte, i386_register_raw_size, + i386_register_virtual_size): New arrays. + (_initialize_i386_tdep): Initialize i386_register_byte and + i386_register_virtual_size. + + * i386-tdep.c (_initialize_i386_tdep): Move new_cmd to a block + created specially for its use. + +Mon Oct 18 23:36:58 1999 Andrew Cagney + + * symfile.c (generic_load): Cleanup the validate code - remove + #ifdef, use paddr to print address. + (validate_download): Static, replace VALIDATE_DOWNLOAD + + * symfile.c (generic_load): Use strtoul to scan the optional load + offset. Allocate a filename of the correct size. + +Mon Oct 18 17:32:51 1999 Andrew Cagney + + * symfile.c (generic_load): Don't filter output. Use + print_transfer_performance for summary. Use paddr for addresses. + (print_transfer_performance): New function. Includes write count. + (report_transfer_performance): Call + print_transfer_performance. Deprecate. + + * defs.h (print_transfer_performance): Add declaration. + (generic_load): Move declaration to here. + * symfile.h (generic_load): From here. + +Mon Oct 18 16:29:52 1999 Andrew Cagney + + * remote.c (remote_write_bytes): Re-write. Transfer a single + packet and then return the that packets byte size. + +Sun Oct 17 15:09:00 1999 Andrew Cagney + + * remote.c (remote_console_output): Flush gdb_stdtarg after + processing an ``O'' packet. + * remote.h (remote_console_output): Strip PARAMS. + +Sun Oct 17 15:12:33 1999 Andrew Cagney + + * target.c (target_xfer_memory_partial): New function. Simple + implementation of partial memory reads. + (target_read_memory_partial): New function. Replaces old + target_read_memory_partial. + (target_write_memory_partial): New function. + * target.h: Update. + + * valprint.c (partial_memory_read): New function, based on old + memory_read_partial. Implement partial memory reads the way that + val_print_string likes. + (val_print_string): Use partial_memory_read. + +Sun Oct 17 13:58:56 1999 Andrew Cagney + + * defs.h (ui_load_progress_hook): Add declaration. + * dsrec.c (ui_load_progress_hook): Delete extern declaration. + + * symfile.c (ui_load_progress_hook): Make first argument const. + (generic_load): Don't cast the result of bfd_get_section_name. + Replace ``sect'' with ``sect_name'', use consistently. + +1999-10-15 Jim Blandy + + Add beginnings of support for SIMD register types. + * gdbtypes.c (init_simd_type): New function for building + types for registers consisting of arrays of objects. + (builtin_type_v4sf): New built-in type. + (build_gdbtypes): Initialize it. + (_initialize_gdbtypes): Arrange for gdbarch swapping. + * gdbtypes.h (builtin_type_v4sf): Add external decl. + +Fri Oct 15 18:20:33 1999 Andrew Cagney + + * remote-hms.c: Commented out H8 code. + +Fri Oct 15 17:46:39 1999 Andrew Cagney + + * dcache.c (dcache_p): Rename variable remote_dcache. Make + static. + (_initialize_dcache): Fix description of ``set remotecache''. + Cache is OFF by default. + +1999-10-13 Jim Blandy + + * valops.c (value_push): Don't forget to initialize container_len. + +Wed Oct 13 17:58:20 1999 Andrew Cagney + + * utils.c (tui_file_flush): Don't call flush_hook. Don't try to + flush ``astring''. + * gdb-events.sh: Update + * top.c (flush_hook): Delete. + +1999-10-13 Kevin Buettner + + * mem-break.c (memory_insert_breakpoint, + memory_remove_breakpoint): Added missing return statements. + +Wed Oct 13 20:53:42 1999 Andrew Cagney + + * utils.c (mem_fileopen, mem_file_delete, mem_file_new, + mem_file_rewind, mem_file_put, mem_file_fputs): New functions. + * defs.h (mem_fileopen): Declare. + +1999-10-13 Kevin Buettner + + * mem-break.c (default_memory_insert_breakpoint): Renamed from + memory_insert_breakpoint. + (default_memory_remove_breakpoint): Renamed from + memory_remove_breakpoint. + (memory_insert_breakpoint, memory_remove_breakpoint, + MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT): New + wrappers. + * target.h (default_memory_remove_breakpoint, + default_memory_insert_breakpoint): Added declarations. + * gdbarch.sh (MEMORY_INSERT_BREAKPOINT, MEMORY_REMOVE_BREAKPOINT): + New methods. + * gdbarch.h, gdbarch.c (MEMORY_INSERT_BREAKPOINT, + MEMORY_REMOVE_BREAKPOINT, gdbarch_memory_insert_breakpoint, + gdbarch_memory_remove_breakpoint, set_gdbarch_memory_insert_breakpoint, + set_gdbarch_memory_remove_breakpoint) : Generated from gdbarch.sh. + +Wed Oct 13 19:15:51 1999 Andrew Cagney + + * defs.h: Remove PARAMS from all declarations. Re-indent. Clean + up the gdb_file declarations. + +Tue Oct 12 12:19:07 1999 David Taylor + + * i386-linux-nat.c (supply_fpregset, fill_fpregset): copy + from/to start of fpregsetp not start of st_space as the first + stuff we copy is the FP control registers not the actual FP values. + +1999-10-12 Fernando Nasser + + * eval.c (evaluate_subexp_standard): Fix gdb invocation of + inferior C functions when debugging C++ code. + * valops.c (find_overload_match): Ditto. + * symtab.c (make_symbol_overload_list): Ditto. + +1999-10-11 Jim Blandy + + * config/pa/tm-hppa.h (SYMBOLS_CAN_START_WITH_DOLLAR): It's not + enough to #define this; you have to give it a non-zero value. + +1999-10-11 Jim Blandy + + Fix from Jim Kingdon , with tweaks to make it + gdbarch- and bigendian-friendly: + * valops.c (PARM_BOUNDARY): If not #defined, default to zero. + (value_push): If PARM_BOUNDARY is not zero, align arguments to + that boundary. + * config/i386/tm-i386.h: Define PARM_BOUNDARY. + +Mon Oct 11 14:23:55 1999 Fred Fish + + * config/mips/tm-irix3.h (PS_REGNUM): Don't undef if we aren't + going to redefine it to something else. + +1999-10-11 Jason Merrill + + * dwarfread.c (read_func_scope): Don't try to set main_func_*; + we handle that in blockframe.c:inside_main_func. + * dwarf2read.c (read_func_scope): Likewise. + (dwarf2_add_field, dwarf2_add_member_fn): Get member function name + directly, not from mangled name. + (skip_member_fn_name): Lose. + +Mon Oct 11 12:24:52 1999 Andrew Cagney + + * serial.h (enum serial_rc): Clarify SERIAL_TIMEOUT and + restrictions on TIMEOUT in ASYNC mode. + + * serial.c (serial_readchar): Check for invalid timeout when in + async mode. Disable test. + +Thu Oct 7 17:20:01 1999 Andrew Cagney + + * monitor.c (monitor_printable_string): Add length argument. Don't + return final string length. + (monitor_printf_noecho, monitor_printf, monitor_expect): Update. + (monitor_error): Pass real_len to monitor_printable_string. + (monitor_error): Rewrite. Replace printf fmt string parameter with + function name and message parameters. + (monitor_read_memory_single, monitor_read_memory): Update. + +1999-10-07 Stan Shebs + + * main.c (print_gdb_help): Fix bug reporting address. + * gnu-regex.h, gnu-regex.c: Ditto. + +1999-10-07 Jim Blandy + + * parse.c (SYMBOLS_CAN_START_WITH_DOLLAR): New macro, + whose value can be overridden by target files. + (write_dollar_variable): Don't check the symbol table for + identifiers beginning with `$' unless + SYMBOLS_CAN_START_WITH_DOLLAR is non-zero. + * config/pa/tm-hppa.h (SYMBOLS_CAN_START_WITH_DOLLAR): Define. + * doc/gdbint.texinfo (SYMBOLS_CAN_START_WITH_DOLLAR): Document. + + Remove all traces of the BINOP_SCOPE operator. It's never + generated, and not implemented. + * expression.h (enum exp_opcode): Delete BINOP_SCOPE. + * c-lang.c (c_op_print_tab): Delete entry for BINOP_SCOPE. + * eval.c (evaluate_subexp_standard): Doc fix. + * expprint.c (op_name): Remove case for BINOP_SCOPE. + (dump_subexp): Same. + + * dwarf2read.c (dwarf2_const_value): Treat DW_FORM_data1, + DW_FORM_data2, DW_FORM_data4, and DW_FORM_data8 as signed values, + since that's what read_var_value will do anyway. + +1999-10-07 Fred Fish + + * objfiles.h (struct objfile): Delete is_solib member, now handled + by OBJF_SHARED bit in struct objfile's flags. + * objfiles.c (objfile_purge_solibs): Check OBJF_SHARED bit in flags + instead of old is_solib int member in objfile struct. + + * objfiles.c (allocate_objfile): Remove is_solib arg. Now passed + as a bit in combined flags arg. + * symfile.c (symbol_file_add): Ditto. + * objfiles.h (allocate_objfile): Adjust prototype after removal + of is_solib arg. + * symtab.h (symbol_file_add): Ditto. + + * cxux-nat.c (add_shared_symbol_files): Remove zero passed to + symbol_file_add in old is_solib arg, defaults to zero now in + flags. + * irix5-nat.c (symbol_add_stub): Ditto. + * remote-mm.c (mm_load): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * symfile.c (symbol_file_command): Ditto. + (add_symbol_file_command): Ditto. + + * coff-solib.c (coff_solib_add): Call symbol_file_add with + OBJF_SHARED in flags bit, rather than 1 in old is_solib + arg. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * objfiles.c (allocate_objfile): Remove old args "mapped" and + "user_loaded". Replaced with new arg "flags" containing specific + If global var mapped_symbol_files is nonzero + then set OBJF_MAPPED in flags arg. Check for OBJF_MAPPED bit in + flags where we used to check mapped arg. + Pass flags to open_mapped_file instead of mapped arg. + Ensure that OBJF_MAPPED bit is reset in flags when the objfile + is not mapped. Add passed flags bits to objfile's flags bits. + (open_mapped_file): Replace "mapped" arg with new "flags" arg. + Adjust prototype. Pass flags to open_existing_mapped_file. + (open_existing_mapped_file): Replace "mapped" arg with new "flags". + Check flags for OBJF_MAPPED. + * objfiles.h (allocate_objfile): Adjust prototype. + * rs6000-nat.c (add_vmap): Pass zero for combined flags, rather + than separate zero ints for old "mapped" and "user_loaded" flags. + * symfile.c (symbol_file_add): Pass allocate_objfile combined flags + rather than individual mapped and user loaded bits. + + * symfile.c (symbol_file_add): Delete user_loaded arg. + * symtab.h (symbol_file_add): Adjust prototype for deleted + user_loaded arg. + * objfiles.h (struct objfile): Delete user_loaded member. + (OBJF_USERLOADED): New flag bit to replace user_loaded. + + * symfile.c (symbol_file_command): Add OBJF_USER_LOADED to flags + passed to symbol_file_add. Delete previous passing of explicit 1 + for user_loaded. + (add_symbol_file_command): Ditto. + + * coff-solib.c (coff_solib_add): No longer pass zero for user loaded, + now defaults to zero in flags. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * irix5-nat.c (symbol_add_stub): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * remote-mm.c (mm_load): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + +Thu Oct 7 19:24:05 1999 Andrew Cagney + + * Makefile.in (monitor.o): Allow monitor.o to be compiled with + -Werror. + + * monitor.c (monitor_debug_p): New variable. Replaces macro. + (EXTRA_RDEBUG): Delete. Update all uses. + (monitor_debug): New function. Replaces macro. + (RDEBUG): Delete macro. Update all uses. + debug output to gdb_stdlog and not the console. + + * monitor.c: Fix printf formating. Replace printf calls with + fprintf_unfiltered. + +1999-10-06 Stan Shebs + + * MAINTAINERS: Switch ARM target maintenance from Elena + Zannoni to Jim Ingham. + +1999-10-06 Frank Ch. Eigler + + * remote.c (hexnumnstr): New function. Allow setting of width. + (hexnumstr): Call the above. + (remote_write_bytes): Fill in X-protocol address field more + reliably. + +1999-10-06 Fred Fish + + * xcoffread.c (xcoff_symfile_offsets): Fix typo, addr->addrs. + +1999-10-06 Elena Zannoni + + * remote.c (handle_remote_sigint_twice): Make this signal be + handled by inferior_event_handler, via the wrapper function. + (async_remote_interrupt_twice): Make not static. Add debug print. + * remote.h (async_remote_interrupt_twice): Export for use in + inf-loop.c. + + * inf-loop.c (inferior_event_handler_wrapper): New function. + (inferior_event_handler): Handle a request to quit and kill the + target. + Include remote.h. + * inf-loop.h (inferior_event_handler_wrapper): Export. + +1999-10-04 James Ingham + + * remote-rdi.c (arm_rdi_open): If the angel_RDI_Open fails, close + the serial port and raise an error. If you try to go on, you will + stall forever down in the rdi-share code. + +1999-10-04 Fernando Nasser + + * printcmd.c (output_command): Makes sure result from the output + command is printed before the next prompt. + +1999-10-04 Fernando Nasser + + * printcmd.c (print_formatted): Add missing stream parameter. + (do_examine, print_command_1, output_command, do_one_display): + Adjust call to print_formatted(). + +1999-10-04 Elena Zannoni + + * infcmd.c: Remove include of event-loop.h. + * utils.c: Ditto. + * top.c: Ditto. + + * infrun.c (fetch_inferior_event): Call inferior_event_handler + when inferior stops, instead of doing work ourselves. + (fetch_inferior_event): Use void* instead of gdb_client_data. + Remove includes of event-top.h and event-loop.h. Add include of + inf-loop.h. + (complete_execution): Move from here. + + * inf-loop.c (complete_execution): To here. + (inferior_event_handler): Handle inferior's execution completion + case as well. + * inf-loop.h: Add def of INF_LOOP_H. + + * event-top.h: Don't use gdb_client_data, use void*, to avoid + dependency on event-loop.h. + + * remote.c (remote_async_resume): Set target_executing only after we + actually register the inferior with the event loop. + +1999-10-04 Fernando Nasser + + * corefile.c (memory_error): Use error_stream() and eliminate call + to return_to_top_level(). + +1999-10-04 Fernando Nasser + + * utils.c (error): Save error message text (w/o new line). + (error_last_message): New function. Returns the last message + issued by gdb. + (error_init): New function. Initializes error handling machinery. + (error_stream): New function. Allows the error message to be + passed on a stream buffer. + * defs.h: Add prototypes for error_stream() and + error_last_message(). + * main.c (main): Add call to error_init(). + +1999-10-04 Fernando Nasser + + * utils.c (tui_sfileopen): New function. Replaces + gdb_file_init_astring(). + * defs.h: Add prototype for the above. + +Mon Oct 4 19:25:55 1999 Andrew Cagney + + * symfile.c (add_symbol_file_command): Fix -Wformat on query call. + +1999-10-01 Elena Zannoni + + * target.c (cleanup_target): Type of to_async param is now + function with enum inferior_event_type param. + + * target.h (target_ops): Adjust to_async accordingly. Move enum + inferior_event_type to this file. Don't have a typedef for + inferior_event_type. Add more enumeration constants INF_QUIT_REQ, + INF_EXEC_COMPLETE. Remove INF_SIGINT_FIRST, INF_SIGINT_SECOND. + + * inf-loop.c (inferior_event_handler): Change first param to tell + the type of event we are dealing with. Deal with INF_ERROR and + INF_REG_EVENT, for the moment. + Include target.h. + + * inf-loop.h (inferior_event_handler): Adjust prototype. Remove + enum inferior_event_type from here. + + * remote.c (remote_async_serial_handler): Pass INF_REG_EVENT to + the client callback. + (remote_async): Change callback's param type to inferior_event_type. + (async_client_callback): Change type as above. + +1999-10-01 Elena Zannoni + + * event-top.c (stdin_event_handler): Delete fd parameter, use + input_fd instead. + * event-top.h (stdin_event_handler): Delete fd parameter. + + * inf-loop.c (inferior_event_handler): Delete fd parameter. Use + target_async() to unregister the inferior fd in case of errors. + * inf-loop.h(inferior_event_handler): Delete fd parameter. + + * ser-unix.c (fd_event): Delete fd parameter. Use scb->fd, + instead. + + * remote.c (async_client_callback): Delete fd parameter. + (remote_async_serial_handler): Ditto. + (remote_async): Adjust to new type of callback function. + + * target.c (cleanup_target): Adjust parameters for to_async + default case. + * target.h (*to_async): Delete fd parameter from cb function. + + * event-loop.h (handler_func): Delete fd parameter. + * event-loop.c (handle_file_event): Delete fd param from call to + proc. Do not include inferior.h. + +1999-10-01 Elena Zannoni + + * event-loop.c (inferior_event_handler, + inferior_event_handler_wrapper): Move from here. + * inf-loop.c: To here. New file. + + * event-loop.h (inferior_event_handler): Move from here. + * inf-loop.h: To here. New file. + + * remote.c: Include inf-loop.h. + (set_extende_protocol): Remove unused prototpye. + + * Makefile.in (SFILES): Add inf-loop.c. + (inf_loop_h): Define. + (COMMON_OBS): Add inf-loop.o. + (inf-loop.o): Add rule. + (remote.o): Add dependency on inf-loop.h. + +Fri Oct 1 19:59:31 1999 Andrew Cagney + + * ser-unix.c: Add some notes on how the async code works. + +Fri Oct 1 01:45:32 1999 Jeffrey A Law (law@cygnus.com) + + * somread.c (som_symfile_offsets): Fix typo in last change. + +1999-09-30 Fred Fish + + * coff-solib.c (coff_solib_add): Adjust call to symbol_file_add. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * irix5-nat.c (symbol_add_stub): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * remote-mm.c (mm_load): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * irix5-nat.c (symbol_add_stub): Add section_addrs, zero it. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * symfile.c (symbol_file_command): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * irix5-nat.c (symbol_add_stub): Use section_addrs to pass text addr. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * osfsolib.c (symbol_add_stub): Ditto. + * pa64solib.c (pa64_solib_add_solib_objfile): Ditto. + * solib.c (symbol_add_stub): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + * symfile.c (symbol_file_command): Ditto. + * win32-nat.c (handle_load_dll): Ditto. + + * coff-solib.c (coff_solib_add): Call symbol_file_add with NULL ptr. + * cxux-nat.c (add_shared_symbol_files): Ditto. + * remote-udi.c (udi_load): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * symfile.c (symbol_file_command): Ditto. + + * dstread.c (dst_symfile_offsets): Take "section_addr_info *" + instead of CORE_ADDR. + * somread.c (som_symfile_offsets): Ditto. + * symfile.c (default_symfile_offsets): Ditto. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + + * symfile.h (default_symfile_offsets): Adjust prototype. + (syms_from_objfile): Ditto. + * symtab.h (symbol_file_add): Ditto. + + * rs6000-nat.c (objfile_symbol_add): Call syms_from_objfile with NULL. + * xcoffsolib.c (solib_add): Ditto. + * gdb-stabs.h (SECT_OFF_MAX): Increase from 4 to 16. + * symtab.h (MAX_SECTIONS): Define. + (struct section_addr_info): New struct for better control over + changing load addresses of sections. + * objfiles.h (OBJF_READNOW): Add new flag bit. + * symfile.h (sym_offsets): Change second param from CORE_ADDR to + "section_addr_info *". + + * symfile.c (symbol_file_add): Replace scalar arg "CORE_ADDR addr" + with "struct section_addr_info *addrs". + (syms_from_objfile): Ditto. + (add_symbol_file_command): Remove local variables "readnow" and + "mapped". Replaced with general "flags" variable. + (symbol_file_command): Ditto. + (add_symbol_file_command): Add local variables i, sec_num, argcnt, + expecting_option, option_index, and opt. Rework option parsing code + to handle additional options. + (_initialize_symfile): Adjust add-symbol-file usage to match new + option handling. + (symbol_file_add): Remove parameters "mapped" and "readnow", + replace with general "flags". + (symbol_file_add): In call to allocate_objfile, replace "mapped" + with extracted OBJF_MAPPED bit from flags. + (symbol_file_add): Use OBJF_READNOW bit from flags, instead of + "readnow" variable. + (symbol_file_command): Set OBJF_MAPPED and OBJF_READNOW bits + from parsed options. Pass flags to symbol_file_add. + (add_symbol_file_command): Ditto. + (syms_from_objfile): Add local variables i, sect, lower_sect, + lower_offset, and local_addr. Substitute local_addr for addrs + when addrs is NULL. Find lowest loadable section to be used as + starting point for contiguous sections. Adjust offsets if segments + are not contiguous. Call sym_offsets with section_addr_info + instead of single addr. + (default_symfile_offsets): Initialize objfile's section_offsets + with user specified offsets. + (symbol_file_add): Call syms_from_objfile with offsets. + (unknown_option_complaint): Add. + (add_symbol_file_command): Add "section_addrs", zero it with memset. + +1999-09-30 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Call config.sub explicitly instead of misusing the + autoconf internal variable $ac_config_sub. + * configure: Regenerated. + +Thu Sep 30 15:53:59 1999 Andrew Cagney + + * remote.c (readchar): When EOF mourn the inferior. + (getpkt): Try QUIT. Might not be a watchdog timer timeout. + (remote_async_serial_handler): Pass ``-1'' as the dummy FD. Safer + than ZERO == STDIN. + + * serial.h (enum serial_rc): Replace #define SERIAL_ERROR, + SERIAL_TIMEOUT and SERIAL_EOF. + (struct _serial_t): Add more notes on termios specific fields. + + * ser-unix.c (generic_readchar): Make SERIAL_ERROR sticky. + (do_hardwire_readchar, do_unix_readchar): Don't use bufcnt as a + tempoary for the return-value from read. + + * serial.c (serial_logchar): Add a stream parameter. + (serial_readchar, serial_write, serial_send_break): Update. + (serial_readchar): Add serial debug trace. + +Thu Sep 30 12:07:03 1999 Andrew Cagney + + * serial.h (struct _serial_t): Add field async_state. Better + document field bufcnt. + (SERIAL_ERROR): Delete comment about errno. + * serial.c (serial_open, serial_fdopen): Initialize async_state. + + * ser-unix.c (push_event, fd_event, reschedule): New functions. + Handle ASYNC serial input. + (ser_unix_async): Update. + (generic_readchar): New function. Handle event scheduling. Make + EOF condition sticky. + (do_unix_readchar): Rename ser_unix_readchar. + (ser_unix_readchar): New function, call do_unix_readchar via + generic_readchar. + (do_hardwire_readchar, hardwire_readchar): Ditto. + + * ser-unix.c (ser_unix_readchar): Delete code working around ASYNC + fifo bugs. + (hardwire_readchar): Delete code working around ASYNC fifo bugs. + +Wed Sep 29 21:27:16 1999 Jeffrey A Law (law@cygnus.com) + + * breakpoint.c (insert_breakpoints): Addresses are CORE_ADDRs, + not "int"s. + (remove_breakpoint): Likewise. + +1999-09-29 Fred Fish + + * breakpoint.c (breakpoint_1): Replace cast "(CORE_ADDR) - 1" + with the more obviously intended expression "(CORE_ADDR) -1". + * dwarf2read.c (scan_partial_symbols, read_file_scope): Ditto. + * gnu-nat.c (gnu_create_inferior): Ditto. + * go32-nat.c (go32_create_inferior): Ditto. + * hppa-tdep.c (hppa_pop_frame): Ditto. + * infcmd.c (continue_command, step_1, signal_command): Ditto. + (until_next_command, finish_command): Ditto. + * infrun.c (proceed): Ditto. + * inftarg.c (child_create_inferior): Ditto. + * m3-nat.c (m3_create_inferior): Ditto. + * mac-nat.c (child_create_inferior): Ditto. + * procfs.c (procfs_create_inferior): Ditto. + * remote-sim.c (gdbsim_create_inferior): Ditto. + * target.c (target_link): Ditto. + * win32-nat.c (child_create_inferior): Ditto. + +Thu Sep 30 10:36:19 1999 Andrew Cagney + + * ser-unix.c (ser_unix_flush_input): New function. Discard input + buffer. + (hardwire_flush_input): Use ser_unix_flush_input. + (ser_unix_nop_flush_input): Delete. + * ser-unix.h (ser_unix_flush_input): Update. + ser-tcp.c (_initialize_ser_tcp), ser-pipe.c + (_initialize_ser_pipe): Update. + + * ser-unix.c (hardwire_write): Delete. + (_initialize_ser_hardwire): Update, use ser_unix_write. + +Thu Sep 30 10:16:50 1999 Andrew Cagney + + * ser-pipe.c (pipe_open): Don't make the FD non-blocking. Already + being handled in ser_unix_wait_for by a select. + +Thu Sep 30 10:00:32 1999 Andrew Cagney + + * serial.h (struct _serial_t): Add field debug_p. + (SERIAL_DEBUG, SERIAL_DEBUG_P): Define. + + * serial.c (serial_open, serial_fdopen): Initialize debug_p. + (serial_debug, serial_debug_p): New functions. + (global_serial_debug_p): New variable. + (_initialize_serial): Add ``set serialdebug'' command. + +Thu Sep 30 09:09:38 1999 Andrew Cagney + + * serial.h (serial_event_ftype): Replace FD and ERROR args with + SERRIAL_T arg. + * ser-unix.c (ser_unix_event): Update. + + * remote.c (remote_async_serial_handler): New function. Handle + serial events. + (remote_async): Pass remote_async_serial_handler to SERIAL. + (async_client_callback, async_client_context): New variables. + + * remote.c (extended_remote_async_create_inferior): Use + target_async to register the inferior event handler. + +Thu Sep 30 00:02:03 1999 Andrew Cagney + + * configure.in (AC_CHECK_FUNCS): Test for sigprocmask. + * configure, config.in: Re-generate. + * event-top.c (async_stop_sig): Use sigprocmask when available. + +1999-09-29 Doug Evans + + * sh-stub.c (handle_exception): Fix typo in patch of 1999-08-26. + * m68k-stub.c (handle_exception): Ditto. + +1999-09-28 Fred Fish + + * alpha-nat.c (alpha_osf_core_fns, alpha_elf_core_fns): + Add default entries for check_format and core_sniffer. + * core-aout.c (aout_core_fns): Ditto. + * core-regset.c (regset_core_fns): Ditto. + * core-sol2.c (solaris_core_fns): Ditto. + * i386aix-nat.c (i386aix_core_fns): Ditto. + * i386mach-nat.c (i386mach_core_fns): Ditto. + * irix4-nat.c (irix4_core_fns): Ditto. + * irix5-nat.c (irix5_core_fns): Ditto. + * lynx-nat.c (lynx_core_fns): Ditto. + * mips-nat.c (mips_core_fns): Ditto. + * ns32knbsd-nat.c (nat_core_fns): Ditto. + * rs6000-nat.c (rs6000_core_fns): Ditto. + * sparc-nat.c (sparc_core_fns): Ditto. + * sun-nat.c (sun3_core_fns): Ditto. + * ultra3-nat.c (ultra3_core_fns): Ditto. + + * corelow.c (core_vec): New, for selected core file handler. + (sniff_core_bfd): New function. + (gdb_check_format): New function. + (default_check_format): New function. + (default_core_sniffer): New function. + (sniff_core_bfd): New function. + (core_close): Reset core_vec to NULL. + (core_open): Fall back to gdb_check_format if bfd_check_format + does not identify the file format. Call sniff_core_bfd to pick + a core file handler. + (get_core_registers): Remove code that is now in sniff_core_bfd. + Use current core_vec. + + * gdbcore.h (check_format): New core_fns function, points to function + to try and identify a core file format. + (core_sniffer): New core_fns function, points to function to select + a specific handler for the selected core file format. + (default_core_sniffer): Add prototype. + (default_check_format): Add prototype. + + * i960-tdep.c (inferior.h): Include. + * mips-tdep.c (read_next_frame_reg): Use ADDR_BITS_REMOVE + on addresses pulled from stack. + +1999-09-29 Elena Zannoni + + * event-loop.c (poll_timers): Check whether the timer list has any + element on it by looking at the first element pointer, instead of + num_timers. + +Wed Sep 29 18:02:31 1999 Andrew Cagney + + * command.c: Attempt to include POSIX before + . + + * ser-unix.c (hardwire_print_tty_state): Ditto. + * inflow.c (child_terminal_info): Fix printf args. + +1999-09-28 Elena Zannoni + + * remote.c (remote_async_resume): Register the inferior with the + event loop. + (remote_async_open_1): Don't put the target in async mode here, + just do it when executing. + + * infrun.c (complete_execution): Unregister the inferior from the + event loop. + + * event-top.c (async_disable_stdin): Don't add + async_enable_stdin() to the exec_cleanups chain. + +Tue Sep 28 11:08:34 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Ignore IMPORT_SHLIB stubs + except for hpux11 native. Break out of the loop to find a + stub as soon as we find an IMPORT stub. + (skip_prologue_hard_way): Also recognize copy %ret1,target and + all PA64 argument stores as prologue instructions. + +1999-09-28 Elena Zannoni + + * breakpoint.c, defs.h, event-top.c, infcmd.c, infrun.c, main.c, + remote.c, top.c, tracepoint.c, utils.c (async_p): Change var name + to event_loop_p. + +1999-09-28 Jim Blandy + + * hppa-tdep.c (skip_prologue_hard_way): Recognize ldo insns + which generate pointers into the argument list. + +Tue Sep 28 13:56:49 1999 Andrew Cagney + + * remote.h (cleanup_sigint_signal_handler, + initialize_sigint_signal_handler): Delete extern declarations. + * event-top.c, infrun.c: No longer need to include "remote.h". + * remote.c (cleanup_sigint_signal_handler, + initialize_sigint_signal_handler): Make static. + * Makefile.in (event-top.o): Delete dependency on "remote.h". + + * remote.c (remote_async_terminal_ours_p): New static global. Keep + track of who currently owns the terminal. + (remote_async_open_1): Initialize. + (remote_async_terminal_inferior): Test + remote_async_terminal_ours_p. Claim CNTRL-C handler as part of + transfering the terminal to the target. + (remote_async_terminal_ours): Similar. + +Mon Sep 27 12:33:45 1999 Andrew Cagney + + * remote.c (async_interrupt_query): Delete function. Merged into + interrupt_query. Async cases handled by target_terminal_ours, + target_terminal_inferior and SERIAL_CLOSE. + (async_remote_interrupt_twice): Update. + (remote_async_terminal_ours, remote_async_terminal_inferior): New + functions. Steal STDIN from GDB's CLI. + (init_remote_async_ops): Initialize to_terminal_ours and + to_terminal_inferior. + + * event-top.c (async_disable_stdin, async_disable_stdin): Use + target_terminal_ours / target_terminal_inferior to transfer + ownership of the terminal between GDB and the target. + +1999-09-27 Elena Zannoni + + * infcmd.c (run_command): Call async_disable_stdin() only if + dealing with an asynchronous target. + +Mon Sep 27 11:48:38 1999 Andrew Cagney + + * target.h (struct target_ops): Add to_can_async_p, to_is_async_p, + to_async. Delete to_has_async. These correspond well with + SERIAL* async methods. + (target_can_async_p, target_is_async_p, target_async): Define. + * target.c (update_current_target, cleanup_target): Update. + + * remote.c (remote_async_open_1): Change target to async using + target_async. + (remote_can_async_p, remote_is_async_p, remote_async): New + functions. + (remote_async_wait, remote_async_open_1): Add FIXME about how + wait_forever_enabled_p can almost be deleted once the client can + enable/disable target_async. + + * breakpoint.c (until_break_command), infrun.c (proceed), infcmd.c + (run_command, continue_command, step_1, jump_command, + until_command, finish_command, interrupt_target_command), top.c + (return_to_top_level, execute_command), event-top.c + (command_handler): Replace target_has_async with + target_can_async_p. + +Sun Sep 26 02:10:47 1999 Andrew Cagney + + * remote.c (remote_async_open_1): If we go into async mode, never + wait for ever. + + * infcmd.c: Include "event-top.h". + (run_command, continue_command, jump_command, until_command, + finish_command): Use async_disable_stdin to disable the console + for synchronous commands. + + * remote.c (async_interrupt_query): Only disconnect the console + from the terminal when sync_execution. + + * remote.c (initialize_sigint_signal_handler): Move declaration + from here. + * remote.h: To here. Make non-static. + + * remote.c (remote_async_resume, async_interrupt_query): Move + prompt code from here. + * event-top.c (async_disable_stdin, async_enable_stdin): To + here. New function. + + * infrun.c (start_remote): Delete commented out code. + +Fri Sep 24 12:38:31 1999 Andrew Cagney + + * remote.c (remote_async_open_1): Perform the initial async_open + using only synchronous calls. Only after the target is fully + connected, switch to async mode. Include FIXME about now it + currently works VS how it should be working. + (remote_async_open_1, set_extended_protocol): Delete function + set_extended_protocol. All open communication is now done + synchronously. + (forever_enabled_p): New variable. Determine if remote_async_wait + should block FOREVER when fetching target information. + (remote_cisco_open, remote_open_1): Set forever_enabled_p. + + * infrun.c (start_remote): During the initial connect, always use + a synchronous wait. + +Sat Sep 25 18:13:38 1999 Andrew Cagney + + * Makefile.in (event-top.o): Add dependency. + * event-top.c: Include "remote.h". + * remote.c (async_interrupt_query), event-top.c: + (async_enable_stdin): Pass dummy parameter to + cleanup_sigint_signal_handler. + * remote.c (cleanup_sigint_signal_handler), remote.h + (cleanup_sigint_signal_handler), event-top.c (async_enable_stdin), + event-top.h (async_enable_stdin): Change signature to match + make_exec_error_cleanup handler pararameter. + +Thu Sep 23 20:48:22 1999 Andrew Cagney + + * defs.h (enum command_class): Move from here. + * command.h (command_class): To here. + +1999-09-24 Kevin Buettner + * breakpoint.c (bpstat_stop_status): Use not_a_breakpoint to + help properly set bp_addr. + * infrun.c (handle_inferior_event): Simplify calls to + bp_stop_status. + +1999-09-24 Elena Zannoni + + * top.c (return_to_top_level): Do exec_error cleanups if are + interrupting a simulated synchronous execution command. + + * infrun.c (start_remote): Create a cleanup to enable stdin in + case of error from this command. + (complete_execution): Do the enabling of stdin via the exec_error + cleanups, when needed. + + * remote.c (remote_async_resume): Make sure we re-enable stdin in + case of error from the target. + (handle_remote_sigint_twice): The handler to be set is + async_remote_interrupt_twice, not async_remote_interrupt. + (async_remote_interrupt_twice): Don't do anything if the target + has been killed already. Call async_interrupt_query, instead of + interrupt_query. + (async_interrupt_query): New function. Async case of + interrupt_query(). + + * event-top.c (async_enable_stdin): New function. Reinstate stdin + with the event loop. + * event-top.h (async_enable_stdin): Export. + + * utils.c (exec_error_cleanup_chain): New cleanup chain. + (make_exec_error_cleanup, do_exec_error_cleanups, + discard_exec_error_cleanups): New functions. + * defs.h (make_exec_error_cleanup, do_exec_error_cleanups, + discard_exec_error_cleanups): Export. + +1999-09-24 Jim Blandy + + * ax-gdb.c (expr_to_agent): Don't forget to pass argument to + new_agent_expr. + +1999-09-24 Elena Zannoni + + * event-loop.c (fetch_inferior_event_wrapper): New + function. Wrapper to pass to catch_errors. + (inferior_event_handler): Pop the target if things go bad with it. + Call fetch_inferior_event() from within catch_errors(). + +1999-09-24 Jim Blandy + + * ax-gdb.c: Use internal_error instead of error, where + appropriate. + +1999-09-23 James Ingham + + * target.c (target_resize_to_sections): New function. Gather the + resizing code for the to_sections field into one place, and make + sure you update the other targets that are sharing the to_sections + structure. + * target.h: Declare the target_resize_to_sections function. + * solib.c (solib_add): use target_resize_to_sections. + * somsolib.c (som_solib_load_symbols): ditto + * rs6000-nat.c (xcoff_relocate_core): ditto + * pa64solib.c (pa64_solib_load_symbols): ditto + * irix5-nat.c (solib_add):ditto + + * top.c: Define the attach & detach hooks + * defs.h: Declare the attach & detach hooks. + * infcmd.c (attach_command): call the attach hook if it exists. + (detach_command): call the detach hook if it exists. + + * complaints.c (complain): Send the complaints to stderr rather + than stdout, so they don't get mixed into the result stream from + commands. + +1999-09-23 Elena Zannoni + + * event-loop.c (poll_timers): Use correct timeval field names, + when setting the notifier timeouts, in case of select() used. + (gdb_wait_for_event): Pass a pointer to the timeout structure to + select(), not the structure. + +Wed Sep 22 10:35:32 1999 Andrew Cagney + + * Makefile.in (init.c): Change generated file to include "defs.h" + and "call-cmds.h". Use initialize_file_ftype when declaring + each initialize functions. + (call_cmds_h): Add definition. + (init.o): Add target and dependencies. + (init.c): Don't grep for _initialize* in init.c. + + * defs.h (initialize_file_ftype): Add function typedef. + +1999-09-22 Michael Snyder + + * procfs.c (init_procinfo): move fltset initialization to caller. + (do_attach, create_procinfo): initialize fltset. + +1999-09-22 Elena Zannoni + + * event-loop.c, event-top.c, event-loop.h: Rerun indent. + +1999-09-21 Doug Evans + + * m32r-stub.c (handle_exception): Fix typo in patch of 1999-08-26. + +Tue Sep 21 14:55:29 1999 Andrew Cagney + + From 1999-08-20 J.T. Conklin : + * remote.c (read_frame): expand cisco run-length encoding variant + inline as is done for the standard encoding. + (remote_cisco_expand): Removed. + +1999-09-20 Elena Zannoni + + * event-loop.c: Include . + +1999-09-20 Elena Zannoni + + * ser-ocd.c: (ser_ocd_open, ser_ocd_raw, ser_ocd_readchar, + ser_ocd_setbaudrate, ser_ocd_write, ser_ocd_close, + ser_ocd_get_tty_state, ser_ocd_set_tty_state): Remove unused + prototypes. + (ocd_readremote): Remove. + (ocd_write): Remove unused var 'c'. + +1999-09-20 Elena Zannoni + + * event-top.c (change_line_handler): Cleanup dead code. Add comments. + * event-loop.c: Cleanup #if 0 code. + + * event-loop.h (timer_handler_func): New function type. + (create_timer): Export function. + (delete_timer): Export function. + + * event-loop.c: Add timeout and timeout_valid fields to + gdb_notifier. New structures gdb_timer and timer_list. + (gdb_do_one_event): Check whether there are any timers tht are + ready, before going to wait. + (gdb_wait_for_event): If the timeout structure is meaningful, pass + that to select()/poll(). + (create_timer): New function. Creates a timer. + (delete_timer): New function. Deletes a timer. + (handle_timer_event): New function. Deals with timers that are ready. + (poll_timers): New Function. Chack whether timers have expired. + +Mon Sep 20 17:00:06 1999 Andrew Cagney + + * remote.c (getpkt, putpkt, remote_console_output): Move + declaration from here. + * remote.h: To here. New file. + * tracepoint.c(putpkt, getpkt, remote_console_output): Delete + declarations. Moved to "remote.h". + * Makefile.in (remote_h): Define. + * remote.c, tracepoint.c: Include "remote.h". + * Makefile.in (tracepoint.o, remote.o): Add dependency on + "remote.h". + + * remote.h (remote_cisco_objfile_relocate, + cleanup_sigint_signal_handler): Add declaration. Include FIXME. + * infrun.c: Include "remote.h". + (complete_execution): Delete local extern declaration + of ``cleanup_sigint_signal_handler''. + * Makefile.in (infrun.o): Add dependency on remote.h. + +Mon Sep 20 13:41:04 1999 Andrew Cagney + + * kod.c (ecos_kod_open, ecos_kod_request, ecos_kod_close, + cisco_kod_open, cisco_kod_request, cisco_kod_close): Move + declarations from here. + * kod.h: To here. New file. + * kod-cisco.c, kod.c: Include "kod.h". + * Makefile.in (kod-cisco.o, kod.o): Add dependency on "kod.h". + + * kod.h (kod_display_callback_ftype, kod_query_callback_ftype): + New function types. + * kod.h (kod_cisco_open): Use in declaration. + * kod.c (gdb_kod_open): Update definition. + * kod-cisco.c (cisco_kod_open): Update definition. + +Mon Sep 20 12:13:27 1999 Andrew Cagney + + * mn10300-tdep.c (_initialize_mn10300_tdep): Add declaration. + + * breakpoint.c (until_break_command_continuation): Add + declaration. Make static. + * event-top.c (rl_callback_read_char_wrapper): Ditto. + +Fri Sep 17 19:28:17 1999 Andrew Cagney + + * source.c: Include "source.h". + (open_source_file, find_source_lines): Move declaration from here. + * source.h: New file. To here. + * Makefile.in (source.o): Add dependency on source.h. + + * breakpoints.c (delete_command): Move declaration from here. + * breakpoints.h (delete_command): To here. + +1999-09-18 Jim Blandy + + * hppa-tdep.c (in_solib_call_trampoline): If we can't recognize + the instruction we're at, we're not in a stub. + +Sat Sep 18 07:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * dwarf2read.c (dwarf_decode_lines): Correctly handle + DW_LNS_const_add_pc. + +1999-09-18 Elena Zannoni + + * remote.c (remote_async_open_1): Use inferior_event_handler to + handle inferior events. + (extended_remote_async_create_inferior): Ditto. + + * serial.h (serial_event_ftype): Add two pars. + + * ser-unix.c (ser_unix_event): Add two parameters, error and fd. + Pass those into the call to the actual inferior event handler. + + * infrun.c (complete_execution): Stdin handler is stdin_event_handler. + + * event-top.h (stdin_event_handler): Export new function. + + * event-top.c (stdin_event_handler): New function. Smarter handler + for events on stdin. + (change_line_handler): Don't need to update the handler for stdin + here anymore. + (_initialize_event_loop): Stdin handler is now stdin_event_handler. + + * event-loop.h: (handler_func): Change signature, adding two new + args. + (sig_handler_func): New function type. It is the old handler_func. + (create_async_signal_handler): Update to use sig_handler_func. + (delete_async_signal_handler): Prototype for new function. + + * event-loop.c: Include "inferior.h". + (struct file_handler): Add field error, to indicate error + condition on fd. + (struct async_signal_handler): Rename type of proc field. + (add_file_handler): Add exception condition as something select() + should report. + (handle_file_event): In case of error on the fd, record this in + the file_handler structure. Update call to (*proc)() to match new + signature. + (gdb_wait_for_event): If select() or poll() return error, report + this to user. + (create_async_signal_handler): Change first param type to + sig_handler_func*. + (inferior_event_handler): New function. Smarter inferior event + handling. + +1999-09-18 Jim Blandy + + * pa64solib.c (pa64_solib_create_inferior_hook): Remove code which + tries to set __d_pid; it's not relevant to PA64 shared libraries. + + A psymtab's texthigh element, and a block's endaddr element, are + the address past the end of the address range, never the address + of the last byte. These data structures mean the same thing on + forty different architectures; there's no reason they should be + different on HP/UX. + * symtab.c (find_pc_sect_psymtab): Remove special case for HP/UX. + (find_pc_sect_symtab): Same. + * objfiles.c (find_pc_sect_section): Same. + +Sat Sep 18 07:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (internalize_unwinds): Handle PA64 shared libraries + correctly + + * hppa-tdep.c (in_solib_call_trampoline): Handle PA64 shared library + trampolines. + +1999-09-17 Jim Blandy + + * breakpoint.c (permanent_breakpoint_here_p): Delete. + Accidentally left over from previous changes. + +1999-09-17 Jim Blandy + + * config/pa/tm-hppa64.h (ARGS_GROW_DOWNWARD): Deleted. There are + many more differences between the 32- and 64-bit ABI's than the + direction the arguments grow, so this name is misleading. + (PA20W_CALLING_CONVENTIONS): Define this instead. + * config/pa/tm-hppa.h (ARGS_GROW_DOWNWARD): Delete. + * hppa-tdep.c (hppa_push_arguments): Split into two separate + functions, depending on whether PA20W_CALLING_CONVENTIONS is + #defined. These implement completely separate specifications, + they don't really share that much code anyway, and this is much + more readable. Specifically: leave a 16-byte, not 32-byte, frame + marker; correctly align objects larger than eight bytes; promote + all integral scalar arguments smaller than eight bytes to a full + register width; pad aggregates smaller than eight bytes on the + right. + +Thu Sep 16 17:33:35 1999 Andrew Cagney + + * remote.c (remote_async_open_1): Use SERIAL_ASYNC to + enable/disable async event callback on serial port. Use + SERIAL_CAN_ASYNC_P / SERIAL_IS_ASYNC_P to determine if / when + async mode. + (remote_async_resume, remote_async_detach, remote_async_kill, + extended_remote_async_create_inferior, remote_async_wait): Ditto. + + * ser-unix.c (hardwire_readchar): When ASYNC, only read a single + character. + (ser_unix_readchar): Ditto. Problems occure with back-to-back + data from a target. The ASYNC code can loose the second data + chunk. + + * serial.c (serial_fdopen): Initialize async_handler and + async_context. + +1999-09-16 Elena Zannoni + + * utils.c (discard_all_continuations): New function. + * defs.h: (discard_all_continuations): Add prototype. + +1999-09-16 Elena Zannoni + + * valops.c: Remove prototype for search_struct_field_aux(). THe + function was nowhere in the file. + (value_ind): Remove unused var real_val. + (value_find_oload_method_list): Remove unused var v. + (find_overload_match): Remove extra declaration of var jj. + + * Makefile.in (event_top_h): Define. Add dependency on this for + every file that includes event-top.h. + +Thu Sep 16 17:33:35 1999 Andrew Cagney + + * serial.c (serial_open): Delete ``&'' device. + * ser-unix.c (_initialize_ser_hardwire): Make the "hardwire" + device async. Delete temporary "async-hardwire" device. + +Thu Sep 16 16:27:13 1999 Andrew Cagney + + * serial.h (SERIAL_IS_ASYNC_P): Define. Non-zero when serial + device is in async mode. + (SERIAL_CAN_ASYNC_P): Rename SERIAL_ASYNC_P. + * serial.c (serial_is_async_p): Implement. + (serial_can_async_p): Rename serial_async_p. + (serial_open): Initialize ASYNC_HANDLER and ASYNC_CONTEXT. Save + the original name in SCB instead of the stripped name. + +Thu Sep 16 12:20:11 1999 Andrew Cagney + + * serial.h (struct serial_ops): Add field ASYNC. + (SERIAL_ASYNC, SERIAL_ASYNC_P): New macros. + (struct _serial_t): Add fields async_context and async_handler. + * serial.c (serial_async, serial_async_p): Implement. + + * ser-unix.c: Include "event-loop.h". + (ser_unix_async), ser-unix.c: New function. Implement async mode. + (async_event): Handle async events. + * ser-unix.c (_initialize_ser_hardwire), ser-tcp.c + (_initialize_ser_tcp), ser-pipe.c (_initialize_ser_pipe): Enable + ASYNC. + + * serial.c (serial_open): Discard leading ``|'' before opening a + pipe device. + * ser-pipe.c (pipe_open): Adjust. + * serial.c (serial_open): Add ``&'' prefix so that + "async-hardwire" device can be explicitly selected. Work in + progress. + * ser-unix.c: Register "async-hardwire" device. + +Thu Sep 16 09:04:53 1999 Andrew Cagney + + * ser-unix.h: New file. Declare generic ser_unix functions. + * ser-unix.c (ser_unix_nop_get_tty_state, + ser_unix_nop_set_tty_state, ser_unix_nop_raw, ser_unix_wait_for, + ser_unix_readchar, ser_unix_nop_noflush_set_tty_state, + ser_unix_nop_print_tty_state, ser_unix_nop_setbaudrate, + ser_unix_nop_setstopbits, ser_unix_write, + ser_unix_nop_flush_output, ser_unix_nop_flush_input, + ser_unix_nop_send_break, ser_unix_nop_drain_output): New + functions. + * ser-unix.c: Include , , + "gdb_string.h". + + * ser-tcp.c (_initialize_ser_tcp), ser-unix.c + (_initialize_ser_hardwire), ser-pipe.c (_initialize_ser_tcp): + Initialize ops vector using assignment. + + * ser-pipe.c, ser-tcp.c, ser-unix.c: Include ser-unix.h. + + * ser-pipe.c (pipe_get_tty_state, pipe_set_tty_state, + pipe_return_0, pipe_raw, wait_for, pipe_readchar, + pipe_noflush_set_tty_state, pipe_print_tty_state, + pipe_setbaudrate, pipe_setstopbits, pipe_write), ser-tcp.c + (tcp_get_tty_state, tcp_set_tty_state, tcp_return_0, tcp_raw, + wait_for, tcp_readchar, tcp_noflush_set_tty_state, + tcp_print_tty_state, tcp_setbaudrate, tcp_setstopbits, tcp_write): + Delete functions. + +1999-09-15 Stan Shebs + + * d10v-tdep.c (remote_d10v_translate_xfer_address): Move to here + from remote-d10v.c, also change the memory translation to its + previous version. + * remote-d10v.c: Remove. + * config/d10v/d10v.mt (TDEPFILES): Remove remote-d10v.o. + +1999-09-15 Jim Blandy + + * breakpoint.c (remove_breakpoint): Return zero, not nothing. + +1999-09-14 Jim Blandy + + * hppa-tdep.c (frame_chain): If the unwind info says we've saved + r3, don't trust it. Call get_frame_saved_regs and see if we can + actually find an address for r3 there. + + * pa64solib.c (pa64_sharedlibrary_info_command): Text fix. + +Tue Sep 14 14:34:28 1999 Andrew Cagney + + * serial.h (DEPRECATED_SERIAL_FD): Define. + * serial.c (deprecated_serial_fd): New function. + + * remote.c (remote_async_open_1, remote_async_open_1, + remote_async_detach, remote_async_kill, + extended_remote_async_create_inferior, minitelnet): Update. + * remote-es.c (es1800_open, es1800_close, es1800_transparent): Update. + + * remote-st.c (connect_command), remote-os9k.c (connect_command): + Fix. Call FD_SET et.al. with FD instead of serial_t. + +1999-09-14 Jim Blandy + + * hppa-tdep.c (hppa_frame_find_saved_regs): The two possible + instructions for saving the return pointer (32- and 64-bit) save + it at different offsets. + + * config/pa/tm-hppa64.h: Doc fix. + + * defs.h (continuation): Make this a typedef. + + * Makefile.in (gdbtk.o, gdbtk-cmds.o): Depend on $(top_h). + + * Makefile.in (i386-linux-nat.o): Depend on symfile.h, not + $(symfile_h); the latter has no definition. + + * breakpoint.c (breakpoint_here_p): Remove meaningless code, + testing b->enable against shlib_disabled and call_disabled after + we know it is enabled. + + Implement "permanent breakpoints" --- breakpoints that are + hardwired into the inferior's code. GDB knows they're there, but + doesn't try to insert or remove them, etc. + * breakpoint.h (enum enable): Add `permanent' enablement state. + * breakpoint.c (make_breakpoint_permanent): New function. + * breakpoint.h (make_breakpoint_permanent): Add declaration. + * breakpoint.c (insert_breakpoints): Don't bother to insert + permanent breakpoints... + (remove_breakpoint): ... or remove them. + (breakpoint_here_p): Handle `permanent' like `enabled'. Change + return value to indicate whether it's a permanent breakpoint here, + or an ordinary breakpoint. + * breakpoint.h (enum breakpoint_here): New enum. + (breakpoint_here_p): Change declaration. + * breakpoint.h (breakpoint_1): Extend bpenables to cover all the + enablement states. + (describe_other_breakpoints): Describe permanent breakpoints. + (check_duplicates): If one of the breakpoints at ADDRESS is a + permanent breakpoint, treat all the others as the duplicates, so + we don't try to insert or remove any of them. Verify that only + the permanent breakpoint is actually inserted. + (delete_breakpoint): Complain if we discover that another + breakpoint was inserted at the same place as a permanent + breakpoint. + (disable_breakpoint): Fail silently if asked to disable a + permanent breakpoint. + (do_enable_breakpoint): Don't change a permanent breakpoint's + enablement to ordinary `enabled'. Leave it alone. + (create_solib_event_breakpoint): Return the + breakpoint object created. + * breakpoint.h (create_solib_event_breakpoint): Fix declaration. + * pa64solib.c (pa64_solib_create_inferior_hook): Do turn on the + DT_HP_DEBUG_CALLBACK flag in the dynamic linker, so it will call + __dld_break, which contains the permanent breakpoint, when interesting + things happen. Tell GDB that the breakpoint in __dld_break is + permanent. + * gdbtk-cmds.c (gdb_get_breakpoint_info): Report a permanent + breakpoint as enabled. + * infrun.c (SKIP_PERMANENT_BREAKPOINT): Provide default definition. + (default_skip_permanent_breakpoint): New function. + (resume): If we're trying to resume at a permanent breakpoint, use + SKIP_PERMANENT_BREAKPOINT to step over it. + * hppa-tdep.c (hppa_skip_permanent_breakpoint): New function. + * config/pa/tm-hppa.h (hppa_skip_permanent_breakpoint): Declare. + (SKIP_PERMANENT_BREAKPOINT): Define. + +1999-09-14 Kevin Buettner + + * symtab.h, minsyms.c (find_stab_function_addr): Changed + type of second parameter from partial_symtab * to char *. + Fixed all callers. + * minsyms.c (find_stab_function_addr): Look for minimal + symbol without filename if filename based search fails. + * dbxread.c (process_one_symbol): Call find_stab_function_addr() + in place of inline code with identical functionality. + * partial-stab.h (case N_FUN, descriptors 'F' and 'f'): Look + up symbol's address from minimal symbol table when N_FUN + address is missing. Also, make sure this value is used for + calculating the value of the texthigh field. + +1999-09-14 Elena Zannoni + + * event-loop.c (create_file_handler): Increment the total number + of file descriptors for the poll case, only if this is a new file + desc. + +1999-09-14 Eli Zaretskii + + * go32-nat.c: misc minor cleanups and fixes missed in last patch. + +Tue Sep 14 12:37:33 1999 Andrew Cagney + + * serial.h (SERIAL_PRINT_TTY_STATE): Add STREAM parameter. + (union serial_ops): Update. + + * ser-unix.c (hardwire_print_tty_state, ser-tcp.c + (tcp_print_tty_state), ser-pipe.c (pipe_print_tty_state, + ser-go32.c (dos_print_tty_state, ser-mac.c (mac_print_tty_state, + ser-ocd.c (ocd_print_tty_state, ser-e7kpc.c + (e7000pc_print_tty_state): Update. + * inflow.c (child_terminal_info): Update. + * serial.c (serial_print_tty_state): Update. + +Tue Sep 14 11:41:37 1999 Andrew Cagney + + * serial.c, serial.h, ser-tcp.c, ser-unix.c, ser-pipe.c: Convert + all functions to ISO-C. + * serial.h, serial.c: Move all indirect macro function calls from + serial.h into serial.c. + (serial_drain_output, serial_flush_output, serial_flush_input, + serial_raw, serial_get_tty_state, serial_set_tty_state, + serial_print_tty_state, serial_noflush_set_tty_state, + serial_setbaudrate, serial_setstopbits): New functions. + (do_serial_close): Rename serial_close. + (serial_close, serial_un_fdopen): New functions. Call + do_serial_close. + +1999-09-13 James Ingham + + * symtab.c (decode_line_1): Find the rightmost parenthesis in the + expression, not the leftmost. This allows us to parse function + declarations with embedded function prototypes. + +Mon Sep 13 18:39:31 1999 Jeffrey A Law (law@cygnus.com) + + * pa64solib.c (pa64_sharedlibrary_info_command): Fix typos. + +1999-09-13 Kevin Buettner + + * i386-tdep.c (i386_extract_return_value): ifdef'd so that + non-linux targets will work again. + (i386_do_registers_info, i386_print_register): Revert changes + of 1999-09-03; these functions have been removed because they + are Linux specific and break non-Linux builds. This functionality + will be restored after FP support unification has been achieved. + * i387-tdep.c (i387_print_register, void i387_float_info): + Likewise. + * config/i386/tm-linux.h (i387_float_info, FLOAT_INFO, + DO_REGISTERS_INFO, i386_do_registers_info, + i387_print_register): Likewise. + +1999-09-13 Elena Zannoni + + * event-top.c (call_readline): Change to accept gdb_client_data as + param. + (rl_callback_read_char_wrapper): New function to match what the + event loop expects and what readline expects. + (change_line_handler): Make call_readline point to + rl_callback_read_char_wrapper, instead of rl_callback_read_char. + (_initialize_event_loop): Ditto. + (gdb_readline2): Change parameter to gdb_client_data. + * event-top.h (call_readline, gdb_readline2): Change accordingly. + + * event-loop.c (add_file_handler): Change 2nd par to + handler_func*. No more need for casting. + * event-loop.h (create_async_signal_handler): Change accordingly. + + * inferior.h (fetch_inferior_event): Change parameter to void*. + * infrun.c (fetch_inferior_event): Ditto. + +1999-09-13 Stan Shebs + + * infrun.c (step_into_function): New function, broken out from the + step_into_function label in handle_inferior_event. + (handle_inferior_event): Change a goto into a function call. + +1999-09-13 Elena Zannoni + + * event-top.h: New file. All the exported vars and functions from + event-top.c. + + * event-loop.h (struct gdb_event, event_handler_func, + file_handler, async_signal_handler, SELECT_MASK, fd_mask, NBBY, + FD_SETSIZE, howmany, NFDBITS, MASK_SIZE): Move to event-loop.c. + (struct prompts, PROMPT, PREFIX, SUFFIX, display_gdb_prompt, + async_init_signals, set_async_editing_command, + set_async_annotation_level, set_async_prompt, handle_stop_sig, + handle_sigint, pop_prompt, push_prompt, gdb_readline2, + mark_async_signal_handler_wrapper, async_request_quit, + async_command_editing_p, exec_done_display_p, + async_annotation_suffix, new_async_prompt, the_prompts, + call_readline, input_handler, input_fd): Move to event-top.h. + (All function prototypes): Don't use PARAMS anymore. + + * event-loop.c: (struct gdb_event, event_handler_func, + file_handler, async_signal_handler, SELECT_MASK, fd_mask, NBBY, + FD_SETSIZE, howmany, NFDBITS, MASK_SIZE): Move to here from + event-loop.h. + Include event-top.h. Remove use of PARAMS. ANSIfy functions headers. + + * event-top.c: Include event-top.h. Include "signals.h", not + . + Remove use of PARAMS. ANSIfy functions headers. + (handle_stop_sig): move prototype to event-top.h. + + * remote.c: Include event-top.h. Make it understand + async_signal_handler type. + * infrun.c: Include event-top.h. + * mi-main.c: Ditto. + * top.c Ditto. + * utils.c: Ditto. + +Mon Sep 13 18:54:05 1999 Andrew Cagney + + * gdbarch.sh: Describe each of the fields. + +Mon Sep 13 17:51:28 1999 Andrew Cagney + + From 1999-09-12 Jim Blandy : + * gdbarch.sh (generating setters): Use sed to generate the proper + indentation, not tr; tr's behavior is notoriously unportable. + +1999-09-10 Jim Blandy + + * i387-tdep.c (print_387_control_bits): Don't print newline; the + callers take care of that. (Thanks to H.J. Lu.) + +1999-09-09 Stan Shebs + + * d10v-tdep.c (DMEM_START): Set to 0x2000000. + (itrace, iuntrace, info itrace, itdisassemble, itracedisplay, + itracesource): Add 'i' prefix to commands, so as not to conflict + with generic trace commands. + +1999-09-09 Fernando Nasser + + * remote.c (_initialize_remote): Fix the specification of the + "remote" prefix to set and show commands. + +1999-09-09 Elena Zannoni + + * event-loop.c (create_file_event): New function. Creates a gdb + event for a given fd. + (gdb_wait_for_event): Use create_file_event(). + * event-loop.h: export create_file_event(). + + * event-loop.c (delete_file_handler): Move the clearing of the + mask to later on in the function, because we need it in order to + deactivate the correct fd when using select(). + + * m32r-tdep.c (decode_prologue): Fix typo. Instructions starting + with 0xf are branch instructions. + (m32r_scan_prologue): Initialize framesize to 0. + +1999-09-07 J.T. Conklin + + * i386-stub.c (exceptionHook, oldExceptionHook): Removed. + (handle_exception): Removed #if'd out exception hook code. + + * i386-stub.c, m68k-stub.c (error): Removed unused variable. + + * i386-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c, sparclet-stub.c (remcomInBuffer, remcomOutBuffer): + Make static. + +Tue Sep 7 14:06:22 1999 Kevin Buettner + + * config/i386/tm-linux.h (SOFUN_ADDRESS_MAYBE_MISSING): + Define. + +Tue Sep 7 08:18:01 1999 Kevin Buettner + + From Jim Blandy : + + Step into calls to functions in shared libraries properly. See + the comments for SKIP_SOLIB_RESOLVER atop infrun.c for details. + * infrun.c (SKIP_SOLIB_RESOLVER): New macro. + +1999-09-05 Fred Fish + + * elfread.c (elf_symtab_read): Remove separately passed bfd + pointer and offset. Pick up bfd pointer from objfile, and + get offset from objfile's section_offsets. + +Fri Sep 3 22:29:39 1999 Kevin Buettner + + * config/i386/tm-linux.h (REGISTER_NAMES): Changed register + named "foo" to "fopo" which more accurately describes the FPU + Operand Pointer Offset. The real reason for this change, of + course, is that many programmers use $foo as a convenience + variable and are likely to be unpleasantly surprised to find + that they're unwittingly changing the state of their ia32 FPU. + +1999-09-03 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (monitor_supply_register): Stop scanning val string + if a newline is encountered. + +1999-09-03 Jason Molenda (jsm@bugshack.cygnus.com) + + monitor.c (TARGET_BUF_SIZE): New macro, defined to 2048. + (monitor_expect_regexp, monitor_wait, monitor_dump_reg_block, + monitor_dump_reg_block): Dump hard-coded constants in favor + of TARGET_BUF_SIZE. + + (readchar): Re-enable output of characters read from monitor when + remotedebug is set. + + (monitor_supply_register): Use ULONGEST to hold value. + Replace strtoul() call with hand-coded loop to handle values + larger than 'long'. + + (monitor_store_register): Use ULONGEST to hold value. + +Fri Sep 3 00:47:44 1999 Kevin Buettner + + [Merged linux/x86 floating point code from Bill Metzenthen, + Jim Blandy, Anthony Green, H. J. Lu, and possibly others. The + following remarks are Jim Blandy's.] + + * findvar.c (extract_floating): Call TARGET_EXTRACT_FLOATING, if + #defined. + (store_floating): Call TARGET_STORE_FLOATING, if #defined. + + * i386-tdep.c (i386_print_register, i386_do_registers_info): New + functions. + (i386_extract_return_value): GNU/Linux returns floating point + values in a floating point register too. + (set_disassembly_flavor): Add prototype. + (i386_extract_return_value): Use FPDATA_REGNUM, not FP0_REGNUM ( + which wasn't the first FP data register). + (i386_do_registers_info): Use FPSTART_REGNUM and FPEND_REGNUM as + the limits of the FPU-related registers. + (i386_extract_return_value): Tell GDB how to find return values + larger than four bytes. (Thanks to Paul N. Hilfinger for the bug + report.) + + * i387-tdep.c (print_387_control_word): Break out bit-splitting into... + (print_387_control_bits): New function. + (print_387_status_word): Break out bit-splitting into... + (print_387_status_bits): New function. + (i387_print_register, i387_float_info, i387_hex_float_input): New + functions. + (i387_extract_floating, i387_store_floating): New functions. + + * valprint.c (print_floating): Use macro TARGET_ANALYZE_FLOATING, + if it's #defined. Tolerate values of `nonnegative' other than + zero and one. + + * i386-linux-nat.c: New file. + * Makefile.in (ALLDEPFILES): Mention i386-linux-nat.c. + (i386-linux-nat.o): New rule, listing dependencies. + * config/i386/linux.mh (NATDEPFILES): Use i386-linux-nat.o, not + the plain i386v4-nat.o. + * config/i386/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define. + * config/i386/xm-linux.h: Define HOST_I386. + + * config/i386/tm-linux.h (FP0_REGNUM): Replaced by... + (FPSTART_REGNUM, FPCONTROL_REGNUM, FPSTATUS_REGNUM, FPTAG_REGNUM, + FPDATA_REGNUM, FPEND_REGNUM): New definitions. + (REGISTER_BYTES): Changed accordingly. + (SKIP_SOLIB_RESOLVER): #define this. + (i386_linux_skip_solib_resolver): New declaration. + (i387_float_info): Added extern decl for this function. + (TARGET_EXTRACT_FLOATING, TARGET_STORE_FLOATING, + TARGET_ANALYZE_FLOATING): Define. + (i387_extract_floating, i387_store_floating): New extern decls. + (I386_GNULINUX_TARGET): Define. + (NUM_REGS, NUM_FREGS, REGISTER_NAMES, FP0_REGNUM, FPDATA_REGNUM, + FPENV_BYTES, FPREG_RAW_SIZE, FPREG_BYTES, REGISTER_BYTES, + REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE, + MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE, + TARGET_LONG_DOUBLE_BIT, FLOAT_INFO, DO_REGISTERS_INFO): New + definitions, perhaps overriding those inherited from + config/i386/tm-i386.h. + (i386_do_registers_info, i387_print_register, double_to_i387, + i387_to_double): New declarations. + (LD_I387): Define iff both the host and target are using i387 + FPU's. + (HEX_FLOAT_INPUT, REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, + REGISTER_VIRTUAL_TYPE): Define these if LD_I387 is defined. + + * source.c (list_command): List the right number of source lines, + even if we're at the top of the file. + +1999-09-02 Stan Shebs + + * infrun.c (step_over_function): New function, broken out from the + step_over_function label in handle_inferior_event. + (handle_inferior_event): Change a goto into a function call. + +Thu Sep 2 18:26:04 1999 Andrew Cagney + + * Makefile.in (GDB_WERROR_CFLAGS, GBB_WARN_CFLAGS): Define. + (INTERNAL_CFLAGS): Update + * configure.in (WERROR_CFLAGS, WARN_CFLAGS): Sync with + ../sim/common/aclocal.m4. + * configure: Re-generate. + +Thu Sep 2 00:27:36 1999 Andrew Cagney + + * Makefile.in (z8k-tdep.o): For moment, don't try to compile with + -Werror. See Makefile.in. + * z8k-tdep.c (z8k_set_pointer_size): Document problem. + + * config/z8k/tm-z8k.h (z8k_print_register_hook, z8k_frame_chain, + z8k_saved_pc_after_call, z8k_frame_saved_pc, + z8k_set_pointer_size): Declare. + (z8k_skip_prologue): Fix typo. Was mz8k_skip_prologue. + (FRAME_CHAIN, PRINT_REGISTER_HOOK, FRAME_SAVED_PC, + SAVED_PC_AFTER_CALL): Update. + * z8k-tdep.c (z8k_print_register_hook): Rename + z8k_print_register_hook. + (z8k_frame_chain): Rename frame_chain. + (z8k_saved_pc_after_call): Rename saved_pc_after_call. + (z8k_frame_saved_pc): Rename frame_saved_pc. + (z8k_print_register_hook): Fix printf. + (read_memory_pointer): Add declaration. + ("value.h"): Include. + * Makefile.in (z8k-tdep.o): Add dependency on value.h. + + * config/sparc/tm-sparc.h (PRINT_EXTRA_FRAME_INFO): Fix + printf. calls + * Makefile.in (remote-e7000.o): For moment, don't try to compile + with -Werror. See Makefile.in. + * sh-tdep.c (sh_show_regs): Fix printf calls. + * xcoffsolib.c (solib_info): Fix Printf calls. + * dink32-rom.c: #include "symfile.h" for generic_load and + "inferior.h" for write_pc. + * Makefile.in (dink32-rom.o): Update. + + * config/mn10300/tm-mn10300.h (mn10300_store_struct_return), + config/mn10200/tm-mn10200.h (mn10200_store_struct_return): Add + declarations. + +Tue Aug 31 00:48:27 1999 Andrew Cagney + + * config/mips/tm-tx49el.h (REGISTER_SIM_REGNO): Define. + + * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register): + Pass REGISTER_SIM_REGNO converted register number to the + simulator. + +1999-09-01 Tom Tromey + + * config/i386/nm-linux.h (PREPARE_TO_PROCEED): Added argument. + +1999-09-01 Elena Zannoni + + * values.c (value_virtual_fn_field): Remove unused var(s). + * thread.c (prune_threads): Ditto. + * symtab.c (lookup_transparent_type): Ditto. + (decode_line_1): Ditto. + (make_symbol_overload_list): Ditto. + * rs6000-tdep.c (frame_get_saved_regs): Ditto. + (set_processor): Ditto. + * remote.c (remote_remove_breakpoint): Ditto. + (remote_query): Ditto. + (readtty): Ditto. + * remote-sds.c (sds_fetch_registers): Ditto. + (putmessage): Ditto. + * ppcbug-rom.c (ppcbug_supply_register): Ditto. + (ppcbug_open): Remove unused prototype. + * parse.c (parse_nested_classes_for_hpacc): Remove unused var(s). + * ocd.c (ocd_open): Ditto. + (ocd_get_packet): Ditto. + * monitor.c (monitor_error): Ditto. + (monitor_wait_srec_ack): Ditto. + * main.c (main): Ditto. + * gdbtypes.c (count_virtual_fns): Ditto. + * exec.c (exec_file_command): Ditto. + + * event-top.c: Include handle_sigwinch() function prototype within + appropriate #ifdef. + + * eval.c (evaluate_subexp_standard): Remove unused variable. + (evaluate_subexp_standard): Remove unused variables. + * dink32-rom.c (dink32_supply_register): Remove unused variable. + * dbxread.c (elfstab_build_psymtabs): Ditto. + * command.c (do_setshow_command): Ditto. + * breakpoint.c (solib_load_unload_1): Remove unused variables 'i' + and 'sal'. + (until_break_command): Remove unused variables 'arg1' and 'arg2'. + (create_exception_catchpoint): Remove unused variable 'i'. + * ax-gdb.c (gen_sub): Remove unused variable. + (_initialize_ax_gdb): Ditto. + + * ser-pipe.c (pipe_readchar): If timeout is expired return + SERIAL_TIMEOUT. + * ser-tcp.c (tcp_readchar): If timeout is expired return + SERIAL_TIMEOUT. + +Wed Sep 1 15:07:25 1999 Andrew Cagney + + * version.h: New file. + * Makefile.in (version_h): Define. + (version.o): Add target. + + * remote-array.c: #include "version.h". + (version): Delete extern declarations. + * Makefile.in (remote-array.o): Add dependency on version.h. + + * top.c: #include "version.h". + (version, host_name, target_name): Delete extern declarations. + * Makefile.in (top.o): Add dependency on version.h. + + * remote.c (remote_remove_watchpoint, remote_insert_watchpoint), + remote-array.c (array_open), remote-mips.c (send_srec), + dve3900-rom.c (store_bitmapped_register): Fix Printfs. + + * mips-tdep.c (mips_print_extra_frame_info, print_unpack), + m32r-rom.c (m32r_load_section), m32r-tdep.c (m32r_frame_chain), + dsrec.c (load_srec): Fix printf problems. + +Wed Sep 1 13:16:49 1999 Andrew Cagney + + * Makefile.in (monitor.o): For moment, don't try to compile with + -Werror. monitor.c has -Wformat problems. See Makefile.in for + more info. + +Tue Aug 31 21:23:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (prologue_inst_adjust_sp): Correct offset computation + for doubleword store instructions. + (hppa_frame_find_saved_regs): Similarly. + +Wed Sep 1 09:22:50 1999 Andrew Cagney + + * d30v-tdep.c (d30v_print_register): + (tdisassemble_command): + + * d10v-tdep.c (show_regs, trace_info, tdisassemble_command): Fix + printf problems. + + * remote-sim.c (dump_mem), remote-rdi.c (arm_rdi_create_inferior): + Fix printf arguments. + + * remote-mips.c, mips-tdep.c: Move declaration of + ``mips_set_processor_type_command'' from here. + * config/mips/tm-mips.h: To here. + * remote-array.c: #include "inferior.h". + * config/mips/tm-embed.h (remote_mips_stopped_by_watchpoint): Add + declaration. + * remote-mips.c (remote_mips_stopped_by_watchpoint): Define using + ISO-C prototype. + (monitor_supports_breakpoints): Integer variable. + + * m32r-rom.c: #include "inferior.h" and + * config/m32r/tm-m32r.h (m32r_write_sp): Add declaration. + + * config/i960/tm-i960.h (leafproc_return, i960_pop_frame): Add + declaration. + (POP_FRAME): Call i960_pop_frame. + * i960-tdep.c (i960_pop_frame): Rename pop_frame. + * mon960-rom.c: #include "inferior.h" for declaration of write_pc. + +1999-08-15 Fred Fish + + * objfiles.c (objfile_relocate): Use SIZEOF_SECTION_OFFSETS when + allocating section_offsets array. + * remote-os9k.c (rombug_wait): Ditto. + * remote-vx.c (vx_add_symbols): Ditto. + * remote.c (get_offsets): Ditto. + (remote_cisco_objfile_relocate): Ditto. + * rs6000-nat.c (vmap_symtab): Ditto. + + * dstread.c (dst_symfile_offsets): Set section_offsets directly instead + of returning a pointer to section offsets. + * somread.c (som_symfile_offsets): Ditto. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + * symfile.c (default_symfile_offsets): Ditto. + (syms_from_objfile): The sym_offsets function has already set section + offsets and no longer returns a value. + + * xcoffread.c (scan_xcoff_symtab): Eliminate section_offsets passed + separate from objfile. + (xcoff_start_psymtab): Ditto. + (START_PSYMTAB): Ditto. + * os9kread.c (read_minimal_symbols): Ditto. + (read_os9k_psymtab): Ditto. + (os9k_start_psymtab): Ditto. + (record_minimal_symbol): Ditto. + * dbxread.c (START_PSYMTAB): Ditto. + (start_psymtab): Ditto. + * mdebugread.c (START_PSYMTAB): Ditto. + (elfmdebug_build_psymtabs): Ditto. + (mdebug_build_psymtabs): Ditto. + (parse_partial_symbols): Ditto. + (new_psymtab): Ditto. + * dwarfread.c (dwarf_build_psymtabs): Ditto. + * partial-stab.h (START_PSYMTAB): Ditto. + * stabsread.h (start_psymtab): Ditto. + * dwarf2read.c (dwarf2_build_psymtabs): Ditto. + (dwarf2_build_psymtabs_easy): Ditto. + (dwarf2_build_psymtabs_hard): Ditto. + * hp-psymtab-read.c (hpread_build_psymtabs): Ditto. + (hpread_quick_traverse): Ditto. + (hpread_start_psymtab): Ditto. + (scan_procs): Ditto. + * hpread.c (hpread_build_psymtabs): Ditto. + * symfile.h (dwarf2_build_psymtabs): Ditto. + + * dbxread.c (read_dbx_symtab): Use ANOFFSET to access section + offsets. + * coffread.c (enter_linenos): Pass objfile instead of section + offsets. + + * dbxread.c (dbx_symfile_read): No need to explicitly pass + text addr and size. Let read_dbx_symtab find them. + (read_dbx_symtab): Get text addr and size from objfile. + (dbx_symfile_read): Remove dead code (call to strlen); + +1999-08-31 Michael Snyder + + * Makefile.in: add rule for sol-thread.o. + Add rule for linux-thread.o. + +1999-08-13 Jim Kingdon + + Threads code from gdb 4.18-codefusion-990706 + [Thanks to Eric Paire, H. J. Lu, Jim Blandy and others] + * infrun.c (signal_stop_update, signal_print_update, + signal_pass_update): new functions. + * inferior.h: new prototypes for above functions. + * target.h (enum strata): add thread stratum. + * linux-thread.c: new file. Support for debugging linux threads. + * config/i386/nm-linux.h: several new prototypes for above. + * config/i386/linux.mh: add linux-thread.o to NATDEPFILES. + + More threads code from the same place: + * config/i386/tm-linux.h (REALTIME_LO, REALTIME_HI): Add + definitions. + * target.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_32. + * target.c (signals, target_signal_from_host, + target_signal_to_host): Add clauses for + TARGET_SIGNAL_REALTIME_32. + +1999-08-31 Neil Schellenberger + + * sol-thread.c (sol_thread_detach): strip thread-id out of + inferior_pid, so that procfs_detach can't choke on it. + +1999-08-31 J.T. Conklin + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c, sparclet-stub.c (getpacket): Remove 'buffer' arg, + define it as a pointer to &remcomInBuffer[0]. + (handle_exception): Update. + + * sparc-stub.c, sparcl-stub.c, sparclet-stub.c (handle_exception): + Removed #ifdef'd out code which implements the non-standard 'b' + (set baud rate) command. + +1999-08-31 Stan Shebs + + * infrun.c (keep_going): New function, broken out from the + keep_going label in handle_inferior_event. + (handle_inferior_event): Change more gotos into function calls. + +Tue Aug 31 02:29:27 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (read_unwind_info): Handle multiple unwind sections. + +Tue Aug 31 15:28:44 1999 Andrew Cagney + + * config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Fix printf + format argument. + * alpha-tdep.c (heuristic_proc_start): Ditto. + + From Stan Shebs : + * defs.h (strlen_paddr): Fix prototype - add void argument list. + +Tue Aug 31 14:02:12 1999 Andrew Cagney + + * defs.h (gdb_print_host_address), utils.c + (gdb_print_host_address): Rename gdb_print_address. + + * expprint.c, gdbtypes.c, symmisc.c: Update. + + *expprint.c: Use gdb_print_host_address when displaying native + pointers. + +Sat Aug 28 14:23:29 1999 Andrew Cagney + + * scm-valprint.c (scm_ipruk), jv-valprint.c (java_value_print), + cp-valprint.c (cp_print_class_member), exec.c (exec_files_info), + remote.c (putpkt_binary, compare_sections_command, + remote_cisco_section_offsets), dcache.c (dcache_info), + breakpoint.c (break_at_finish_at_depth_command_1, + break_at_finish_command_1), symfile.c (generic_load), + (report_transfer_performance), top.c (get_prompt_1), f-valprint.c + (f_val_print), maint.c (maintenance_translate_address): Fix printf + -Wformat warnings. Use paddr, paddr_nz, sizeof_paddr, paddr_u and + paddr_d to print addresses. Change ``d'' to ``ld''. + + * utils.c (strlen_paddr): New function. + +Tue Aug 31 01:36:44 1999 Andrew Cagney + + * config/d30v/tm-d30v.h (d30v_frame_chain, + d30v_init_frame_pc): Add declaration. + + * arc-tdep.c (arc_pop_frame): Rename pop_frame. + (arc_push_dummy_frame): Rename push_dummy_frame. + (arc_set_cpu_type_command): Add declaration. + + * config/arc/tm-arc.h (arc_pop_frame, arc_push_dummy_frame): Add + declaration. + +1999-08-30 Stan Shebs + + * infrun.c (prepare_to_wait): New function, broken out from the + wfi_continue label in handle_inferior_event. + (handle_inferior_event): Change more gotos into function calls. + +1999-08-30 Michael Snyder + + * tracepoint.c: -Wall warning cleanup. + (parse_and_eval_memrange): remove (unused). + (output_command, args_info, locals_info, registers_info): add decls. + (getpkt, putpkt, remote_console_output): add decls. + (isalnum, isspace): cast arg to avoid warning. + (printf, fprintf, sprintf): use [fs]printf_vma for printing addrs. + +Mon Aug 30 21:47:58 1999 Andrew Cagney + + * d10v-tdep.c: #include "language.h". + +Mon Aug 30 20:38:57 1999 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for . + * configure, acconfig.in: Re-generate. + + * remote-rdp.c: #include + + * config/arm/tm-arm.h (arm_float_info): Add declaration. + + * arm-tdep.c (convert_from_extended, convert_to_extended): Change + double ptr arg to void ptr arg. + + * config/arm/tm-arm.h (arm_frameless_function_invocation): Add + declaration. + (arm_frame_find_saved_regs): Rename frame_find_saved_regs. + (convert_from_extended, convert_to_extended): Add declaration. + +Mon Aug 30 19:05:32 1999 Andrew Cagney + + * configure.in (WERR_CFLAGS): Separate the -Werror flag. + * configure: Re-generate. + + * Makefile.in (INTERNAL_CFLAGS): Re-define using + INTERNAL_WARN_CFLAGS. + (INTERNAL_WARN_CFLAGS): Define. Leave off WERR_CFLAGS. + (tracepoint.o): Add explicit rule. + (WERR_CFLAGS): Add definition. + +Mon Aug 30 17:52:17 1999 Andrew Cagney + + * utils.c: #include "event-loop.h" for declaration of + async_request_quit. + * Makefile.in (utils.o): Add dependency on event-loop.h. + + * event-top.c (mark_async_signal_handler_wrapper, + async_request_quit): Move declaration from here. + * event-loop.h: To here. + + * defs.h: Add declaration of exec.c:exec_set_section_offsets. + + * event-top.c: #include "gdbcmd.h" which includes "command.h" and + hence expose declaration of function dont_repeat. + + * top.c (ISATTY), tracepoint.c (ISATTY), utils.c (ISATTY), + event-top.c (ISATTY): Move definitions from here. + * defs.h (ISATTY): To here. #include . + + * sol-thread.c, solib.c, source.c, sparcl-tdep.c, tracepoint.c, + utils.c, win32-nat.c, wince.c, top.c, symfile.c, ser-unix.c, + ser-tcp.c, procfs.c, maint.c, infttrace.c, hppa-tdep.c, + ser-pipe.c, remote-rdp.c, main.c, inftarg.c, inflow.c, + hpux-thread.c, hp-psymtab-read.c, go32-nat.c, fork-child.c, + corelow.c, command.c: Do not #include , moved to defs.h. + +Mon Aug 30 15:14:43 1999 Andrew Cagney + + * defs.h (struct tui_stream, enum streamtype): Move from here. + * utils.c: To here. + + * main.c (tui_file_fputs): Move from here. + * utils.c: To here. + +Sun Aug 29 10:03:32 1999 Andrew Cagney + + * gdb-events.h, gdb-events.c, gdb-events.sh: New files. + +1999-08-27 Michael Snyder + + * solib.c (open_symbol_file_object): new function. + Called when attaching to a new process, if there is no loaded + symbol file. Attempts to locate the executable file for the + attached process and load symbols from it. + (solib_add): Call open_symbol_file_object if attaching to a + new process and no open symbol file. + +1999-08-27 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/i386/tm-sun386.h (GDB_TARGET_IS_SUN386): Definition + removed--no longer checked anywhere in gdb. + +1999-08-27 Stan Shebs + + * infrun.c (stop_stepping): New function, broken out from + stop_stepping label in handle_inferior_event. + (handle_inferior_event): Change gotos into function calls. + +Fri Aug 27 20:13:22 1999 Andrew Cagney + + * defs.h (LONGEST): Move definition to earlier in file - to just + after BFD. + (paddr_u, paddr_d): Declare. + * utils.c (decimal2str): New function. + (paddr_u, paddr_d): Define. + + * remote.c (remote_cisco_section_offsets, + compare_sections_command): Fix XprintfX arguments. Use paddr... + (putpkt_binary): Fix XprintfX arguments. + +Tue Aug 24 21:30:36 1999 Andrew Cagney + + * arm-tdep.c (arm_init_extra_frame_info): Add braces. Recommended + by gcc -Wparentheses. + +1999-08-26 Stan Shebs + + * infrun.c (check_sigtramp2): New function, broken out from + check_sigtramp2 label in handle_inferior_event. + (handle_inferior_event): Change gotos into function calls. + + Declare Tahoe configuration obsolete. + * configure.host, configure.tgt: Comment out Tahoe configs. + * Makefile.in: Comment out Tahoe-related action. + * tahoe-tdep.c, config/tahoe/*: Comment out. + * NEWS: Mention obsolete status. + +1999-08-26 J.T. Conklin + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sh-stub.c, + sparc-stub, sparcl-stub.c sparclet-stub.c (getpacket): If '$', + the packet start character is received in the 'middle' of a + packet, assume that packet end character has been lost and + start a new packet. + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub.c sparclet-stub.c (getpacket): Changed to return ptr + to first character of input buffer. Removed & 0x7f masks. + (handle_exception): Don't access remcomInBuffer directly. + +1999-08-25 Stan Shebs + + * breakpoint.c (disable_breakpoints_in_shlibs): Only disable + enabled breakpoints. + +Tue Aug 24 14:59:23 1999 Andrew Cagney + + * tracepoint.c, remote.c, pa64solib.h, value.h, somsolib.h, + solib.h, scm-lang.h, language.h, inferior.h, defs.h, coff-solib.h, + ch-lang.h, breakpoint.h, annotate.h: Remove #if __STDC__ wrapping + struct declarations. + + * config/sparc/nm-sun4sol2.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/i386/tm-i386.h, + config/i386/tm-i386v.h, config/i386/nm-i386sol2.h, + config/pa/nm-hppah.h, config/rs6000/nm-rs6000.h, + config/sparc/tm-sp64.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mips/tm-mips.h, config/m68k/tm-m68k.h, + config/m32r/tm-m32r.h, config/i960/tm-mon960.h, + config/fr30/tm-fr30.h, config/h8300/tm-h8300.h, + config/arm/tm-arm.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Ditto. + +Wed Aug 25 10:45:33 1999 Andrew Cagney + + * Makefile.in (gdb$(EXEEXT)): Add dependency on TDEPLIBS. + + * config/arm/arm.mt (TDEPLIBS): Define. Move libangsd.a to here. + (TDEPFILES): From here. + +1999-08-24 Elena Zannoni + + * top.c (init_main): Add new set/show command exec-done-display, + default value is off. + * event-loop.h: Export exec_done_display_p. + * event-top.c: New variable exec_done_display_p. + * infrun.c (complete_execution): Print completion message if + corresponding flag is set. + + * top.c (DEFAULT_PROMPT): Add space after "(gdb)" at end of prompt. + + From: J.T. Conklin + * top.c (DEFAULT_PROMPT): Set to "(gdb)" if not already defined. + (init_main): Always use DEFAULT_PROMPT. + +Tue Aug 24 03:23:31 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c: Remove useless "purecov: deadcode" comments. + (hppa_use_struct_convention): Update for PA64. + (hppa_frame_saved_pc): Properly extract the saved PC in a call + dummy frame. + (in_solib_call_trampoline): Return nonzero if we are in a function + called ".stub". + (prologue_inst_adjust_sp): Handle std,ma. + (skip_prologue_hard_way): Handle more PA2.0/PA64 insns. + (hppa_frame_find_saved_regs): Similarly. Handle indirect save of + %r3 into the stack. + + * config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Define. + (CALL_DUMMY_BREAKPOINT_OFFSET): Define. + +Tue Aug 24 14:59:23 1999 Andrew Cagney + + * Makefile.in (gdb$(EXEEXT)): Add dependency on main.o that was + lost when libgdb.a was added. + +Tue Aug 24 14:26:34 1999 Andrew Cagney + + * gdbarch.c, gdbarch.h: Convert to pure ISO-C. + + * gdbarch.sh: New file. + * gdbarch.c, gdbarch.h: Add note describing gdbarch.sh + +Mon Aug 23 19:36:17 1999 Andrew Cagney + + * Makefile.in (libgdb.a): New target. + (gdb$(EXEEXT)): Add dependency on libgdb.a. + (libgdb-files, LIBGDB_OBS, libgdb, LIBGDBDEPS, LIBGDBFILES): Delete. + +Mon Aug 23 10:16:32 1999 Jeffrey A Law (law@cygnus.com) + + * infttrate.c (child_pid_to_exec_file): Find the correct base + of the stack for PA64. + + * pa64solib.c: Fix some minor whitespace problems. + (bfd_lookup_symbol): New function. + (pa64_solib_create_inferior_hook): Find the address __dld_break + in the dynamic linker. Try to set a shlib event breakpoint in + that function. + (add_to_solist): Do not add the same shared library to the shlib + list more than once. + +Sun Aug 22 14:49:40 1999 Andrew Cagney + + * value.h (enum lval_type): Move declaration from here. + * defs.h (enum lval_type): To here. + * frame.h, gdbarch.h: Delete incomplete declaration of ``enum + lval_type''. + +1999-08-20 Michael Snyder + + * breakpoint.c (can_use_hardware_watchpoint): reject expressions + that refer to registers or register variables. + +Fri Aug 20 10:53:38 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Provide PA2.0W aware code. + + * pa64solib.c pa64solib.h: New files. + + * config/pa/hppa64.mt: Delete commented out code that is and + never will be appropriate for this target. + * config/pa/hpux11w.mt (TDEPFILES): Remove SOM references. Also + remove pa64solib.o. + * config/pa/hpux11w.mh (NATDEPFILES): Remove SOM references. + + * configure.host; Use "hpux11w" and "hpux11" instead of + "hpux1100w" and "hpux1100" respectively + * config/pa/hpux11w.mh: Renamed from hpux1100w.mh. + * config/pa/hpux11w.mt, config/pa/hpux11.mh: Likewise. + * config/pa/hpux11.mt: Likewise. + +1999-08-19 Michael Snyder + + * breakpoint.h (target_hw_bp_type): new enum. + * breakpoint.c (insert_breakpoints): use enum instead of consts. + (remove_breakpoint): use enum instead of consts. + (throughout): use "warning" instead of "fprintf(stderr, ..." + [Also clean up a bunch of excessively long lines.] + +1999-08-19 J.T. Conklin + + * i386-stub.c (waitabit): Removed. + (breakpoint): Update. + + * i386-stub.c, m32r-stub.c, sparc-stub.c, sparcl-stub.c, + sparclet-stub.c (set_debug_traps): Don't send gratuitous ACK. + + * m68k-stub.c (putpacket): Restore code so that packets are sent + until an ACK is received. + +1999-08-19 Eli Zaretskii + + * breakpoint.c (bpstat_stop_status): Accept triggered addresses + anywhere inside the region occupied by a watched variable as a + sign that the watchpoint fired. Don't stop if some watchpoint + was triggered, but its address doesn't match the address of this + watchpoint. + (TARGET_REGION_OK_FOR_HW_WATCHPOINT): New macro. + Default definition is to call TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT. + (can_use_hardware_watchpoint): Call TARGET_REGION_OK_FOR_HW_WATCHPOINT; + if it returns zero, return zero immediately. + (insert_breakpoints): Try to insert watchpoints for all the values + on the value chain, even if some of them fail to insert. Remove + the breakpoint if parts of its value chain couldn't be inserted. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (go32_stopped_by_watchpoint): Remove unused code. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (tcgetpgrp, tcsetpgrp): New functions. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (go32_wait): If we are in a single-step mode, and the + next instruction is INT nn or INTO, use a temporary breakpoint to + simulate single-step mode, and reset the trace flag. + +1999-08-19 Eli Zaretskii + + * go32-nat.c (wp_op): New typedef. + (SHOW_DR): Print the length of watched region as well. + (go32_insert_aligned_watchpoint): Remove unused argument PID. All + callers and the prototype changed. + (go32_handle_nonaligned_watchpoint): Renamed from + go32_insert_nonaligned_watchpoint. Now handles all operations on + non-aligned watchpoints: insertion, deletion, and counting. If + called with wp_count as the first argument, return the count of + debug registers needed to watch the region. Don't break out of + the loop before all the addresses in the region are processed. + (go32_remove_watchpoint): Call go32_remove_aligned_watchpoint to + do the actual work. + (go32_remove_aligned_watchpoint): New function, modeled after + go32_insert_aligned_watchpoint. Removes watchpoints that watch + regions of arbitrary length by calling + go32_handle_nonaligned_watchpoint as needed. + (go32_region_ok_for_watchpoint): New function, called from + can_use_hardware_watchpoint via the new macro + TARGET_REGION_OK_FOR_HW_WATCHPOINT. + + * config/i386/nm-go32.h (TARGET_REGION_OK_FOR_HW_WATCHPOINT): + Define to call go32_region_ok_for_watchpoint. + (DECR_PC_AFTER_HW_BREAK): Define back to zero (previous redefinition + to 1 was due to a bug in go32-nat.c). + +1999-08-19 Eli Zaretskii + + * go32-nat.c (cleanup_dregs): New function. + (go32_mourn_inferior): Call it. + (IS_REG_FREE, LOCAL_ENABLE_REG, GLOBAL_ENABLE_REG, DISABLE_REG, + SET_BREAK, SET_WATCH, IS_WATCH, WATCH_HIT): Protect arguments with + parentheses. + (SET_BREAK): Increment the debug register's reference count. + (DR_DEF): New macro, returns the access and length bits of the + breakpoint. + (SHOW_DR): Print the reference count of each register. Disable or + enable print-out depending on an environment variable GDB_SHOW_DR. + (go32_insert_aligned_watchpoint): Look for an occupied debug + register with the same address and access/length bits, and reuse + it by incrementing reference the count, before occupying another + register. Return zero upon success. + (go32_insert_nonaligned_watchpoint): Pass the read/write bits to + go32_remove_watchpoint. + (go32_remove_watchpoint): Accept an additional parameter: the + read/write bits of the watchpoint to remove, and only remove a + watchpoint if it's occupied and its address and read/write bits + match. Only disable the register if its reference count is zero; + otherwise just decrease the reference count. + (go32_remove_hw_breakpoint): Only decrease reference count and + disable the debug register if it is occupied and its access bits + match those of an instruction breakpoint. + (go32_insert_hw_breakpoint): Before occupying another debug + register, look for an already occupied register that defines an + instruction breakpoint with the same address. If found, increment + its reference count. Call SHOW_DR even if failed to insert a + breakpoint. + + * config/i386/nm-go32.h (target_remove_watchpoint): Accept the + TYPE argument as well. + +Wed Aug 18 17:47:25 1999 Andrew Cagney + + * mips-tdep.c: Add more comments. + +1999-08-17 Stan Shebs + + * blockframe.c: Don't use PARAMS anymore, remove obsolete comment + about frameless functions. + +1999-08-16 Michael Snyder + + * thread.c (delete_thread): delete any step_resume breakpoint + held by the thread. (prune_threads): call delete_thread. + * breakpoint.c (breakpoint_init_inferior): if startup, then + delete any remaining step_resume breakpoints. + * infrun.c (handle_inferior_event): add cautionary comment. + +1999-08-16 Fernando Nasser + + * remote.c (remote_async_mourn): New function. Async version of + remote_mourn(). + +1999-08-16 Eli Zaretskii + + * terminal.h [__GO32__]: Remove conditional; DJGPP now supports + termios. + +1999-08-16 Eli Zaretskii + + * command.c (CANT_FORK) [__MSDOS__]: Define. + (shell_escape) [CANT_FORK]: If ARG is NULL, pass an empty string + to `system'. + [__DJGPP__]: Return to the original directory after the shell + exits. + +1999-08-16 Eli Zaretskii + + * config/i386/xm-go32.h (ROOTED_P): Don't reference X[1] if X[0] + is a null character. + + * config/i386/nm-go32.h (DECR_PC_AFTER_HW_BREAK): Define to 1. + +1999-08-16 Eli Zaretskii + + * go32-nat.c (redir_cmdline_parse, redir_cmdline_delete, + redir_to_child, redir_to_debugger, redir_debug_init) + [__DJGPP_MINOR__ < 3]: Dummy stubs for redirecting debuggee's + standard handles. + (print_387_status): Print "last FP instruction", not "last + exception". Restore the upper 5 bits of the opcode that aren't + stored in the FPU state. Print the FPU stack in its physical + order, not relative to ST(0). Print "special", not "trap" for + unnormals and infinities. Print all 10 bytes of each FP register, + and print them with 19 significant digits. + (regno_mapping): Make the mapping consistent with tm-go32.h. + (sig_map): Add mappings for SIGQUIT, SIGFPE, SIGALRM. Map NMI to + SIGBUS. + (excep_map): New variable, maps GDB signals to DJGPP exceptions. + (go32_attach): Signal an error: we cannot attach to other + processes. + (go32_resume): Record the signal with which the inferior should be + resumed, mapped to the DJGPP exception number. + (go32_wait): Pass the signal recorded in go32_resume to the + debuggee. Save and restore debugger's and debuggee's current + working directory. + [__DJGPP_MINOR__ < 3]: Save and restore inferior's FPU state. + (store_register): FPU regsiters have numbers less than 31. + (go32_kill_inferior): Delete the parsed command-line storage. + (go32_create_inferior): Initialize the parsed command-line + storage. Parse the command line and create the redirections for + inferior's standard handles. + [__DJGPP_MINOR__ < 3]: Init the inferior's FPU state. + (ignore2): Function deleted. + (device_mode): New function, switches a character device between + raw and cooked mode. + (go32_terminal_init): Invalidate the raw/cooked mode information. + (go32_terminal_info): Print whether the inferior's terminal is in + raw or cooked mode. + [__DJGPP_MINOR__ > 2]: Say if standard handles are redirected or + closed by the inferior. + (go32_terminal_inferior): Switch standard handles to the + inferior's files/devices. Put the inferior's input device to + raw/cooked mode, exactly like we found it last time. + (go32_terminal_ours): Restore debugger's standard handles and put + the terminal into cooked mode. Save the mode of inferior's input + device. + (init_go32_ops): Assign go32_ops.to_attach, + go32_ops.to_terminal_info, go32_ops.to_terminal_ours_for_output. + Initialize inferior's cwd and the command-line storage. + +Mon Aug 16 14:29:30 1999 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (ARGS_GROW_DOWNWARD): Define. + * config/pa/tm-hppa64.h (ARGS_GROW_DOWNWARD): Undefine. + * hppa-tdep.c (hppa_push_arguments): Handle arguments growing in + both directions depending ARGS_GROW_DOWNWARD. + (hppa_find_saved_regs): Update for 64bit wide registers & pointers + and PA64 ABI. + + * hppa-tdep.c (hppa_pop_frame): Various fixes for 64bit wide + registers and pointers. + (hppa_fix_call_dummy, skip_trampoline_code): Likewise. + (restore_pc_queue): Update tests for width of memory loads. + (hppa_push_arguments): Delete version that was #if 0'd out. + + * hppa-tdep.c (push_dummy_frame): Handle the new 64it ABI. + (find_dummy_frame_regs): Corresponding changes. + + * hppa-tdep.c (read_unwind_info): Initialize obj_private->dp. + (internalize_unwinds): Improve test for when to use segment + relative code for unwinder bounds. + (rp_saved): Fix offset of saved return pointer for the 64bit ABI. + (hppa_frame_saved_pc): Various updates to handle 64bit registers + and pointers. + (frame_chain, restore_pc_queue): Likewise. + + * hppa-tdep.c (rp_saved): RP is saved at frame-16 when + pointers are 64bits wide. + + * hppa-tdep.c (record_text_segment_lowaddr): New function. + (internalize_unwinds): Use it if addressess are 8 bytes wide. + + * symfile.c (syms_from_objfile): No longer warn if the lowest + section does not have SEC_CODE set. + + * Makefile.in (pa64solib.o): Add dependencies. + + * hppah-nat.c (store_inferior_registers): Do not try to write a + nonzero value to the high part of IPSW. Fix typo in unable to store + warning. + + * config/pa/tm-hppa.h (opd_data structure): Delete. Not actually + needed. + (struct obj_private_struct): Add new entry for the objfile's DP + value. + * config/pa/tm-hppa64.h (CALL_DUMMY): Add a nop to make it an even + number of instructions. Pack the dummy into word sized hunks. + (CALL_DUMMY_LENGTH): Update appropriately. + (PC_IN_CALL_DUMMY, CALL_DUMMY_LOCATION_AFTER_TEXT_END): Delete. + +Mon Aug 16 19:08:19 1999 Andrew Cagney + + * configure.in: Try -lsocket when looking for socketpair. + * configure, config.h: Re-generate. + +1999-08-13 Elena Zannoni + + From Christopher Faylor : + + * event-loop.c (gdb_wait_for_event): Before going to wait for + another event with select or poll, flush the error and the output + streams. + + * event-top.c (gdb_readline2): Do not buffer the input, because + doing so can interfere with select/poll in bad ways. + +Fri Aug 13 17:36:56 1999 Eli Zaretskii + + * maint.c (maintenance_dump_me) [__DJGPP__]: Simulate a core dump + with SIGABRT. + * utils.c (quit) [__MSDOS__]: Don't mention SIGINT, since it's not + gonna happen. + (notice_quit): No need to define this function for the DJGPP port. + +1999-08-13 James Ingham + + * arm-tdep.c (arm_frameless_function_invocation): SKIP_PROLOGUE + macro no longer modifies its argument. Update uses to accord. + + * config/arm/arm.mt (TDEPFILES): Add the remote-rdi.o to the + TDEPFILES. + * configure.tgt: Add rdi-share to configdir for the Arm targets. + +Fri Aug 13 11:16:32 1999 Jeffrey A Law (law@cygnus.com) + + * hppah-nat.c (store_inferior_registers): Revamp to be PA2.0W + aware. + + * infttrace.c (ttrace_write_reg_64): New function. + + * hp-symtab-read.c (is_in_import_list): Delete extern declaration. + * somread.c (is_in_import_list): Delete function. + * objfiles.c (is_in_import_list): New function. + * objfiles.h (is_in_import_list): Declare. + + * config/pa/tm-hppa64.h (GDB_TARGET_IS_HPPA20W): Define before + including tm-hppah.h. + (PC_IN_CALL_DUMMY): Define. + (HPUX_1100): Similarly. + * config/pa/tm-hppa.h (somsolib.h, pa64solib.h): Conditionalize + includes on GDB_TARGET_IS_HPPA20W. + + * configure.host: Distinguish between wide and narrow modes + for hpux11. + * config/pa/hpux1100w.mh, config/pa/hpux1100w.mt: New files. + + * config/pa/tm-hppa64.h (STACK_ALIGN): Redefine. + (REG_PARM_STACK_SPACE): Likewise. + + * config/pa/tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Handle 64bit + PA target correctly. + (REG_PARM_STACK_SPACE): Define. + (struct unwind_table_entry): region_start and region_end are + CORE_ADDRs. + (typedef opd_data): New. + (obj_private_data_t): Include pointer to opd_data structure. + +1999-08-13 Keith Seitz + + * stabsread.c (stabsread_clear_cache): New funciton which clears + an optimization cache of the reader. + + * coffread.c (coff_symfile_finish): Give stabs reader a chance to + clean up. + + * win32-nat.c (handle_load_dll): Don't suppress re-reading symbols + from a DLL if an objfile for it already exists. (Not that this should + happen anymore anyway...) + +1999-08-13 Keith Seitz + + * config/mcore/tm-mcore.h (SAVE_DUMMY_FRAME_TOS): Define for MCore, + which also requires that the stack pointer be saved for call + dummies BEFORE arguments get pushed onto it. + +1999-08-12 Stan Shebs + + From Eli Zaretskii : + * source.c (mod_path) [_WIN32 || __DJGPP__]: Don't remove trailing + slash from "d:/". Don't overstep the beginning of name. + [_WIN32 || __MSDOS__]: Convert "d:" to "d:.", otherwise appending + a slash changes its meaning. + (openp): Use SLASH_P, not equality with SLASH_CHAR. + (print_source_lines_base) [CRLF_SOURCE_FILES]: Skip \r only before + a \n. + (forward_search_command) [CRLF_SOURCE_FILES]: Remove \r at the end + of all lines. + (reverse_search_command) [CRLF_SOURCE_FILES]: Likewise. + + * gnu-regex.c (CHAR_CLASS_MAX_LENGTH): Don't use wide characters + unless HAVE_BTOWC is defined. + +Fri Aug 13 10:20:12 1999 Andrew Cagney + + From J.T. Conklin : + * gdbinit.in: Change the template .gdbinit to match the recent + fatal error handling change. + +1999-08-11 Keith Seitz + + * maint.c (maintenance_internal_error): Fix typo in prototype. + +Wed Aug 11 15:38:05 1999 Andrew Cagney + + * remote.c (remote_rcmd): Pass an empty command across to the + target. Check for and handle an ``Enn'' return status. + +Tue Aug 10 13:59:45 1999 Andrew Cagney + + * maint.c (_initialize_maint_cmds): Add ``maintenance + internal-error'' command. + (maintenance_internal_error): New function. + +1999-08-10 James Ingham + + * top.c: Remove the disassembly_flavor_hook, use the new set_hook + instead. + * defs.h: Ditto. + * arm-tdep.c (set_disassembly_flavor_sfunc): Ditto. + +1999-08-10 Michael Snyder + + * config/i386/nm-i386sol2.h (FIND_NEW_THREADS): remove, obsolete. + * config/sparc/nm-sun4sol2.h (FIND_NEW_THREADS): remove, obsolete. + +1999-08-10 J.T. Conklin + + * configure.tgt (i[3456]86-*-aout*, i[3456]86-*-coff*, + i[3456]86-*-elf*): Use embed.mt. + * config/i386/embed.mt: New file. + +1999-08-10 Elena Zannoni + + * remote.c (remote_async_open_1): Remove casting in call to + add_file_handler. + (extended_remote_async_create_inferior): Ditto. + + * event-top.c (change_line_handler): Ditto. + (_initialize_event_loop): Ditto. + + * infrun.c (complete_execution): Ditto. + + * event-loop.c (add_file_handler): Change proc parameter to be ptr + to func with void parameter, rather than void*. Coerce second + paramter in calls to create_file_handler. Replace + async_handler_func and file_handler_func with handler_func. + + * event-loop.h: Get rid of typedefs for file_handler_func and + async_handler_func, just have one, and call it handler_func. + Replace async_handler_func and file_handler_func occurrences with + handler_func. + +Tue Aug 10 03:13:03 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c: Delete random #if 0 code. + (is_branch): Handle new branching opcodes from PA2.0 + (inst_saves_gr, inst_saves_fr): Handle additional instructions + used to save general and floating point registers in the stack. + (skip_prologue_hard_way): Handle additional instructions to + save the return pointer in the stack. + (after_prologue): Fix mis-guided and incorrect code to find + the end of the prologue using debug symbols. + (hppa_skip_prologue): Generally clean up comments, lose code + which does not apply to the PA, etc. + +Sun Aug 8 17:53:41 1999 Andrew Cagney + + * MAINTAINERS: Make Andrew Cagney the mn10300 maintainer. + Transfer responsibility for the PowerPC from Andrew Cagney to + Elena Zannoni. + +Tue Aug 10 13:59:45 1999 Andrew Cagney + + Based on code from J.T. Conklin : + * utils.c (internal_error): Make quit? and coredump? separate + questions so that the user can dump-core and not quit. + (internal_error): Cleanup error message. + +1999-08-09 Tom Tromey + + * kod-cisco.c (cisco_kod_open): Removed incorrect `arg' argument. + +Sun Aug 8 12:06:47 1999 Fred Fish + + * coffread.c (process_coff_symbol): Remove section_offsets from + prototype and function definition. Get section_offsets from the + passed objfile and pass it on to callees the same way. + (coff_symtab_read): Ditto. + (coff_symfile_read): Ditto. + * dbxread.c (read_dbx_dynamic_symtab): Ditto. + (read_dbx_symtab): Ditto. + (dbx_symfile_read): Ditto. + (coffstab_build_psymtabs): Ditto. + (elfstab_build_psymtabs): Ditto. + (stabsect_build_psymtabs): Ditto. + * dstread.c (dst_symfile_read): Ditto. + * elfread.c (elf_symfile_read): Ditto. + * jv-class.c (jv_class_symfile_read): Ditto. + * mipsread.c (mipscoff_symfile_read): Ditto. + * nlmread.c (nlm_symfile_read): Ditto. + * os9kread.c (os9k_symfile_read): Ditto. + * somread.c (som_symfile_read): Ditto. + * stabsread.h (elfstab_build_psymtabs): Ditto. + * xcoffread.c (xcoff_initial_scan): Ditto. + + * symfile.h (sym_read): Remove section_offsets from prototype. + * symfile.c (syms_from_objfile): Call sym_read without + section_offsets. + (reread_symbols): Ditto. + + * elfread.c (elfstab_offset_sections): Use SIZEOF_SECTION_OFFSETS + to allocate sections offsets array. + * xcoffread.c (xcoff_symfile_offsets): Ditto. + + * partial-stab.h (section_offsets): Get from objfile. + * dbxread.c (read_dbx_symtab): Fix typo that made -1 casted + to a CORE_ADDR look like an subtraction expression. + * objfiles.h: Add some comments. + * symfile.c: Add some comments. + * objfiles.c: Add some comments. + (objfile_relocated): Use ALL_OBJFILE_OSECTIONS to iterate over + sections. + (find_pc_sect_sections): Use ALL_OBJSECTIONS to iterate over all + sections in all objfiles. + * symfile.c (syms_from_objfile): Use ALL_OBJFILE_OSECTIONS. + + * irix5-nat.c (symbol_add_stub): Fix typo that made taking the + address of lowest_sect with '&' look like a bitwise and op. + * osfsolib.c (symbol_add_stub): Ditto. + * solib.c (symbol_add_stub): Ditto. + * symfile.c (syms_from_objfile): Ditto. + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Minor format tweak. + * symfile.c (syms_from_objfile): Ditto, and fix typo. + * top.c (init_main): Fix typo in comment (DEFULAT_PROMPT). + * doc/gdbint.texinfo (find_sym_fns): This replaces symfile_init. + +1999-08-08 James Ingham + + * remote.c (remote_insert_breakpoint): Fix typo in Z packet support. + Also move Z packet support OUTSIDE of REMOTE_BREAKPOINT ifdef, + since this is not set for all targets that support the Z packet. + +Fri Aug 6 17:17:28 1999 Andrew Cagney + + * defs.h (fatal): Delete declaration. + (internal_error): Declare. + * utils.c (nomem): Call internal_error instead of fatal. + (fatal_dump_core): Delete. + (malloc_botch): Print message direct to stderr. + (fatal): Delete definition. + * utils.c (internal_error): Define. + + * gdbarch.h, gdbarch.c, hppah-nat.c, ch-exp.c, dsrec.c, sh-tdep.c, + infptrace.c, f-lang.c, symm-nat.c, top.c, m3-nat.c, v850-tdep.c, + remote-vx.c, remote-sim.c, remote-mips.c, source.c, infcmd.c, + findvar.c, remote.c: Replace fatal with call to internal_error. + +Sun Aug 8 15:28:33 1999 Andrew Cagney + + * ser-pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Move + definition from here. + * defs.h: To here. + +Sat Aug 7 21:44:59 1999 Fred Fish + + * remote.c (remote_insert_breakpoint): Fix typo, missing ';'. + +Sun Aug 8 11:26:57 1999 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): Add break; to the default case. + +Fri Aug 6 19:26:03 1999 Andrew Cagney + + * defs.h: Delete #if ANSI_PROTOTYPES code, GDB assumes ISO-C. + * remote-rdp.c (send_rdp), remote-os9k.c (printf_monitor), + remote-mips.c: (mips_error), remote-array.c: (printf_monitor, + debuglogs), complaints.c (complain), monitor.c: + (monitor_printf_noecho, monitor_printf), language.c (type_error, + range_error), remote-st.c: (printf_stdebug), remote-sim.c + (gdb_os_printf_filtered, gdb_os_vprintf_filtered, + gdb_os_evprintf_filtered, gdb_os_error), serial.c (serial_printf), + utils.c (warning, error, fatal, fatal_dump_core, (query, + fprintf_filtered, fprintf_unfiltered, fprintfi_filtered, + printf_filtered, printf_unfiltered, printfi_filtered): Delete + legacy #ifndef ANSI_PROTOTYPES varargs code. + + * defs.h: Don't #include . + * remote-rdp.c, remote-os9k.c, remote-mips.c, remote-array.c, + monitor.c, remote-st.c: Don't include or . + +1999-08-06 James Ingham + + * configure.in, configure: add the --enable-multi-ice to determine + whether to configure and build the multi-ice-gdb-server. Note, + for now this only builds on cygwin, so don't enable it for other + platforms... + +1999-08-06 Tom Tromey + + * Makefile.in (SFILES): Added kod.c and kod-cisco.c. + (COMMON_OBS): Added kod.o and kod-cisco.o. + (kod-cisco.o): New target. + (kod.o): New target. + * kod-cisco.c: New file. + * kod.c: New file. + +1999-08-06 James Ingham + + These are some fixups for the Arm, and support for the + disassembly-flavor for the ARM. + + * defs.h: Declare the disassembly_flavor_hook + * top.c: Define the disassembly_flavor_hook + * i386-tdep.c: Remove unnecessary declaration of the + disassembly_flavor_hook. + + * config/arm/tm-arm.h: Change definition of + arm_init_extra_frame_info. + Add a few more comments. + * arm-tdep.c (arm_init_extra_frame_info): Listen to and use the + fromleaf parameter passed into init_extra_frame_info. + (set_disassembly_flavor_sfunc): New Function. + (set_disassembly_flavor): New Function. + (arm_othernames): Use the set_disassembly_flavor. + (_initialize_arm_tdep): Setup the disassembly flavor commands, and + initialize the flavor. + (arm_frameless_function_invocation): Adjust for + frameless functions that have 1 or 2 instructions that mimic the + standard APCS form. + (arm_scan_prologue): Be more careful about scanning the function + prologue. Don't match things that just have a few of the prologue + instructions out of order, and don't get thrown by the scheduler + migrating instructions into the prologue. + + Add support for the "Z" and "z" packets to request the stub + to set a breakpoint. + + * remote.c (set_remote_protocol_Z_packet_cmd): New function. + (show_remote_protocol_Z_packet_cmd): New Function. + (remote_open_1): Init the Z packet config. + (remote_async_open_1): Init the Z packet config. + (remote_insert_breakpoint): Use the "Z" packet if supported. + (remote_remove_breakpoint): Use the "z" packet if supported. + (remote_insert_watchpoint): New Function - currently wired to + nothing. + (remote_remove_watchpoint): Ditto. + (remote_insert_hw_breakpoint): Ditto. + (remote_remove_hw_breakpoint): Ditto. + +1999-08-06 Stan Shebs + + * infcmd.c: Include parser-defs.h. + (interrupt_target_command): Declare. + (stack_dummy_testing): Remove old funky flag. + (run_stack_dummy): Remove unused reference to old funky flag. + +1999-08-06 Tom Tromey + + * command.c (do_setshow_command): Call set_hook if not NULL. + * top.c (set_hook): New hook definition. + * defs.h (set_hook): Declare. + +1999-08-05 Stan Shebs + + * infrun.c: Convert code to pure standard C, elim some warnings. + (stopped_for_shlib_catchpoint): Remove, never used. + +1999-08-05 Keith Seitz + + * NEWS: Mention new Motorola MCore target. + + * sparc-tdep.c (gdb_print_insn_sparc): Print insns of the current + architecture. + +Thu Aug 5 20:41:22 1999 Andrew Cagney + + * configure.in (configdirs): Add check for socketpair. + * configure, config.in: Re-generate. + + From Mon Jul 19 10:46:18 1999 Philippe De Muyter : + * ser-pipe.c (sys/wait.h): Include this file only #if HAVE_SYS_WAIT_H. + (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Macros defined if needed. + +Thu Aug 5 20:04:17 1999 Andrew Cagney + + * target.c (debug_to_open, debug_to_attach, debug_to_post_attach, + debug_to_require_attach, debug_to_detach, debug_to_require_detach, + debug_to_wait, debug_to_post_wait, debug_to_fetch_registers, + debug_to_store_registers, debug_to_prepare_to_store, + debug_to_xfer_memory, debug_to_files_info, + debug_to_insert_breakpoint, debug_to_remove_breakpoint, + debug_to_terminal_init, debug_to_terminal_inferior, + debug_to_terminal_ours_for_output, debug_to_terminal_ours, + debug_to_terminal_info, debug_to_kill, debug_to_load, + debug_to_lookup_symbol, debug_to_create_inferior, + debug_to_post_startup_inferior, + debug_to_acknowledge_created_inferior, + debug_to_clone_and_follow_inferior, + debug_to_post_follow_inferior_by_clone, + debug_to_insert_fork_catchpoint, debug_to_remove_fork_catchpoint, + debug_to_insert_vfork_catchpoint, + debug_to_remove_vfork_catchpoint, debug_to_has_forked, + debug_to_has_vforked, debug_to_can_follow_vfork_prior_to_exec, + debug_to_post_follow_vfork, debug_to_insert_exec_catchpoint, + debug_to_remove_exec_catchpoint, debug_to_has_execd, + debug_to_reported_exec_events_per_exec_call, + debug_to_has_syscall_event, debug_to_has_exited, + debug_to_mourn_inferior, debug_to_can_run, + debug_to_notice_signals, debug_to_thread_alive, debug_to_stop, + debug_to_query, debug_to_rcmd, debug_to_enable_exception_callback, + debug_to_get_current_exception_event, debug_to_pid_to_exec_file, + debug_to_core_file_to_sym_file, debug_to_close): Send trace output + to ``gdb_stdlog'' instead of ``gdb_stderr''. + +Thu Aug 5 16:22:10 1999 Andrew Cagney + + * remote.c (init_remote_ops): Initialize remote_ops.to_rcmd. + (init_remote_async_ops): Initialize remote_async_ops.to_query. + (remote_rcmd): New function. + + * monitor.c (monitor_rcmd): Rename monitor_command. + (init_base_monitor_ops): Initialize monitor_ops.to_rcmd. + (_initialize_remote_monitors): Move "monitor" command from here. + * target.c (initialize_targets): To here. + (monitor_command): New function. Implement "monitor" command. + + * target.c (cleanup_target): de_fault to_rcmd. + (update_current_target): INHERIT to_rcmd. + (debug_to_rcmd): New function. + (setup_target_debug): Initialize current_target.to_rcmd. + + * target.h (struct target_ops): Add field to_rcmd. + (target_rcmd): Define. + +Thu Aug 5 14:24:07 1999 Andrew Cagney + + * remote.c: Replace comment describing remote protocol with + pointer to official document. + +Thu Aug 5 11:59:06 1999 Andrew Cagney + + * remote.c (remote_protocol_binary_download): New variable. + Replace ``remote_binary_download'' and ``remote_binary_checked''. + (set_remote_protocol_binary_download_cmd, + show_remote_protocol_binary_download_cmd): New functions. + (remote_open_1, remote_async_open_1, remote_cisco_open): + Initialize ``remote_protocol_binary_download'' instead of + ``remote_binary_download''. + (check_binary_download): Re-write. + (remote_write_bytes): Ditto. + (_initialize_remote): Add ``set remote X-packet'' and ``show + remote X-packet'' commands. Disable old ``set + remotebinarydownload'' command. + +1999-08-04 Keith Seitz + + * remote-rdi.c (arm_rdi_close): Close the transport device, too. + +Wed Aug 4 10:42:58 1999 Fred Fish + + * xcoffread.c (scan_xcoff_symtab): Change main_aux into + an array of 5 internal_auxent to leave room for bfd to + write n_numaux entries. Change code to use the first one. + +1999-08-02 Stan Shebs + + * c-valprint.c (c_val_print): When printing decimal equivalent + of a char, cast appropriately. + +1999-08-02 Elena Zannoni + + From Jonathan Larmour : + * main.c (print_gdb_help): Use gdbinit variable to determine file + name used for --nx help + +1999-08-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * config/mips/tm-mips.h (BIG_ENDIAN): Don't define here. + +1999-08-01 Jim Blandy + + * stabsread.c (read_range_type): Handle an unsigned range type + whose length in bytes is any power of two, not just a few + common ones. + + * monitor.c (monitor_expect): When we receive a character that + isn't part of the string we were expecting, don't just start + matching again at the beginning of the string --- some shorter + suffix of the input might be a prefix of the string too. + +1999-07-31 Fred Fish + + * symfile.c (symbol_file_command): Fix typo that made -1 casted + to a CORE_ADDR look like an subtraction expression. + (add_symbol_file_command): Ditto. + +1999-07-30 Jim Blandy + + * hppa-tdep.c (pa_print_registers): Frob register output some more. + +1999-07-29 Jim Blandy + + * config/pa/nm-hppah.h (PTRACE_ARG3_TYPE): After more + consideration, make this a CORE_ADDR, like WDB did. + + Rather than casting every single use of really_free_pendings to + make_cleanup_func, why not actually make it have that type? Golly! + * buildsym.c (really_free_pendings): Change argument type to PTR. + buildsym.h (really_free_pendings): Fix declaration. + * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1), + dwarf2read.c (psymtab_to_symtab_1), dwarfread + (psymtab_to_symtab_1), hp-psymtab-read.c (hpread_build_psymtabs), + os9kread.c (os9k_symfile_read, os9k_psymtab_to_symtab_1), + xcoffread.c (xcoff_psymtab_to_symtab_1, xcoff_initial_scan): + Remove casts. + + Pass a CORE_ADDR safely through catch_errors. + * hppa-tdep.c (args_for_find_stub): New member, return_val. + (cover_find_stub_with_shl_get): Change argument and return type to + match catch_errors. Save return value of find_stub_with_shl_get + in *args. + (initialize_hp_cxx_exception_support): Collect value of + eh_notify_callback_addr from args. + + Get rid of some noise. It would be nice to get helpful warnings + from the compiler about lossy conversions. + * hppa-tdep.c (eh_notify_hook_addr, eh_notify_callback_addr, + eh_break_addr, eh_catch_catch_addr, eh_catch_throw_addr, + break_callback_sal): Initialize these to zero, not NULL, to shush + warnings. + * infttrace.c (thread_fake_step): Compare signal to + TARGET_SIGNAL_0, not NULL, to avoid warnings. + (_initialize_infttrace): Add sanity check. + + * config/pa/nm-hppah.h (PTRACE_ARG3_TYPE): Define this to be + long, so we can pass arguments properly to ptrace. + + * hppah-nat.c (child_xfer_memory): Correctly compute mask to round + address to an int boundary. + +1999-07-29 Jim Blandy + + Change from Ian Lance Taylor . The + i386_linux_sigtramp* functions should be moved to + i386-linux-tdep.c, when that file is introduced. + + * config/i386/tm-linux.h (LINUX_SIGCONTEXT_SIZE): Define. + (LINUX_SIGCONTEXT_PC_OFFSET): Define. + (LINUX_SIGCONTEXT_SP_OFFSET): Define. + (SIGCONTEXT_PC_OFFSET): Don't define. + (I386_LINUX_SIGTRAMP): Define. + (IN_SIGTRAMP): Define. + (i386_linux_sigtramp): Declare. + (sigtramp_saved_pc): Define. + (i386_linux_sigtramp_saved_pc): Declare. + (FRAMELESS_SIGNAL): Define. + (FRAME_CHAIN, FRAME_SAVED_PC): Define after #undef. + * i386-tdep.c (i386_linux_sigtramp_start): New static function if + I386_LINUX_SIGTRAMP. + (i386_linux_sigtramp): New function if I386_LINUX_SIGTRAMP. + (i386_linux_sigtramp_saved_pc): Likewise. + (i386_linux_sigtramp_saved_sp): Likewise. + +1999-07-28 Jim Blandy + + * infrun.c (handle_inferior_event): Don't try to use the code for + stepping over a function call to also handle stepping out of a + sigtramp on HP-UX. That ends up trashing step-resume breakpoints. + This change reverts some of David Taylor's change of 31 Dec 1998. + The HP-UX maintainer needs to submit a new change for whatever + problem the original change was trying to fix. + +1999-07-28 Elena Zannoni + + * event-top.c (command_line_handler): Don't treat an empty line + from readline the same way as a multiline command. This avoids + missing detecting when the user presses just 'enter'. + +1999-07-28 Jim Blandy + + Provide more sanity checking: + * infrun.c (handle_inferior_event): Before assigning a new + breakpoint to step_resume_breakpoint, make sure it's not already + pointing at one; if it is, that's a bug. + (check_for_old_step_resume_breakpoint): New function. + +1999-07-28 Elena Zannoni + + From Eli Zaretskii : + * top.c (gdb_init) [__MSDOS__]: Arrange for GDB to return to the + original directory before exiting. + (cd_command) [_WIN32 || __MSDOS__]: Canonicalize the new directory + name explicitly. Handle "d:/" names correctly. + (init_history) [__MSDOS__]: Use _gdb_history as the default GDB + history file name. + +Mon Jul 26 17:13:39 1999 Andrew Cagney + + * remote.c (enum packet_support, enum packet_detect, struct + packet_config): Define. + (set_packet_config_cmd, show_packet_config_cmd, + add_packet_config_cmd, init_packet_config): New functions. + Generic support for optional packets. + (remote_protocol_P): Replace stub_supports_P. + (set_remote_protocol_P_packet_cmd, show_remote_protocol_P_packet_cmd): + New functions. + (_initialize_remote): Add ``set remote-protocol-P-packet'' command. + (remote_open_1, remote_async_open_1, remote_cisco_open): + Initialize ``remote_protocol_P''. + (remote_store_registers): Re-write ``P'' probe logic. + (store_register_using_P): New function. + + From Ian Lance Taylor : + (remote_prepare_to_store): Only read registers when ``P'' packet + is in state unsupported or support-unknown. + +1999-07-24 Fred Fish + + * symfile.c (default_symfile_offsets): Clear section_offsets + before filling it in. + +1999-07-16 Keith Seitz + + * remote.c (_initialize_remote): "remotebreak" should be a var_boolean. + +1999-07-15 Jim Blandy + + Make the output from "info registers" fit withinin 80 columns. + * hppa-tdep.c (pa_print_registers): Make it easy to change row and + column counts. Switch to three columns, instead of four, and + adjust spacing. + + First cut at supporting HPPA2.0 in "wide" (64-bit) mode. + * configure.tgt: Add hppa2.0w target. + * config/pa/hppa64.mt, config/pa/tm-hppa64.h: New files. + * hppa-tdep.c (hppa_fix_call_dummy): Dyke out code to tweak the + call dummy, if target is PA2.0w. This is temporary, until I get + function calls working. + * hppah-nat.c (fetch_register): Rewritten to handle both narrow + and wide register requests. + (HPPAH_OFFSETOF): New macro. + + * gdbtypes.c (is_integral_type): New function. + * gdbtypes.h: Prototype for above. + +1999-07-15 J.T. Conklin + + * configure.tgt (i[3456]86-*-vxworks*): New target. + * config/i386/vxworks.mt: New file, x86 VxWorks target + * config/i386/tm-vxworks.h: New file. + + * configure.tgt (powerpc-*-vxworks*): New target. + * config/powerpc/vxworks.mt: New file, PowerPC VxWorks target + * config/powerpc/tm-vxworks.h: New file. + + * NEWS: Mention the new configs. + +1999-07-15 Fernando Nasser + + * target.c (target_preopen): Prevent query when not from_tty. + * infcmd.c (run_command): Prevent query when not from_tty. + +1999-07-15 Fernando Nasser + + * event-loop.c: Fix typo in comment. + +Wed Jul 14 17:29:31 1999 Andrew Cagney + + * ser-pipe.c (struct pipe_state): Define. + (pipe_close): Retain the PID of the sub-process using ``struct + pipe_state''. Delete #ifdef code that used popen(). + (pipe_close): Kill of the sub-process as part of the cleanup. + + * serial.h (struct _serial_t): Add field ``state''. + +1999-07-13 Elena Zannoni + + * event-top.c (display_gdb_prompt): Don't display the prompt if we + are in the middle of an execution command. Also trick readline so + it doesn't try to display the prompt. + (command_line_handler): Get rid of change_prompt, unused variable. + Use {push, pop}_prompt mechanism in case of multiline commands. + + * infrun.c (complete_execution): Set target_executing to 0 as + first thing, so that display_gdb_prompt does the right thing. + +Tue Jul 13 20:29:46 1999 Andrew Cagney + + * parse.c (build_parse): Fix conditional increment of num_std_regs + for SP_REGNUM. Was conditional on FP_REGNUM. + +Tue Jul 13 16:44:58 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Revert 1999-07-07 Stan Shebs + indentation change. Don't let indent + mess with these files. + +Mon Jul 12 11:15:09 1999 Andrew Cagney + + * config/mips/tm-mips.h (REGISTER_CONVERT_TO_RAW, + REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERTIBLE): Define. + (REGISTER_RAW_SIZE): Re-define as mips_register_convert_to_raw. + * mips-tdep.c (mips_register_convert_to_raw, + mips_register_convert_to_virtual, ): New functions. + (mips_register_raw_size, mips_register_convertible): New + functions. Handle bug introduced by ``Wed Apr 1 23:13:23 1998 + Andrew Cagney '' where remote mips64 target + transfers SR as 64 bits yet GDB expected only 32 bits. + (mips64_transfers_32bit_regs): New static variable. + (_initialize_mips_tdep): Add obscure command ``set + remote-mips64-transfers-32bit-regs'' that provides backward + compatibility. + (do_gp_register_row): Extract register values from raw buffer. + + * NEWS: Document protocol change. + +1999-07-12 Keith Seitz + + * rdi-share/unixcomm.c (Unix_ResetSerial): Remove CYGWIN32 + conditional. It's no longer needed. + (SERPORT1, SERPORT2): Linux serial ports are "/dev/ttyX", not + "/dev/cuaX" (X=0,1,2,3,...). + +Mon Jul 12 02:02:00 1999 Andrew Cagney + + * defs.h, utils.c (fputstrn_filtered, fputstrn_unfiltered, + fputstrnn_unfiltered): New functions. + (gdb_printchar): Delete. + + * remote.c (print_packet): Replace gdb_printchar with + fputstrn_filtered. + (getpkt): Use fputstrn_unfiltered to dump packet received. + (putpkt_binary): Use fputstrnn_unfiltered to dump packet sent. + +1999-07-09 Keith Seitz + + * blockframe.c (blockvector_for_pc_sect): When looking for a block, + we want the one whose end is greater than our PC, not greater or equal. + +1999-07-08 Stan Shebs + + * sparcl-tdep.c (init_sparclite_ops): Fix doc strings, remove + useless inits. + (sparclite_ops): Remove redundant decl. + +Thu Jul 8 16:48:40 1999 Andrew Cagney + + * ser-pipe.c (pipe_open): Bi-directional popen found on both + NetBSD and OpenBSD. + * ser-pipe.c: New file. Implement popen() style serial interface. + * NEWS: Mention. + * Makefile.in (ALLDEPFILES): Add ser-pipe.c. + (ser-pipe.o): Add new target. Specify dependencies. + (SER_HARDWIRE): Add ser-pipe.o. + * serial.c (serial_open): Recognize a serial pipe ``|''. + +1999-07-07 Stan Shebs + + * All C files except *-stub.c and *-share/*: Indent to GNU + standard, using indent 1.9.1. + * defs.h: Make indent ignore this file, macros confuse it. + + * gnu-regex.c, gnu-regex.h: Don't let indent mess with these. + +Wed Jul 7 13:06:24 1999 Andrew Cagney + + * remote-mips.c (fputs_readable): Rename puts_readable, add struct + gdb_file argument. + (fputc_readable): Rename putc_readable, add struct gdb_file + argument. + + * remote-mips.c (mips_expect_timeout, mips_receive_header, + mips_send_packet, mips_receive_packet), remote-rdp.c (put_byte, + get_byte, put_word, rdp_init, rdp_init), remote-sds.c + (sds_interrupt, sds_wait, readchar, putmessage, read_frame, + getmessage), remote-udi.c (udi_store_registers, fetch_register): + (store_register), xmodem.c (readchar), utils.c (puts_debug), + gnu-nat.h (debug), parse.c (parse_exp_1): Cleanup - send debug/log + messages to gdb_stdlog. + +1999-07-06 Stan Shebs + + * exec.c: Remove long-#ifed-out section of code that confuses + indent. + * gdbtypes.c (add_mangled_type): Add some braces to indicate + grouping better. + * gnu-nat.c: Remove literal newlines embedded in strings, + causes indent to weird out. + * language.c (binop_result_type): Remove extra paren. + * lynx-nat.c: Add a missing paren to fetch_core_registers decl. + * nec4102rom.c (vr4102_insert_step): Fix typos. + (_initialize_vr4102_rom): Remove literal newline in string. + * config/a29k/tm-a29k.h: Suppress formatting of pictures. + * config/m68k/xm-3b1.h: Remove excess #endif. + + Declare Pyramid configuration obsolete. + * configure.host, configure.tgt: Comment out Pyramid configs. + * Makefile.in: Comment out Pyramid-related actions. + * pyr-xdep.c, pyr-tdep.c, config/pyr/*: Comment out. + * NEWS: Mention obsolete status. + +1999-07-06 Jason Molenda (jsm@bugshack.cygnus.com) + + * remote.c: Include to pick up FD_SET et al defns on + some old Linux distributions. + * remote-os9k.c, remote-st.c, ser-tcp.c, ser-unix.c, + sparcl-tdep.c, remote.c: Back out inclusion of . + It isn't necessary after all. + +1999-07-06 Elena Zannoni + + * infcmd.c (strip_bg_char): Remove assignment from 'if' condition. + +1999-07-05 Jason Molenda (jsm@bugshack.cygnus.com) + + * remote.c: Include if it exists in order to pick up + FD_SET et al defns. + * remote-os9k.c: Same. + * remote-st.c: Same. + * ser-tcp.c: Same. + * ser-unix.c: Same. + * sparcl-tdep.c: Same. + +Fri Jul 2 19:38:43 1999 Andrew Cagney + + * top.c (target_output_hook): Delete definition. + * defs.h (target_output_hook): Delete declaration. + + * remote.c (remote_console_output): Delete call to + target_output_hook(). Send target output to gdb_stdtarg using an + unfiltered write. Make more robust. + + * remote-sim.c (gdb_os_write_stdout, gdb_os_write_stderr): + Ditto. For moment, do not try to separate target stdout and stderr + streams. + + * defs.h (gdb_stdtarg): New global. Output from target and + simulators. + +1999-07-02 Elena Zannoni + + * top.c (return_to_top_level): Do all the exec_cleanups too. + + * event-top.c (command_handler): Set up for a continuation, if we + are in the middle of running an execution command which will + finish later on. Do cleanups, an display of time/space only if not + running with an async target or not running an execution command. + (command_line_handler_continuation): New function. Continuation + for command_line_handler. + + * utils.c (exec_cleanup_chain): New cleanup chain to be used in + async mode for the execution commands. + (make_exec_cleanup): New function. Add a cleanup to the + exec_cleanup_chain. + (do_exec_cleanups): New Function. Do cleanups on the + exec_cleanup_chain. + (add_continuation): New function. Add a new continuation to the + cmd_continuation list. + (do_all_continuations): New function. Do all the continuations on + the cmd_continuation list. + + * top.h (ALL_CLEANUPS): Move from here to defs.h. + + * defs.h (struct continuation_arg): New structure. Arg to pass to + the call to a command continuation. + (struct continuation): New structure. Continuation for an + execution command. + (ALL_CLEANUPS): Move here from top.h. + + * remote.c (remote_async_open_1): Set things up for telling the + target we are running the extended protocol, only after the target + has stopped. + (set_extended_protocol): New function. Tell the target we are + using the extended protocol. + (remote_async_resume): Set things up for sync execution only if + this is the first time we are called. + + * breakpoint.c (until_break_command_continuation): New function. + Stuff to be done after the target stops during the 'until' + command. + (until_break_command): Set things up for completing the 'until' + command later on. Do the final cleanups only if not running + asynchronously or async execution is not supported by the target. + + * infcmd.c (until_command): Recognize '&' at end of command and + handle it properly. + (finish_command_continuation): New function. Do whatever is needed + after the target has stopped. + (finish_command): Recognize '&' at end of command and handle it + properly. Don't do stuff needed after target has stopped if + running asynchronously and target has async. Use exec_cleanup_chain + if running asynchronously and target is asynchronous. + + * infrun.c (cmd_continuation): New gloabl variable. Used to + coplete execution commands in async mode, after the target has + stoped. + (fetch_inferior_event): Use exec_cleanup_chain, instead of + cleanup_chain. Do all the exec cleanups at the end. Do all the + continuations at the end. Call complete_execution from here, + instead of normal_stop. + (complete_execution): Cleanup the signals handlers for SIGINT + before displaying the prompt. + (start_remote): Set target_executing to 1. + (normal_stop): Don't call complete_execution from here. + +Thu Jul 1 19:14:30 1999 Andrew Cagney + + * blockframe.c (struct dummy_frame): Add member ``top''. + (generic_push_dummy_frame): Initialize top to sp. + (generic_save_dummy_frame_tos): New function. Initialize top. + (generic_find_dummy_frame): Check for the top of the frame. + + * blockframe.c (generic_push_dummy_frame): Free the dummy_frame + registers. + + * config/mn10300/tm-mn10300.h (SAVE_DUMMY_FRAME_TOS): Define. + (TARGET_READ_FP): Return the SP as a best guess. + +Wed Jun 30 15:45:48 1999 Jeffrey A Law (law@cygnus.com) + + * configure.host (hppa*-*-hpux11*): Accept any version of hpux11 + instead of hpux11.0*. + +1999-06-30 Fernando Nasser + + * source.c (directory_command): Add missing test for from_tty. + +1999-06-29 Elena Zannoni + + * remote.c: Include event-loop.h. + (remote_async_ops, extended_async_remote_ops): Define new target + vector structures for asynchronous debugging. + (remote_async_open): New function. Asynchronous version of + remote_open. + (extended_remote_async_open): New function. Asynchronous version + of extended_remote_open. + (remote_async_open_1): New function. Async version of + remote_open_1. + (remote_async_detach): New function. Async version of + remote_detach. + (remote_async_resume): New function. Async version of + remote_resume. + (initialize_sigint_signal_handler, handle_remote_sigint, + handle_remote_sigint_twice, async_remote_interrupt, + async_remote_interrupt_twice, cleanup_sigint_signal_handler): New + functions. Used for handling ^C while target is running. + (remote_async_wait): New function. Async version of remote_wait. + (remote_async_kill): New function. Async version of remote_kill. + (extended_remote_async_create_inferior): New function. Async + version of extended_remote_create_inferior. + (init_remote_async_ops): New function. Initialize target vector + for target async. + (init_extended_async_remote_ops): New function. Initialize target + vector for target extended-async. + (_initialize_remote): Initialize remote_async_ops and + extended_async_remote_ops. + + * infrun.c: Include "event-loop.h". + (sync_execution): new global variable. + (proceed): Invoke wait_for_inferior and normal_stop only if not + running in async mode or if target doesn't support async + execution. + (start_remote): Don't call wait_for_inferior and normal_stop if + not running in async mode or if target not async. If running async + and target is async, start the target in simulated synchronous + mode. + (async_ecss, async_ecs): New global vars, for inferior state. + (fetch_inferior_event): New function. Async version of + wait_for_inferior. + (complete_execution): New function. Reset of gdb prompt and stdin, + after inferior execution has completed. + (normal_stop): Call complete_execution at end of asynchronous + execution. + + * infcmd.c (strip_bg_char): New function to detect the background + execution char '&'. + (run_command): Modify to support background and foreground + execution in async mode. + (continue_command): Ditto. + (step_1): Ditto. + (jump_command): Ditto. + (interrupt_target_command): New function. Interrupt the + target execution. + (_initialize_infcmd): Add new command 'interrupt'. + + * top.c (target_executing): New global variable. + (execute_command): Reject commands that cannot be executed while + the target is running asynchronously. + + * event-top.c (push_prompt): Make non static. + (pop_prompt): Make non static. If the current prompt is empty, + don't try to copy it over the previous one. + (handle_sigint): Make non static. + (command_handler): Do the cleanups only when not executing with an + asynchronous target. + + * event-loop.c (delete_async_signal_handler): Pass a pointer to a + pointer to a signal handler, so that is can be freed at the end. + + * target.c (update_current_target): Inherit to_has_async_exec. + + * inferior.h: Add global variables target_executing, and + sync_execution. Export function fetch_inferior_event. + + * event-loop.h: Add push_prompt, pop_prompt, handle_sigint to the + exported functions. Update prototype for delete_signal_handler. + + * target.h (struct target_ops): New target op: to_has_async_exec. + (target_has_async): New macro. + + * Makefile.in (infrun.o): Add dependency on event-loop.h. + (remote.o): Ditto. + +1999-06-28 Jim Blandy + + * solib.c (clear_solib): Don't disable breakpoints if we're + running an a.out executable (Solaris's SunOS emulation). + +1999-06-25 Elena Zannoni + + * main.c (main): Remove intialization of command_loop_hook, it + is now done in _initialize_event_loop(). + * event-loop.c (gdb_do_one_event): Make static. + (start_event_loop): New function. Just start the event loop. + * event-top.c (cli_command_loop): New name for start_event_loop(). + (gdb_readline2): Make non static. + (_initialize_event_loop): Set command_loop_hook to cli_command_loop. + * event-loop.h: Adjust exported functions accordingly. + + * top.c (init_main): Move setting of async_command_editing_p from + here. + * event-top.c (_initialize_event_loop): To here. + (change_line_handler): Revert previous change. Add comment. + (_initialize_event_loop): Revert previous change. + (cli_command_loop): New name for start_event_loop(). + (start_event_loop): New function. This just starts up the event loop. + (gdb_readline2): Make non static. + (_initialize_event_loop): Set command_loop_hook to cli_command_loop. + +1999-06-25 Elena Zannoni + + * event-top.c (change_line_handler): Get rid of the global + variable input_fd, use `fileno (instream)' instead. + (_initialize_event_loop): Ditto + + * event-loop.c (add_file_handler): New function. Wrapper for + create_file_handler. + (create_file_handler): Make static. + * event-top.c (_initialize_event_loop): Call add_file_handler, + instead of create_file_handler. + (change_line_handler): Ditto. + Remove poll.h include. + * event-loop.h: Export add_file_handler instead of + create_file_handler. + +1999-06-24 Stan Shebs + + Declare Altos configuration obsolete. + * configure.host, configure.tgt: Comment out Altos config. + * Makefile.in: Comment out Altos-related actions. + * altos-xdep.c, config/m68k/altos.mh, altos.mt, tm-altos.h, + xm-altos.h: Comment out. + * NEWS: Mention obsolete status. + +1999-06-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in: Add MAKEHTML and MAKEHTMLFLAGS; pass them down; + recognize html and install-html targets. + * gdbserver/Makefile.in: Add empty html and install-html targets. + * nlm/Makefile.in: Ditto. + * rdi-share/Makefile.in: Ditto. + +1999-06-24 Jim Blandy + + * ax-gdb.c (agent_command): Remove vestigial call to ax_reqs. + +1999-06-24 James Ingham + + * arm-tdep.c (arm_othernames): Change both gdb's register display + AND the opcode disassembly register naming if the othernames + command. Fixes the gdb part of CR 101177. + +1999-06-23 Stan Shebs + + Declare Convex configuration obsolete. + * configure.host, configure.tgt: Comment out Convex configs. + * Makefile.in: Comment out Convex-related actions. + * convex-xdep.c, convex-tdep.c, config/convex/*: Comment out. + * NEWS: Mention obsolete status. + +1999-06-23 Elena Zannoni + + * main.c: Turn on async by default by setting async_p to 1. + +Wed Jun 23 15:44:39 1999 Andrew Cagney + + From Jimmy Guo : + * frame.h (enum lval_type): Delcare when an __STDC__ compiler. + Reverts Mon Aug 11 16:08:52 1997 Fred Fish + change. + * utils.c (gdb_file_rewind, gdb_file_put): Fix. A void function + does not return a result. + +Wed Jun 23 15:30:46 1999 Andrew Cagney + + * remote.c (set_thread, remote_get_threadinfo, + remote_threads_info, remote_current_thread, remote_get_threadlist, + extended_remote_restart, get_offsets, remote_open_1, + remote_detach, remote_resume, remote_wait, remote_fetch_registers, + remote_store_registers, check_binary_download, remote_write_bytes, + remote_read_bytes, remote_search, putpkt_binary, putpkt_binary, + read_frame, compare_sections_command, remote_query, + packet_command, remote_info_process): Use alloca to create space + for arrays of size PBUFSIZ. + +1999-06-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * top.c: Update copyright years to include 1999. + +1999-06-18 Elena Zannoni + + * top.c: Move include of event-loop.h, to avoid redefinition of + NFDBITS. + + * event-loop.c (create_file_handler): Do not do a realloc of the + pollfd structure of the notifier, unless there is already one. + Include for platforms that have no poll. + + * event-top.c: Fix prototype for _initialize_event_loop. + (_initialize_event_loop): Do something only if running in async + mode. + +1999-06-17 Jim Blandy + + Make the '/c' print format use a true character type. This is + more appropriate than builtin_type_char for languages other than + C, and C tolerates it. + * gdbtypes.c (builtin_type_true_char): New variable. + (build_gdbtypes): Initialize it. + * gdbtypes.h (builtin_type_true_char): New declaration. + * printcmd.c (print_scalar_formatted): When the format is 'c', + extract the value as a builtin_type_true_char. + + * jv-exp.y (yylex): Say character literals are java_char_type, not + builtin_type_char. Java treats the latter like `byte'. + +1999-06-17 Elena Zannoni + + * Makefile.in (top_h): Define. + (event-loop.o): Add dependencies on top.h and defs.h. + (event-top.o): Add dependency on terminal.h. + + * event-loop.c: Get rid of #include . + + * event-loop.h: Get rid of nested #include's. + * event-loop.c: Rearrange includes to accomodate change in + event-loop.h. Include poll.h, not sys/poll.h. + * event-top.c: Ditto. + * main.c: Ditto. + +1999-06-16 David Taylor + + * alpha-tdep.c (alpha_pop_frame): if frame->proc_desc + is NULL, call find_proc_desc so we know how to restore + the registers. + +1999-06-15 Michael Snyder + + * event-top.c (start_event_loop): call get_prompt. + (display_gdb_prompt): call get_prompt. + (async_stop_sig): call get_prompt. + +1999-06-15 Elena Zannoni + + * event-loop.c (delete_file_handler): When positioning prev_ptr, + keep looping while the one after is not equal to file_ptr, instead + of equal. + +1999-06-14 Stan Shebs + + * MAINTAINERS: Add Jimmy Guo and Jim Blandy as HP testsuite and + SVR4 solib maintainers, respectively. + +1999-06-14 Michael Snyder + + Add parameters to the gdb prompt. + * top.c (prompt): Rename to gdb_prompt_string for clarity. + (command_line_input): rename "prrompt" to prompt_arg for clarity. + (gdb_readline): rename "prrompt" to prompt_arg for clarity. + (read_command_lines): rename "prompt" to prompt_arg for clarity. + (stop_sig): call get_prompt instead of reading prompt string directly. + (command_loop): ditto. + (gdb_prompt_escape): New variable. Esc char for prompt parameters. + (get_prompt_1): New function, workhorse for get_prompt. + (get_prompt): Completely rewrite. Add functionality for a + parameterized prompt, ie. the displayed prompt can change according + to the value of one or more expressions given as parameters in the + prompt string. + (init_main): use renamed variable gdb_prompt_string. Add new + command "set prompt-escape-char" to set gdb_prompt_escape. + +Sun Jun 13 10:44:13 1999 Andrew Cagney + + * defs.h (gdb_stdlog), main.c: Declare. + * main.c (main): Initialize. + * gdbarch.c: Write trace messages to the log file. + * remote.c: Update any debug/log prints. + +1999-06-11 Michael Snyder + + * remote.c (remote_wait): Clean up new thread handling. + (record_currthread): Announce new threads. + +1999-06-11 Jim Blandy + + * partial-stab.h (case N_LSYM, 'T' descriptor): Don't create + partial symbol table entries for nameless enums, even if the type + name is " ". (We still pick up the enum elements, though.) + + * partial-stab.h: Remove #if 0'd sections, dating back to 1992, + which set a variable which exists nowhere else in the source. + Please examine your test suite output carefully, and report any + problems to me. + +1999-06-11 Elena Zannoni + + * event-top.c (setup_event_loop): Change name to start_event_loop. + Move the intialization of event-loop variables to + _initialize_event_loop. + (_initialize_event_loop): New function. Called at init time, to + set up important event-loop variables. + + * event-loop.h: setup_event_loop is now start_event_loop. + * main.c (main): Ditto. + +Fri Jun 11 18:34:33 1999 Andrew Cagney + + * defs.h (gdb_file_rewind_ftype, gdb_file_rewind, + set_gdb_file_rewind, gdb_file_put_ftype, gdb_file_put, + set_gdb_file_put): Declare. + + * utils.c (gdb_file_new): Initialize ``rewind'' and ``put''. + (struct gdb_file): Add to_rewind and to_put. + (null_file_put, null_file_rewind, gdb_file_put, gdb_file_rewind, + set_gdb_file_put, set_gdb_file_rewind): New functions. + (tui_file_rewind, tui_file_put): New functions. + (tui_file_new): Add rewind and put. + +Fri Jun 11 15:10:32 1999 Andrew Cagney + + * d10v-tdep.c (d10v_push_arguments): Fix order of arguments passed + to store_address. + +Fri Jun 11 10:31:29 1999 Andrew Cagney + + * remote.c (tty_input): Change array to pointer. + (_initialize_remote): Call build_remote_gdbarch_data. + (build_remote_gdbarch_data): New function. Allocate space for + tty_input. + (readsocket, readtty): Delete extern declaration of tty_input. + +1999-06-10 Elena Zannoni + + * event-top.c (gdb_readline2): Call the command handling function + via the input_handler pointer. + (change_line_handler): When turning off editing, set input_handler + as well. + + * utils.c (prompt_for_continue): If running asynchronously, call + async_request_quit, instead of request_quit. + + * tracepoint.c (read_actions): If running asynchronously, set the + signal handler for STOP_SIGNAL to handle_stop_sig. + + * top.h: (source_line_number, source_file_name, source_error, + source_pre_error, history_expansion_p, server_command): export for + use of event-top.c. + + * event-top.c: Include top.h and terminal.h. + (instream): Remove extern declaration. + (handle_sigint, handle_sigquit, handle_sighup, handle_sigfpe, + handle_sigwinch, async_do_nothing, async_disconnect, + async_float_handler, async_stop_sig): Make static. + (async_request_quit, async_do_nothing, async_disconnect, + async_float_handler, async_stop_sig): Add gdb_glient_data + argument. + (handle_stop_sig): New function. + (sigtstp_token): New variable. + (sigint_token, sigquit_token, sigfpe_token, sigwinch_token): + Change their type tp PTR. + (mark_async_signal_handler_wrapper): New function. + (setup_event_loop): Initialize all the variables used by readline + only if not already done while reading the .gdbinit file. Display + the initial gdb prompt, if .gdbinit took care of setting things up + for readline. + (change_line_handler): When turning on the use of readline, + initialize input_handler as well. + (command_line_handler): Set up the signal handler for STOP_SIGNAL + to be handle_stop_sig. + (async_init_signals): Remove coercion of signal handlers in calls + to create_async_signal_handler. Initialize token for stop signal. + (handle_sigint): Call async_request_quit using one argument. + (handle_sigint, handle_sigquit, handle_sighup, handle_sigfpe, + handle_sigwinch): Call mark_async_signal_handler_wrapper instead + of mark_async_signal_handler. + + * event-loop.h: Add extern declarations for handle_stop_sig, + async_command_editing_p, async_annotation_suffix, + new_async_prompt, the_prompts. + + * top.c (command_line_input): Set the signal handler to be + handle_stop_sig, in case gdb is running asynchronously. + (get_prompt): Return the top of the prompt stack if running + asynchronously. + (set_prompt): Set the top of the prompt stack if running + asynchronously. + (init_main): Move ``extern'' vars from here to event-loop.h. + +1999-06-10 Michael Snyder + + * values.c (value_from_string): new function. Make a value_ptr + from a string, with storage in local GDB memory (not in inferior). + * value.h (value_from_string): add prototype. + * remote.c (remote_cisco_ops): New remote target, "target cisco". + (init_remote_cisco_ops): New function, initialize new target. + (remote_cisco_mourn, remote_cisco_wait, remote_cisco_open, + remote_cisco_close): New functions, implement new target cisco. + (minitelnet, readtty, readsocket) New functions, implement the + I/O pass-through mode for target cisco. + (remote_wait): Detect special enhanced version of the 'S' packet + for target cisco. + (remote_cisco_expand): Perform Cisco variant of RLL decoding. + +1999-06-10 Elena Zannoni + + * event-loop.c (gdb_wait_for_event): Initialize num_found to 0. + + * top.c (print_prompt): Delete this function. + + From: Andrew Cagney + + * event-top.c (async_hook): Delete extern declaration. + + * defs.h: Replace ``async_hook'' with ``async_p''. + * top.c (gdb_init, init_main, init_main, init_main, init_main): + Replace ``async_hook'' with ``async_p''. + + * main.c: Rename ``async'' to ``async_p''. + (main): Add --noasync option. + (main): Hook in the asynchronous event-loop based CLI using + command_loop_hook instead of async_hook. Delete call to + async_hook(). + +Thu Jun 10 21:14:16 1999 Andrew Cagney + + * mn10300-tdep.c (mn10300_store_return_value, + mn10300_extract_struct_value_address, + mn10300_extract_return_value), config/mn10300/tm-mn10300.h: New + functions. + * config/mn10300/tm-mn10300.h (EXTRACT_STRUCT_VALUE_ADDRESS, + STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE): Update. + (TARGET_MN10300): Delete macro. Not used. + +Thu Jun 10 20:04:02 1999 Andrew Cagney + + * mn10300-tdep.c (mn10300_register_names): Make static. + (STORE_STRUCT_RETURN): Do not modify SP. + + * config/mn10300/tm-mn10300.h(mn10300_register_name), + mn10300-tdep.c : New function. + * config/mn10300/tm-mn10300.h (REGISTER_NAME): Update. + * config/mn10300/tm-mn10300.h (mn10300_saved_pc_after_call), + mn10300-tdep.c: New function. + * config/mn10300/tm-mn10300.h (SAVED_PC_AFTER_CALL): Update. + +1999-06-10 Keith Seitz + + * mcore-rom.c (picobug_dumpregs): Return a value. Any value, it + doesn't matter. + * mcore-tdep.c (mcore_analyze_prologue): Set NO_MORE_FRAMES + if the start of the function is the entry point. + (mcore_analyze_prologue): rotli takes an immediate, not an + offset immediate. + (mcore_push_arguments): Fix compiler warning. + +1999-06-09 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * rs6000-tdep.c (skip_prologue): Don't mistake a branch for a + subroutine call. + +1999-06-08 Michael Snyder + + * remote.c (remote_wait): Add 'N' response packet, which is a + stop with signal number plus section offsets for .text, .data and + .bss. This is used by Cisco to indicate relocation offsets. + (remote_cisco_section_offsets, remote_cisco_objfile_relocate): + new files to support 'N' packet. + (remote_info_process): New function. Implements the + "info remote-process" command, by means of which the remote target + can report anything it wants to about the remote process/app being + debugged. + (_initialize_remote): add info remote-proc command. + (remote_threads_info): New function for "info threads" command. + Attempts to use new query "qfThreadInfo" instead of the old + undocumented query. + * exec.c (exec_set_section_offsets) new files to support 'N' packet. + +Tue Jun 8 13:33:42 1999 Andrew Cagney + + * inferior.h (generic_target_read_pc, generic_target_write_pc, + generic_target_read_fp, generic_target_write_fp, + generic_target_read_sp, generic_target_write_sp): Declare new + functions. + * findvar.c (generic_target_read_pc, generic_target_write_pc, + generic_target_read_fp, generic_target_write_fp, + generic_target_read_sp, generic_target_write_sp): New functions. + (TARGET_READ_PC, TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP, + TARGET_READ_SP, TARGET_WRITE_SP): Default to corresponding generic + function. + (write_pc_pid, write_pc_pid, read_sp, write_sp, read_fp, + write_fp): Simplify. + + * gdbarch.c (verify_gdbarch): Always verify TARGET_PTR_BIT, + TARGET_SHORT_BIT, TARGET_INT_BIT, TARGET_LONG_BIT, + TARGET_LONG_LONG_BIT, TARGET_FLOAT_BIT, TARGET_DOUBLE_BIT, + TARGET_LONG_DOUBLE_BIT, TARGET_READ_PC, TARGET_WRITE_PC, + TARGET_READ_FP, TARGET_WRITE_FP, TARGET_READ_SP, TARGET_WRITE_SP, + USE_GENERIC_DUMMY_FRAMES, CALL_DUMMY_BREAKPOINT_OFFSET_P, + CALL_DUMMY_P, CALL_DUMMY_STACK_ADJUST_P, GET_SAVED_REGISTER, + REGISTER_CONVERTIBLE, PUSH_ARGUMENTS, PUSH_RETURN_ADDRESS, + FRAME_CHAIN_VALID. + (GET_GDBARCH, SET_GDBARCH): Delete macros. Implement functions + directly. + * gdbarch.h, gdbarch.c: Call fatal() instead of abort(). Identify + the function / macro with a problem. Always verify a architecture + attribute before returning it. + * gdbarch.h, gdbarch.c (generic_register_convertible_not): New + function. + + * mips-tdep.c (mips_push_return_address): New function. + * config/mips/tm-mips.h (PUSH_RETURN_ADDRESS): Define. + + * mips-tdep.c (mips_gdbarch_init): Initialize short_bit, + double_bit, long_double_bit, read_pc, write_pc, read_fp, write_fp, + read_sp, write_sp, frame_chain_valid, get_saved_register, + push_arguments, push_return_address, register_convertible, + call_dummy_p, use_generic_dummy_frames, + call_dummy_breakpoint_offset_p, call_dummy_stack_adjust_p, + call_dummy_words and sizeof_call_dummy_words. + * config/mips/tm-mips.h: Don't define CALL_DUMMY when multi-arch. + +1999-06-07 Keith Seitz + + * v850ice.c (init_hidden_window): Do not rely on the existence of + a gui for window creation. Return boolean status. + (v850ice_open): Use boolean status of init_hidden_window. + Allow any ICE execution command to run under CLI. Maybe one + day gdb will use a real event loop and allow this code to run. + * configure.tgt: Configure the v850 ice for all cygwin-hosted + toolchains. + +Mon Jun 7 23:37:26 1999 Andrew Cagney + + * config/mips/tm-mips.h (EXTRA_FRAME_INFO): Delete. + * mips-tdep.c (mips_init_extra_frame_info): Allocate saved_regs. + (temp_saved_regs): Replace struct with a simple pointer. + (set_reg_offset, mips32_heuristic_proc_desc, heuristic_proc_desc, + mips_init_extra_frame_info): Update. + +Mon Jun 7 21:40:12 1999 Andrew Cagney + + * config/mips/tm-mips.h (EXTRA_FRAME_INFO): Move elements from here. + * mips-tdep.c (struct frame_extra_info): To here. + + * mips-tdep.c (mips_print_extra_frame_info, mips_find_saved_regs, + mips_init_extra_frame_info, mips_pop_frame): Update + (mips_init_extra_frame_info): Allocate space for the extra info. + +Mon Jun 7 21:08:50 1999 Andrew Cagney + + * config/mips/tm-mips.h (mips_init_extra_frame_info), mips-tdep.c: + Rename init_extra_frame_info. Add argument ``fromleaf''. + mips-tdep.c (mips_gdbarch_init): Add mips_init_extra_frame_info. + + * config/mips/tm-mips.h (mips_print_extra_frame_info), + mips-tdep.c: New function. + (PRINT_EXTRA_FRAME_INFO): Update definition. + +Mon Jun 7 20:11:07 1999 Andrew Cagney + + * config/mips/tm-mips.h, config/mips/tm-irix3.h, + config/mips/tm-tx19.h, config/mips/tm-tx19l.h, + config/mips/tm-tx39.h, config/mips/tm-tx39l.h: Rename macro + REGISTER_NAMES to MIPS_REGISTER_NAMES. + + * config/mips/tm-mips.h (REGISTER_NAME): Define. + * mips-tdep.c (mips_processor_reg_names): New static variable. + (mips_register_name): New function. + (mips_set_processor_type): Update mips_processor_reg_names. + (mips_generic_reg_names): Initialize using MIPS_REGISTER_NAMES. + (mips_gdbarch_init): Add mips_register_name. + +Sun Jun 6 11:09:19 1999 Andrew Cagney + + * remote.c (PBUFSIZ): Re-define so that value is computed at + run-time. + (MAXBUFBYTES): Re-define as a macro function. + * gdbarch.h, gdbarch.c: Add multi-arch support for REGISTER_BYTES. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + +1999-06-05 Fernando Nasser + + * symtab.c (decode_line_1): Accept filenames with spaces in + 'linespecs' when enclosed in double quotation marks and handle + drive specification is DOS format (D:). + +1999-06-04 Jim Blandy + + * parse.c: Don't include twice. + +1999-06-04 David Taylor + + Sat May 15 12:16:09 1999 Per Bothner + + * eval.c (evaluate_subexp_standard): Remove Gilmore rant. + (Of course C has "expected types", at least if you allow + brace-initializer expressions - as in Gcc.) + Remove NULLing out expect_type. Do pass NULL_TYPE in place + the incoming expect_type where appropriate. + +Fri Jun 4 10:56:23 1999 Jeffrey A Law (law@cygnus.com) + + * hppa-tdep.c (hppa_fix_call_dummy): Make it work for GCC compiled + executables without end.o. Clean up lots of mis-guided comments. + +Fri Jun 4 17:10:36 1999 Andrew Cagney + + * parser-defs.h (std_regs): Replace array with pointer. + * parse.c (build_parse): Build the std_regs table according to the + standard registers available. + (_initialize_parse): Register std_regs and num_std_regs as + architecture specific. + * gdbarch.h, gdbarch.c: Add multi-arch support for SP_REGNUM, + FP_REGNUM, PC_REGNUM, NUM_REGS, REGISTER_NAME. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + +1999-06-03 Michael Snyder + + * thread.c: eliminate the target_thread_vector (functionality + moved into the standard target vector). + * gdbthread.h: eliminate target_thread_vector. Move all related + defines into remote.c, since they are no longer shared with thread.c. + * remote.c: eliminate the target_thread_vector. + (remote_find_new_threads): change return type to void, consistent + with the target vector table. (cont_thread): rename continue_thread. + (record_currthread): remove dead code. (remote_thread_alive): + clean up and simplify. (threadref etc.): move definitions to here + from gdbthread.h. + +1999-06-02 Jason Molenda (jsm@bugshack.cygnus.com) + + * inftarg.c (child_create_inferior): Remove dead HPUX specific code + which tries to find csh. + * fork-child.c: Remove DEBUGGING predefine and conditionalized + printfs. + (fork_inferior): Remove dead HPUX specific code which assumes shell + is csh. + + * hppa-tdep.c: Remove DEBUGGING and #if 0 debugging printfs. + * parse.c: Ditto. + * somread.c: Ditto. + + * gdbarch.h: Forward decl of struct value. + +Thu Jun 3 10:12:38 1999 Andrew Cagney + + * d10v-tdep.c (do_d10v_pop_frame): Rename d10v_pop_frame. Make + static. + * d10v-tdep.c (d10v_pop_frame), config/d10v/tm-d10v.h: New + function. Call generic_pop_current_frame. + * config/d10v/tm-d10v.h (POP_FRAME): Update. + * gdbarch.h, gdbarch.c (frame_num_args_unknown): New function. + * gdbarch.h, gdbarch.c: Add multi-arch support for POP_FRAME, + SKIP_PROLOGUE, INNER_THAN, DECR_PC_AFTER_BREAK, + FUNCTION_START_OFFSET, REMOTE_TRANSLATE_XFER_ADDRESS, FRAME_CHAIN, + FRAME_CHAIN_VALID, FRAME_SAVED_PC, FRAME_ARGS_ADDRESS, + FRAME_LOCALS_ADDRESS, FRAME_ARGS_SKIP, + FRAMELESS_FUNCTION_INVOCATION, REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, SAVED_PC_AFTER_CALL, + FRAME_NUM_ARGS, MAX_REGISTER_RAW_SIZE, MAX_REGISTER_VIRTUAL_SIZE, + REGISTER_SIZE. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + * config/d10v/tm-d10v.h (DMEM_START, IMEM_START, STACK_START, + ARG1_REGNUM, ARGN_REGNUM, RET1_REGNUM): Move definitions from + here. + * d10v-tdep.c: To here. + * config/d10v/tm-d10v.h (struct type): Move declaration from here. + * gdbarch.h: To here. + * config/d10v/tm-d10v.h (struct frame_info, struct + frame_saved_regs, struct type): Delete declarations. + +1999-06-02 Robert Hoehne + + * go32-nat.c: go32_terminal_init, go32_terminal_inferior and + go32_terminal_ours are new functions to save/restore the inferior`s + stdin/stdout filemodes + +1999-06-02 Stan Shebs + + * MAINTAINERS: Add Mark Kettenis, Jeff Law, and Philippe De Muyter + as maintainers for Hurd, HP/UX, and COFF, respectively. + +1999-06-02 Mark Kettenis + + * gnu-nat.c (inf_continue): New function. + (struct inf): Use `unsigned int' instead of `int' for bit-fields. + Add new bit-field named `nomsg'. + (inf_validate_procinfo): Renamed from inf_validate_stopped, all + callers changed. Also update the `nomsg' and `traced' fields of + INF. + (make_inf): Initialize INF->nomsg. + (inf_cleanup): Reset INF->nomsg. + (inf_detach): Call `inf_validate_procinfo'. Call `inf_continue' + instead of `inf_signal' if the inferior does not have a message + port. + (gnu_resume): Likewise. + (gnu_create_inferior): Reset INF->nomsg in `attach_to_child'. + Call `inf_validate_procinfo' after returning from `fork_inferior'. + (gnu_attach): Update signal thread and tracing state. + + * config/i386/tm-i386gnu.h: Include "i386/tm-i386.h" instead of + "i386/tm-i386v.h". + (STACK_END_ADDR): Remove. + (SIGCONTEXT_PC_OFFSET): New define. + Include "tm-sysv4.h". + +1999-06-02 J.T. Conklin + + * config/tm-vxworks.h: New file, header for definitions common to + all vxWorks targets. + * config/a29k/tm-vx29k.h, config/i960/tm-vx960.h, + config/m68k/tm-vx68.h, config/mips/tm-vxmips.h, + config/sparc/tm-vxsparc.h: Include tm-vxworks.h. + +Wed Jun 2 17:37:03 1999 Jeffrey A Law (law@cygnus.com) + + * config/pa/tm-hppa.h (IMPORT_SHLIB): New unwind stub type. + +1999-06-02 Christopher Faylor + + * configure.tgt: Alphabetically reorder some targets. + +1999-06-02 Keith Seitz + + * v850ice.c (v850ice_xfer_memory): Insert lost "break". + +1999-06-02 Jim Blandy + + * rs6000-tdep.c (variants): Fix description of 750 register set. + (Thanks to J. T. Conklin.) + +Wed Jun 2 16:10:08 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for + STORE_STRUCT_RETURN, STORE_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS, USE_STRUCT_CONVENTION, + FRAME_INIT_SAVED_REGS and INIT_EXTRA_FRAME_INFO. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * config/d10v/tm-d10v.h (FRAME_INIT_SAVED_REGS): Replace + FRAME_FIND_SAVED_REGS. + (d10v_frame_init_saved_regs): Replace d10v_frame_find_saved_regs. + * d10v-tdep.c (d10v_pop_frame, d10v_frame_chain, + d10v_frame_init_saved_regs): Update. + * gdbarch.h: Disallow FRAME_FIND_SAVED_REGS when multi-arch. + + * gdbarch.h, gdbarch.c: Add multi-arch support for + D10V_MAKE_DADDR, D10V_MAKE_IADDR, D10V_DADDR_P, D10V_IADDR_P, + D10V_CONVERT_DADDR_TO_RAW and D10V_CONVERT_IADDR_TO_RAW. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * config/d10v/tm-d10v.h (EXTRA_FRAME_INFO): Delete. + * d10v-tdep.c (struct frame_extra_info): Define. + (d10v_init_extra_frame_info, d10v_pop_frame, d10v_frame_chain, + d10v_frame_find_saved_regs): Update. + * gdbarch.h: Disallow EXTRA_FRAME_INFO when multi-arch. + +Tue Jun 1 13:36:31 1999 Philippe De Muyter + + * config/m68k/tm-delta68.h (FRAME_NUM_ARGS): Macro prototype fixed. + * config/m68k/tm-news.h, config/ns32k/tm-merlin.h: Ditto. + * config/ns32k/tm-umax.h (FRAME_NUM_ARGS): Old macro definition + removed; new macro prototype fixed. + +Wed Jun 2 11:18:37 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for + EXTRACT_RETURN_VALUE, PUSH_ARGUMENTS, PUSH_DUMMY_FRAME, + PUSH_RETURN_ADDRESS, POP_FRAME, FRAME_FIND_SAVED_REGS. + * d10v-tdep.c, config/d10v/tm-d10v.h: Update. + + * gdbarch.h, gdbarch.c: Add multi-arch support for + REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + + * defs.h (REGISTER_NAME): Move compatibility definition from here. + * gdbarch.h: To here. + + * frame.h, blockframe.c (generic_fix_call_dummy): New + stub function. + * gdbarch.h, gdbarch.c: Add multi-arch support for FIX_CALL_DUMMY. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 20:06:38 1999 Andrew Cagney + + * d10v-tdep.c (d10v_gdbarch_init): Set get_saved_register. + * config/d10v/tm-d10v.h: Update. + +Tue Jun 1 19:50:05 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for TARGET_READ_PC, + TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP, TARGET_READ_SP + and TARGET_WRITE_SP. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 19:19:02 1999 Andrew Cagney + + * gdbarch.c (default_gdbarch): Set field GET_SAVED_REGISTER to + generic_get_saved_register. + * gdbarch.c: Change update dispatch functions so that they check + for a NULL function pointer. + +Tue Jun 1 19:19:02 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: Add multi-arch support for TARGET_INT_BIT, + TARGET_CHAR_BIT, TARGET_SHORT_BIT, TARGET_FLOAT_BIT, + TARGET_DOUBLE_BIT and TARGET_LONG_DOUBLE_BIT. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_gdbarch_init): Update. + +Tue Jun 1 18:47:54 1999 Andrew Cagney + + * parse.c (build_parse): New function. Initialize + msym_text_symbol_type, msym_data_symbol_type and + msym_unknown_symbol_type. + (_initialize_parse): Call build_parse. + (_initialize_parse): Register variables msym_text_symbol_type, + msym_data_symbol_type as msym_unknown_symbol_type as + per-architecture. + +Tue Jun 1 11:30:09 1999 Andrew Cagney + + * d10v-tdep.c (_initialize_d10v_tdep): Register d10v as an + architecture. + (d10v_gdbarch_init): New function. + * confg/d10v/tm-d10v.h (GDB_MULTI_ARCH): Define. + +Tue Jun 1 10:45:24 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (REGISTER_CONVERTIBLE, + REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Convert + macros into functions. + * config/d10v/tm-d10v.h, d10v-tdep.c (d10v_register_convertable, + d10v_register_convert_to_virtual, d10v_register_convert_to_raw): + The new functions. + +1999-05-31 Fernando Nasser + + * stack.c (print_args_stub): Add missing stream parameter. + +Mon May 31 15:50:08 1999 Andrew Cagney + + Fri May 28 16:51:00 1999 Martin Dorey : + * valops.c, value.h (default_push_arguments): Fix order of + parameters to match PUSH_ARGUMENTS arguments. + +Thu May 27 11:42:55 1999 Andrew Cagney + + * gdbarch.h (EXTRACT_STRUCT_VALUE_ADDRESS): Return 0. + + * valops.c (value_assign): Delete redundant test of + REGISTER_CONVERTIBLE. + +Thu May 27 11:33:57 1999 Andrew Cagney + + * config/w65/tm-w65.h, config/tic80/tm-tic80.h, config/sh/tm-sh.h, + config/i386/tm-i386m3.h, config/i386/tm-go32.h, + config/i386/tm-cygwin.h, config/h8500/tm-h8500.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h: Delete definition of + macro NAMES_HAVE_UNDERSCORE. + +Thu May 27 09:31:06 1999 Andrew Cagney + + * gdbarch.h (EXTRACT_STRUCT_VALUE_ADDRESS, + EXTRACT_STRUCT_VALUE_ADDRESS_P): Provide default definitions. + * values.c (value_being_returned): Use + EXTRACT_STRUCT_VALUE_ADDRESS when EXTRACT_STRUCT_VALUE_ADDRESS_P. + +Wed May 26 13:51:25 1999 Andrew Cagney + + * utils.c (tui_file_new, tui_file_delete, tui_fileopen): New + functions. + (tui_file_isatty): Rename gdb_file_isatty. + (gdb_file_init_astring): Use tui_file_new to create stream. + (gdb_file_get_strbuf, gdb_file_adjust_strbuf): Call gdb_file_data + to access the tui_stream. + (tui_file_flush): Rename gdb_flush. Call gdb_file_data to access + the tui_stream. Pass FILE and not STREAM down. + + * utils.c (struct stdio_file, stdio_file_flush, stdio_file_fputs, + stdio_file_isatty, stdio_file_delete, stdio_file_new, + stdio_fileopen): Define type and functions. Implement a simple + STDIO based gdb_file. + (struct gdb_file, gdb_file_new, gdb_file_delete, null_file_isatty, + null_file_flush, null_file_fputs, null_file_delete, gdb_file_data, + set_gdb_file_flush, set_gdb_file_isatty, set_gdb_file_fputs, + set_gdb_file_data, fputs_unfiltered, gdb_flush, gdb_file_isatty): + Define type and functions. Implement virtual functions for + gdb_file. + + * defs.h (struct gdb_file): Declare. + (GDB_FILE): Change type to struct gdb_file. Deprecate. + (gdb_file_flush_ftype, gdb_file_fputs_ftype, + gdb_file_isatty_ftype, gdb_file_delete_ftype): Add function type + declarations. + + * defs.h (set_gdb_file_flush, set_gdb_file_fputs, + set_gdb_file_isatty, set_gdb_file_data, gdb_file_new, + gdb_file_delete, gdb_file_data, stdio_fileopen, tui_fileopen): Add + function declarations. + (gdb_fopen): Re-implement. Call stdio_file_new. + (gdb_fclose): Re-implement. Call gdb_file_delete. + + * main.c (tui_file_fputs): Rename fputs_unfiltered. Use + gdb_file_data to gain access to the tui_stream data. Use FILE + instead of STREAM where applicable. + (main): Create gdb_stdout and gdb_stderr using tui_fileopen. + + * defs.h (struct tui_stream): Add field ts_magic. + * utils.c (tui_file_magic): Local variable. + (tui_file_new): Set field ts_magic. + (tui_file_delete, tui_file_isatty, gdb_file_init_astring, + gdb_file_get_strbuf, gdb_file_adjust_strbuf, tui_file_flush): + Verify ts_magic. + +1999-05-25 Jim Blandy + + * breakpoint.c (insert_breakpoints, remove_breakpoint, + breakpoint_1): Add a 'default' case, which prints a warning + message, to remove EGCS warnings. + +1999-05-25 Fernando Nasser + + * utils.c (gdb_file_adjust_strbuf): Take into account the + possibility that the buffer has not been allocated yet. + +Tue May 25 16:05:11 1999 Andrew Cagney + + * gdbarch.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, + REGISTER_CONVERT_TO_RAW): Provide default definition. + + * valops.c (value_assign), infcmd.c (do_registers_info), findvar.c + (value_from_register, value_of_register): Remove #ifdef + REGISTER_CONVERTIBLE. Assume REGISTER_CONVERTIBLE etc defined. + +1999-05-25 Keith Seitz + + * config/mcore/tm-mcore.h (FRAME_NUM_ARGS): Re-write definition of + FRAME_NUM_ARGS so that it returns NUM_ARGS as a result instead of + setting a variable as a side effect. + +Tue May 25 16:18:25 1999 Andrew Cagney + + * remote-d10v.c (d10v_eva_prepare_to_trace, + d10v_eva_get_trace_data), remote-sim.c (_initialize_remote_sim): + Add declaraton. Make static. + + * remote-d10v.c (_initialize_remote_d10v), d10v-tdep.c + (_initialize_d10v_tdep): Add declaration. + * config/d10v/tm-d10v.h (d10v_frame_chain): Add declaration. + +Tue May 25 15:20:58 1999 Andrew Cagney + + * main.c (init_proc, proc_remove_foreign): Delete function. + * inftarg.c (child_mourn_inferior): Update. Delete call to + proc_remove_foreign(). + * top.c (gdb_init): Update. Delete call to init_proc(). + + * utils.c (pollquit, fmthex, hexlate): Delete function. + +Tue May 25 13:01:43 1999 Andrew Cagney + + * main.c (gdb_init): Move declaration from here. + * top.h: To here. + + * defs.h (init_page_info): Add declaration. + + * top.c (initialize_utils): Move declaration from here. + * defs.h: To here. + + * infcmd.c (target_map_name_to_register): Move declaration from + here. + * parser-defs.h: To here. + + * c-typeprint.c (cp_type_print_method_args), target.c + (nosupport_runtime, normal_target_post_startup_inferior): Add + declaration. Make static. + +Tue May 25 13:53:23 1999 Andrew Cagney + + * main.c: Include "event-loop.h". + * Makefile.in (main.o): Add dependency. + + * top.h (setup_event_loop, async_init_signals), top.c + (set_async_editing_command, set_async_annotation_level, + set_async_prompt), event-loop.c (display_gdb_prompt): Move + declarations from here. + * event-loop.h: To here. + + * event-loop.h (delete_async_signal_handler): Add function + declaration. + + * event-top.c (change_annotation_level, command_handler): Add + declaration. Make static. + +Tue May 25 12:44:58 1999 Andrew Cagney + + * tracepoint.c (free_actions_list, add_register): Add declaration. + Make static. + (free_actions_list_cleanup_wrapper): New function. Wraps + free_actions_list for make_cleanup. + (trace_start_command): Pass free_actions_list_cleanup_wrapper + instead of free_actions_list to make_cleanup. + (_initialize_tracepoint): Add extern declaration. + +Tue May 25 12:23:39 1999 Andrew Cagney + + * jv-typeprint.c (java_type_print_base, jv-valprint.c + (java_print_value_fields): Add static declaration. + + * jv-lang.c (java_lookup_type, get_java_utf8_name, + java_lookup_type): Add static declaration. + (get_java_class_symtab, java_class_is_primitive, + java_value_string): Add declaration. Make static. + (java_rerun_cleanup): Add extern declaration for this stub + function. + +Tue May 25 12:06:29 1999 Andrew Cagney + + * gdbarch.h: When multi-arch, check that REGISTER_NAMES was not + defined. + +Mon May 24 16:16:29 1999 Andrew Cagney + + * inflow.c (_initialize_inflow), annotate.c + (_initialize_annotate), os9kread.c (_initialize_os9kread), + serial.c (_initialize_serial), nlmread.c (_initialize_nlmread), + f-valprint.c (_initialize_f_valprint), cp-valprint.c + (_initialize_cp_valprint), typeprint.c (_initialize_typeprint), + complaints.c (_initialize_complaints), scm-lang.c + (_initialize_scheme_language), m2-lang.c + (_initialize_m2_language), dbxread.c (_initialize_dbxread), + f-lang.c (_initialize_f_language), ch-lang.c + (_initialize_chill_language), c-lang.c (_initialize_c_language), + corefile.c (_initialize_core), stabsread.c + (_initialize_stabsread), mipsread.c (_initialize_mipsread), + elfread.c (_initialize_elfread), coffread.c + (_initialize_coffread), maint.c (_initialize_maint_cmds), + demangle.c (_initialize_demangler), maint.c + (_initialize_maint_cmds), language.c (_initialize_language): Add + external declaration. + +Mon May 24 10:04:56 1999 Andrew Cagney + + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/tahoe/tm-tahoe.h, + config/rs6000/tm-rs6000.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h, + config/ns32k/tm-merlin.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/mips/tm-mips.h, + config/m88k/tm-m88k.h, config/m68k/tm-news.h, + config/m68k/tm-delta68.h, config/m68k/tm-isi.h, + config/m68k/tm-m68k.h, config/m32r/tm-m32r.h, + config/i960/tm-i960.h, config/i386/tm-i386v.h, + config/i386/tm-i386.h, config/h8500/tm-h8500.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, + config/convex/tm-convex.h, config/arc/tm-arc.h, + config/arm/tm-arm.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Re-write definition of FRAME_NUM_ARGS so + that it returns NUM_ARGS as a result instead of setting a variable + as a side effect. + + * ns32k-tdep.c (merlin_frame_num_args), tahoe-tdep.c + (tahoe_frame_num_args), vax-tdep.c (vax_frame_num_args), + m68k-tdep.c (news_frame_num_args, delta68_frame_num_args, + isi_frame_num_args), convex-tdep.c (convex_frame_num_args): New + functions. + + * stack.c (print_args_stub): Update use of FRAME_NUM_ARGS. + +Mon May 24 11:57:04 1999 Andrew Cagney + + * remote.c (remote_xfer_memory): Re-write with assumption that + REMOTE_TRANSLATE_XFER_ADDRESS is defined. Pass targ_addr and + targ_len by reference. + (REMOTE_TRANSLATE_XFER_ADDRESS): Provide default definition. + + * remote-d10v.c (remote_d10v_translate_xfer_address): Update. + * config/d10v/tm-d10v.h (REMOTE_TRANSLATE_XFER_ADDRESS): Update. + +Mon May 24 12:10:58 1999 Andrew Cagney + + * value.h (default_push_arguments): Add function declaration. + + * alpha-tdep.c (alpha_about_to_return), gdbarch.c (verify_gdbarch, + arch_ok, set_arch), command.c (find_cmd), infrun.c + (follow_inferior_fork, follow_fork, follow_vfork, + set_schedlock_func, is_internal_shlib_eventpoint, + stopped_for_internal_shlib_event, stopped_for_shlib_catchpoint, + xdb_handle_command), infcmd.c (run_no_args_command, go_command), + symfile.c (add_filename_language, set_ext_lang_command, + info_ext_lang_command, init_filename_language_table), symtab.c + (overload_list_add_symbol), defs.h (default_get_saved_register), + ax-general.c (grow_expr, append_const, read_const, generic_ext): + Ditto. + + * infrun.c (currently_stepping): Ditto. Make static. + + * valops.c (hand_function_call): Explictly type static variable + ``checked''. + +Mon May 24 08:36:18 1999 Andrew Cagney + + * d10v-tdep.c (d10v_breakpoint_from_pc, d10v_register_name, + d10v_register_byte, d10v_register_raw_size, + d10v_register_virtual_size, d10v_register_virtual_type, + d10v_make_daddr, d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, + d10v_convert_iaddr_to_raw, d10v_convert_daddr_to_raw, + d10v_store_struct_return, d10v_store_return_value, + d10v_extract_struct_value_address, d10v_frame_saved_pc, + d10v_frame_args_address, d10v_frame_locals_address, + d10v_saved_pc_after_call): New functions. + + * config/d10v/tm-d10v.h (REGISTER_BYTE, REGISTER_RAW_SIZE, + REGISTER_VIRTUAL_SIZE, REGISTER_VIRTUAL_TYPE, STORE_STRUCT_RETURN, + D10V_MAKE_DADDR, D10V_MAKE_IADDR, D10V_DADDR_P, D10V_IADDR_P, + D10V_CONVERT_DADDR_TO_RAW, D10V_CONVERT_IADDR_TO_RAW, + STORE_STRUCT_RETURN, STORE_RETURN_VALUE, + EXTRACT_STRUCT_VALUE_ADDRESS, SAVED_PC_AFTER_CALL, FRAME_SAVED_PC, + FRAME_ARGS_ADDRESS): Re-define using new functions. + + * config/d10v/tm-d10v.h (BREAKPOINT_FROM_PC): Replace BREAKPOINT. + (REGISTER_NAME): Replace REGISTER_NAMES. + + * utils.c (core_addr_lessthan, core_addr_greaterthan): New + functions. + * defs.h (core_addr_lessthan, core_addr_greaterthan): Declare. + +Sat May 22 16:44:06 1999 Andrew Cagney + + * utils.c (n_spaces): Handle case where first call has N equal to + zero. + (print_spaces): Use n_spaces. + +Fri May 21 11:23:54 1999 Andrew Cagney + + * valops.c (value_push): Remove conditional definition based on + absense of macro PUSH_ARGUMENTS. Pass SP and STRUCT_ADDR by + reference. + (default_push_arguments): New function. + + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sparc/tm-sparc.h, config/sparc/tm-sp64.h, + config/sh/tm-sh.h, config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/mips/tm-mips.h, config/m32r/tm-m32r.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, config/arm/tm-arm.h, + config/alpha/tm-alpha.h: Update definition of PUSH_ARGUMENTS. + Return updated SP. + + * rs6000-tdep.c (rs6000_push_arguments): Rename push_arguments. + +Thu May 20 12:18:28 1999 Andrew Cagney + + * blockframe.c (get_prev_frame): Remove #ifdef around test for + FRAMELESS_FUNCTION_INVOCATION. + (get_prev_frame): Change FRAMELESS_FUNCTION_INVOCATION call to a + function invocation. + * i386-tdep.c (i386_frame_num_args), stack.c (frame_info): Ditto. + * config/z8k/tm-z8k.h, config/w65/tm-w65.h, config/vax/tm-vax.h, + config/sparc/tm-sparc.h, config/sh/tm-sh.h, + config/rs6000/tm-rs6000.h, config/pa/tm-hppa.h, + config/mips/tm-mips.h, config/m88k/tm-m88k.h, + config/m68k/tm-m68k.h, config/i960/tm-i960.h, + config/i386/tm-sun386.h, config/i386/tm-i386v.h, + config/i386/tm-i386.h, config/h8500/tm-h8500.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d30v/tm-d30v.h, config/d10v/tm-d10v.h, + config/convex/tm-convex.h, config/arm/tm-arm.h, + config/arc/tm-arc.h, config/alpha/tm-alpha.h, + config/a29k/tm-a29k.h: Update FRAMELESS_FUNCTION_INVOCATION. + * fr30-tdep.c (fr30_frameless_function_invocation), convex-tdep.c + (convex_frameless_function_invocation), arm-tdep.c + (arm_frameless_function_invocation): New functions. + +1999-05-20 Elena Zannoni + + * top.c: Change dates in comments to ISO format. + + * event-top.c: Ditto. + * event-loop.c: Ditto. + * main.c: Ditto. + +1999-05-19 Keith Seitz + + * config/mcore/tm-mcore.h (BELIEVE_PCC_PROMOTION): Define. We + really do want to believe what gcc tells us about types... + +1999-05-19 Keith Seitz + + * config/mcore/tm-mcore.h (FRAME_ARGS_ADDRESS): Define to a function. + (FRAME_LOCALS_ADDRESS): Ditto. + * mcore-tdep.c (mcore_frame_args_addcress): New function. + (mcore_frame_locals_address): New function. + + * monitor.c (monitor_open): Only assume we have eight + breakpoints if the monitor implementation does not tell + us how many there really are. Alloc memory for these + dynamically. + (monitor_close): Free memory associated with breakpoint + storage. + (monitor_insert_breakpoint): Don't rely on a hardcoded + number of breakpoints. + (monitor_remove_breakpoint): Ditto. + (NUM_MONITOR_BREAKPOINTS): Removed and replaced with monitor_ops + specification. + * monitor.h (struct monitor_ops): Add new member so that the + individual monitor implementations can tell us how many + breakpoints the monitor supports. + + * mcore-rom.c (init_picobug_cmds): Add number of breakpoints supported + by picobug monitor. + +1999-05-18 Elena Zannoni + + From Philippe De Muyter : + * event-loop.h: Include sys/wait.h only if HAVE_SYS_WAIT_H. + +1999-05-17 Keith Seitz + + * configure.tgt: Add MCore target. + * Makefile.in: Add mcore-tdep.c and mcore-rom.c + * config/mcore/tm-mcore.h: New file. + * config/mcore/mcore.mt: New file. + * mcore-rom.c: New file. + * mcore-tdep.c: New file. + +1999-05-17 Fernando Nasser + + * top.c (print_command_line): Added the missing stream argument. + * gdbcmd.h: Added argument to prototype. + * command.c: Fixed call to include extra argument. + * breakpoint.c: Same. + +1999-05-14 Jim Blandy + + Targets are #defining PREPARE_TO_PROCEED with inconsistent numbers + of arguments. Since the Mach 3 target needs an argument, we'll + make things consistent by adding an argument everywhere. + * infrun.c (proceed): Pass an argument to PREPARE_TO_PROCEED. + * config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Add ignored argument + to definition. + +1999-05-11 Stan Shebs + + Fri Apr 23 13:27:34 PDT 1999 Toshiyasu Morita (tm@netcom.com) + * sh-stub.c: Mostly localize processor dependencies. + +1999-05-10 Martin Hunt + + * debugify.c, debugify.h: Removed because they are no + longer used. + +1999-05-08 Jim Blandy + + * infrun.c (_initialize_infrun): Handle TARGET_SIGNAL_LWP, + TARGET_SIGNAL_WAITING, and TARGET_SIGNAL_CANCEL like SIGALRM or + SIGIO --- pass them through to the inferior silently. + * target.h (enum target_signals): Add TARGET_SIGNAL_CANCEL, for + Solaris's SIGCANCEL. + * target.c (target_signal_from_host, target_signal_to_host): Add + mapping between SIGCANCEL and TARGET_SIGNAL_CANCEL. + (signals): Add entry for SIGCANCEL. + +1999-05-07 Stan Shebs + + After years of talking about it, finally break up the + wait_for_inferior loop. + * infrun.c (struct execution_control_state): New struct, + holds what used to be local vars governing wfi behavior. + (init_execution_control_state): New function, was code in + wfi that set up execution control state. + (handle_inferior_event): New function, was body of main + wfi loop. Rewrite all local var references to go through + the ecs structure passed into this function. + (wait_for_inferior): Rewrite to set up and use execution control + state, and to call the new functions. + (currently_stepping): New function, was the macro + CURRENTLY_STEPPING. + (enum infwait_states): Rename from wfi_states. + (infwait_normal_state, etc): Similarly. + +Thu May 6 15:25:32 1999 Philippe De Muyter + + * coffread.c (coff_symtab_read): Call `record_line' with the line + number of the ".bf" symbol only for one-line functions. + +1999-05-06 Michael Snyder + + * Makefile.in: thread.o depends on target.h. + +1999-05-06 Elena Zannoni + + * event-top.c (change_line_handler): Use POLLIN instead of + POLLRDNORM, for compatibility with Linux. + (setup_event_loop): Ditto. + +1999-05-06 Jim Blandy + + * mips-tdep.c (heuristic_proc_start): Rewrite cryptic error + message about hitting the "heuristic fence post" with something + that actually gives the user a fighting chance of figuring out + why GDB is unhappy. + +1999-05-06 Elena Zannoni + + * top.c: Include event-loop.h. + (init_main): Add async version of 'set prompt' command. + If in async mode define the editing and annotate set + commands in a different way. + Initialize new variable asyn_command_editing_p to 1. + Initialize the gdb prompt for async mode. + (quit_cover): Make not static, for use by the event loop. + (gdb_init): Call async_init_signals for the asynchronous case. + (source_line_number, source_file_name, source_error, + source_pre_error, history_expansion_p): Make non-static, so + event-top.c can use them. + (command_loop_marker): Make non-static, for use in event-top.c. + Include event-loop.h. + + * top.h: Add prototype for async_init_signals. + (SET_TOP_LEVEL): Move here from main.c. + Add setup_event_loop to exported functions. + + * defs.h: Add async_hook to exported variables. + + * main.c (SET_TOP_LEVEL): Move to top.h, so that it is visible in + event-loop.c. Add new global variable async to determine whether + we are running in async mode or not. + (main): Add support for --async switch. Use async_hook to call + setup_event_loop, when running in async mode. + + * event-top.c: New file. Gdb input line handler and command line + handler for the event loop. Initialization of signal handlers. + All the handled signals have handlers called handle_. + Set up all the appropriate tokens for asynchronous signal + handling. + + * event-loop.h: New file. Data structures and definitions for the + event loop. + + * event-loop.c: New file. Functions for the event loop + implementation. + + * config.in: Regenerate with autoheader. + + * configure.in (AC_CHECK_FUNCS): Add poll to list of functions + to be checked for. + + * configure: Regenerate. + + * Makefile.in (SFILES): Add new source files. + (eventloop_h): Define. + (COMMON_OBS): Add new object files. + (event-loop.o): Add rule for target object. + (event-top.o): Ditto. + +1999-05-05 Stan Shebs + + * infrun.c (wait_for_inferior): Transform breaks and continues + into gotos, move the target_wait to the very top of the loop. + +1999-05-05 Jonathan Larmour + + * configure.in: Ensure that GDB links with libuser32.a under + cygwin because libreadline requires it. + * Makefile.in (WIN32LIBS): Substitute in result from configure + * configure: regenerate + +1999-05-04 Jim Blandy + + Fix from John Rigby. Richard Henderson says it seems okay. + * alpha-tdep.c (PROC_DUMMY_FRAME): As long as we're abusing fields + of (proc)->pdr, we ought to at least abuse one large enough to + hold the value we're trying to store in it. iopt is only 32 bits + wide; cbLineOffset is a bfd_vma. + +1999-05-04 DJ Delorie + + DJGPP changes from Robert Hoehne + + * ser-go32.c: correct includes + * source.c (openp): use ROOTED_P instead of SLASH_P + * go32-nat.c: enhance exception and NPX handling + (go32_kill_inferior): fix small bug killing inferior + * configure.in: don't look for termcap with djgpp + * configure: rebuild + +1999-05-04 Elena Zannoni + + * main.c (main): Comment out unused and undocumented command line + option '-'. + +1999-04-30 Jim Blandy + + Cleanup from Philippe De Muyter: + * configure.in (BFD_NEED_DECLARATION): Check also for strstr. + * acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_REALLOC, + NEED_DECLARATION_FREE, NEED_DECLARATION_STRERROR): Define slots + removed; they are now generated automatically. + * gdb_string.h (strstr): Provide function prototype if + NEED_DECLARATION_STRSTR. + * configure, config.in: Regenerated. + +Fri Apr 30 11:16:09 1999 Michael Snyder + + * target.h (to_find_new_threads): new target ops vector. + (target_find_new_threads): define. + * target.c (update_current_target): inherit new target ops vector. + * remote.c: Setup to_find_new_threads vector. + * sol-thread.c: ditto. + * thread.c (target_find_new_threads): rename: local_find_new_threads. + (info_threads_command): call target_find_new_threads by new method, + as a target ops vector, rather than previous macro definition method. + * infcmd.c (go_command): define only if in xdb mode. + * procfs.c: fix typo in comment. + +Fri Apr 30 01:02:05 1999 Jeffrey A Law (law@cygnus.com) + + * hppah-nat.c: Fix various coding convention violations introduced + by HP. + (child_acknowledge_created_inferior): Do nothing if PT_SET_EVENT_MASK + is not defined. + +1999-04-28 Stan Shebs + + * TODO: Add some items inspired by review of the manual. + +Tue Apr 27 17:38:19 1999 Andrew Cagney + + * config/z8k/tm-z8k.h, config/v850/tm-v850.h, + config/tic80/tm-tic80.h, config/sparc/tm-sparc.h, + config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/mips/tm-mips.h, config/m88k/tm-m88k.h, + config/m68k/tm-m68k.h, config/m32r/tm-m32r.h, + config/i960/tm-i960.h, config/i386/tm-i386.h, + config/h8500/tm-h8500.h, config/h8300/tm-h8300.h, + config/fr30/tm-fr30.h, config/d30v/tm-d30v.h, + config/d10v/tm-d10v.h, config/alpha/tm-alpha.h, + config/arm/tm-arm.h, config/a29k/tm-a29k.h, config/arc/tm-arc.h: + Change SKIP_PROLOGUE and SKIP_PROLOGUE_FRAMELESS_P macros so that + they return the new address. + + * sparc-tdep.c (sparc_skip_prologue), hppa-tdep.c + (hppa_skip_prologue), m88k-tdep.c + (m88k_skip_prologue), i960-tdep.c + (i960_skip_prologue), arc-tdep.c + (arc_skip_prologue), a29k-tdep.c (a29k_skip_prologue): Rename + skip_prologue function. + + * config/m68k/tm-isi.h: Convert macro SKIP_PROLOGUE into a new + function. + * m68k-tdep.c (isi_skip_prologue): That new function. + * vax-tdep.c (vax_skip_prologue), config/vax/tm-vax.h: Ditto. + * tahoe-tdep.c (tahoe_skip_prologue), config/tahoe/tm-tahoe.h: Ditto. + * rs6000-tdep.c (rs6000_skip_prologue), config/rs6000/tm-rs6000.h: + Ditto. + * ns32k-tdep.c (umax_skip_prologue), config/ns32k/tm-umax.h: Ditto. + * config/ns32k/tm-merlin.h, ns32k-tdep.c (merlin_skip_prologue): + Ditto. + * config/m68k/tm-altos.h, m68k-tdep.c (altos_skip_prologue): Ditto. + * config/convex/tm-convex.h, convex-tdep.c (convex_skip_prologue): + Ditto. + + * symtab.c (in_prologue, find_function_start_sal, decode_line_1), + infrun.c (wait_for_inferior), blockframe.c + (frameless_look_for_prologue): Update. + * config/fr30/tm-fr30.h (FRAMELESS_FUNCTION_INVOCATION): Update. + +1999-04-27 Stan Shebs + + * TODO: Remove item about DEBUG_EXPRESSIONS, no longer meaningful. + + * infrun.c (enum wfi_state): New enum. + (wait_for_inferior): Merge all but one of the target_wait calls + into a single call, add a wfi_state variable to encode which of + the calls is being made. + +1999-04-26 Jim Blandy + + Fix from Dave Holcomb. + * hpux-thread.c (init_hpux_thread_ops): Use the right function + name when initializing hpux_thread_ops.to_thread_alive. + + * coffread.c (coff_symfile_read): If we have a `.stab' section, + but no `.stabstr' section, then print an error message; don't + crash. + +1999-04-26 Jim Blandy + + 1999-04-25 Mark Kettenis + + * gnu-nat.c (gnu_attach): Call target_terminal_init before calling + inf_set_traced, since that function calls code that might try to + restore the terminal settings. + +Mon Apr 26 08:55:46 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c: More format cleanups. + +Sun Apr 25 18:54:51 1999 Andrew Cagney + + * gdbarch.h (CALL_DUMMY_STACK_ADJUST_P): Replace + SIZEOF_CALL_DUMMY_STACK_ADJUST_P. + (CALL_DUMMY_STACK_ADJUST): Replace + SIZEOF_CALL_DUMMY_STACK_ADJUST_P. + * gdbarch.c (gdbarch_call_dummy_stack_adjust, + set_gdbarch_call_dummy_stack_adjust): Define. + +Fri Apr 23 15:00:25 1999 Andrew Cagney + + * gdbarch.c (arch_ok): New function. Fix logic test for a valid + architecture. + (set_arch): Use. + +1999-04-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * README: Note that readline is not installed as a part of + make install. + +Thu Apr 22 21:02:28 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c (GET_SAVED_REGISTER, get_saved_register): + Add. + (struct gdbarch, verify_gdbarch, gdbarch_alloc, gdbarch_dump, + default_gdbarch): Update. + + * value.h (get_saved_register): Cleanup prototype. + * findvar.c (default_get_saved_register): Rename function + get_saved_register. + (GET_SAVED_REGISTER): Define as default_get_saved_register when + undefined. + (get_saved_register): Always declare. Call GET_SAVED_REGISTER. + + * sparc-tdep.c (sparc_get_saved_register): Rename function + get_saved_register. + * config/sparc/tm-sparc.h (GET_SAVED_REGISTER): Update. + * a29k-tdep.c (a29k_get_saved_register): Rename function + get_saved_register. + * config/a29k/tm-a29k.h (GET_SAVED_REGISTER): Update. + + * config/d10v/tm-d10v.h, config/powerpc/tm-ppc-eabi.h, + config/h8300/tm-h8300.h, config/m32r/tm-m32r.h, + config/mn10200/tm-mn10200.h, config/mn10300/tm-mn10300.h, + config/sh/tm-sh.h, config/tic80/tm-tic80.h, config/v850/tm-v850.h: + Update macro GET_SAVED_REGISTER so that it calls + generic_get_saved_register. + * v850-tdep.c, tic80-tdep.c, sh-tdep.c, mn10300-tdep.c, + mn10200-tdep.c, m32r-tdep.c, h8300-tdep.c, rs6000-tdep.c: Delete + function get_saved_register. + +Thu Apr 22 13:32:23 1999 Andrew Cagney + + * gdbarch.c: Cleanup. Re-order the definition of the ``struct + gdbarch'' initialization functions so that maintenance is more + straightforward. + +Thu Apr 22 11:07:21 1999 Andrew Cagney + + * gdbarch.h, gdbarch.c (use_generic_dummy_frames, + USE_GENERIC_DUMMY_FRAMES): Add. + (struct gdbarch, verify_gdbarch, gdbarch_alloc, gdbarch_dump, + default_gdbarch): Update. + + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sh/tm-sh.h, config/powerpc/tm-ppc-eabi.h, + config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h, + config/m32r/tm-m32r.h, config/h8300/tm-h8300.h, + config/fr30/tm-fr30.h, config/d10v/tm-d10v.h: Give the + USE_GENERIC_DUMMY_FRAMES macro the value one. + * inferior.h (USE_GENERIC_DUMMY_FRAMES): Default to a value of + zero. + + * blockframe.c (generic_find_dummy_frame, + generic_pc_in_call_dummy, generic_read_register_dummy, + generic_push_dummy_frame, generic_pop_current_frame, + generic_pop_dummy_frame, generic_frame_chain_valid, + generic_get_saved_register): Always define. + + * breakpoint.c (frame_in_dummy): Convert #ifdef + USE_GENERIC_DUMMY_FRAMES to runtime test. + + * rs6000-tdep.c (pop_frame, push_arguments, push_arguments, + push_arguments, frame_saved_pc, rs6000_frame_chain, + rs6000_frame_chain): Convert #ifdef USE_GENERIC_DUMMY_FRAMES to + runtime test. + (get_saved_register): Always define. + +Wed Apr 21 17:15:52 1999 Andrew Cagney + + * gdbarch.c (gdbarch_dump): Fix robustness check on + BELIEVE_PCC_PROMOTION_TYPE. + +Wed Apr 21 15:39:27 1999 Andrew Cagney + + * gdbarch.h (TARGET_BYTE_ORDER_SELECTABLE_P): When multi-arch, + force selectable byte order. + (CALL_DUMMY): Check for CALL_DUMMY definition when multi-arch. Are + incompatible. + * gdbarch.c (verify_gdbarch): Check call_dummy_stack_adjust. + +Wed Apr 21 14:45:44 1999 Andrew Cagney + + * gdbarch.c (gdbarch_update): Move dump-arch code from here. + (gdbarch_dump): To here. Make more robust. + * gdbarch.h (gdbarch_dump): Add prototype. + + * gdbarch.c (enum set_arch): Declare. + (set_arch): Add type parameter. Only disable + ``target_architecture_auto'' when set_arch_manual. + (set_architecture, set_architecture_from_arch_mach, + set_architecture_from_file): Update. + (set_arch): When ``gdbarch_debug'', gdbarch_dump() the current + architecture. + +Wed Apr 21 10:48:53 1999 Andrew Cagney + + * frame.h (generic_pc_in_call_dummy): Make signature consistent + with other pc_in_call_dummy functions by adding SP parameter. + * blockframe.c (generic_pc_in_call_dummy): Update. Pass SP and + not FP to generic_find_dummy_frame(). + * breakpoint.c (frame_in_dummy): Update. + * config/v850/tm-v850.h, config/tic80/tm-tic80.h, + config/sh/tm-sh.h, config/mn10300/tm-mn10300.h, + config/mn10200/tm-mn10200.h, config/m32r/tm-m32r.h, + config/h8300/tm-h8300.h, config/fr30/tm-fr30.h, + config/d10v/tm-d10v.h: Update PC_IN_CALL_DUMMY definition. + +Tue Apr 20 12:15:45 1999 Andrew Cagney + + * config/d10v/tm-d10v.h (GDB_TARGET_IS_D10V): Move from here. + * gdbarch.h (GDB_TARGET_IS_D10V): To here. Implement using + TARGET_ARCHITECTURE. + (D10V_MAKE_DADDR, D10V_MAKE_IADDR): Provide fatal default + definitions. + + * valops.c (value_at): Replace #ifdef GDB_TARGET_IS_D10V code with + runtime test. + (value_fetch_lazy): Ditto. + * values.c (unpack_long): Ditto. + * printcmd.c (print_frame_args): Ditto. + +Sat Apr 17 15:39:33 1999 Andrew Cagney + + * gdbarch.h: Cleanup multi-arch comments. + +Fri Apr 16 15:39:10 1999 Andrew Cagney + + * gdbarch.h: Provide definition if GDB_MULTI_ARCH > 1 or + GDB_MULTI_ARCH > 0 and no previous definition. + * gdbarch.c (verify_gdbarch): Only verify a full multi-arch + target. + +1999-04-15 Stan Shebs + + * infrun.c (wait_for_inferior) [HAVE_STEPPABLE_WATCHPOINT, + HAVE_NONSTEPPABLE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT]: Test + at runtime instead of compile time. + +Thu Apr 15 15:15:07 1999 Andrew Cagney + + * mips-tdep.c (struct gdbarch_tdep): Rename elf_abi to + elf_flags. Check ABFD is elf_flavour before extracting elf_flags. + Match ARCH against entire elf_flags instead of just the + EF_MIPS_ABI field. + (mips_gdbarch_init): Extract/print ef_mips_arch and + ef_mips_bitptrs and ef_mips_abi fields from elf_flags. + +1999-04-14 Philippe De Muyter + + * breakpoint.c (maintenance_info_breakpoints): Function made + static to match previous prototype. + + * coffread.c (coff_record_line): Static function removed. + (enter_linenos): Call `record_line' instead of `coff_record_line'. + (FILE-LEVEL, coff_start_symtab, coff_end_symtab): `coff_record_line' + -related stuff removed. + (coff_symfile_read): Redundant statement removed. + (coff_symtab_read): `record_line' is now called with the first line + number of each function, given by the ".bf" symbol. This solves + the line-number bug for one-line functions. + +Wed Apr 14 11:09:45 1999 Andrew Cagney + + * gdbarch.h (BELIEVE_PCC_PROMOTION_TYPE, BELIEVE_PCC_PROMOTION): + Add multi-arch definitions. + * gdbarch.c (gdbarch_believe_pcc_promotion, + gdbarch_believe_pcc_promotion_type): New functions. + (gdbarch_update): Update + (struct gdbarch default_gdbarch): Update. + + * stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Provide default. + (define_symbol): Change #if BELIEVE_PCC_PROMOTION_TYPE and #if + BELIEVE_PCC_PROMOTION to if(). + +1999-04-13 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (HAVE_MULTIPLE_PROC_FDS): Don't define if we're + on a Solaris host (of any architecture). + * configure: Regenerated. + +Wed Apr 14 08:23:32 1999 Andrew Cagney + + * gdbarch.c (SET_GDBARCH, GET_GDBARCH, FSET_GDBARCH): New macros. + (gdbarch_byte_order, gdbarch_long_bit, gdbarch_long_long_bit, + gdbarch_ptr_bit, gdbarch_call_dummy_location, + gdbarch_call_dummy_address, gdbarch_call_dummy_address, + gdbarch_call_dummy_breakpoint_offset, + gdbarch_call_dummy_breakpoint_offset, gdbarch_call_dummy_length, + gdbarch_pc_in_call_dummy, dbarch_call_dummy_breakpoint_offset_p, + dbarch_call_dummy_p, dbarch_call_dummy_words, + dbarch_sizeof_call_dummy_words, dbarch_call_dummy_stack_adjust, + dbarch_call_dummy_stack_adjust_p): Define using new macros. + +1999-04-13 Jason Molenda (jsm@bugshack.cygnus.com) + + * rom68k-rom.c (init_rom68k_cmds): Fix an accidental substitution + in monitor command strings, fix some formatting mistakes. + +1999-04-13 Stan Shebs + + * configure.tgt (arm-*-*): Whack another vestige of wingdb. + +1999-04-12 James Ingham + + * arm-tdep.c (arm_pop_frame): don't clobber the previous frame's + stack pointer (stored in frame->framereg's register) BEFORE + reading it. This was causing "return" to behave very oddly. + +1999-04-12 Stan Shebs + + * NEWS: Mention tic80. + +1999-04-12 Elena Zannoni + + * a68v-nat.c: Remove reference to 'extern char registers[]' throughout. + * altos-xdep.c: Ditto. + * arm-xdep.c: Ditto. + * convex-xdep.c: Ditto. + * cxux-nat.c: Ditto. + * hp300ux-nat.c: Ditto. + * hppab-nat.c: Ditto. + * i386aix-nat.c: Ditto. + * i386mach-nat.c: Ditto. + * m88k-nat.c: Ditto. + * ptx4-nat.c: Ditto. + * pyr-xdep.c: Ditto. + * rs6000-nat.c: Ditto. + * sun3-nat.c: Ditto. + * sun386-nat.c: Ditto. + * symm-nat.c: Ditto. + * umax-xdep.c: Ditto. + * i386v4-nat.c: Ditto. Also include inferior.h. + * m68k-tdep.c: Ditto. Also include inferior.h. + +Mon Apr 12 15:57:16 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_STACK_ADJUST, CALL_DUMMY_STACK_ADJUST_P): + Provide default definitions. + * valops.c (hand_function_call): Replace #ifdef + CALL_DUMMY_STACK_ADJUST with if (CALL_DUMMY_STACK_ADJUST_P). + + * gdbarch.h (SIZEOF_CALL_DUMMY_STACK_ADJUST, + (SIZEOF_CALL_DUMMY_STACK_ADJUST_P): Define + * gdbarch.c (struct gdbarch): Add call_dummy_stack_adjust, + call_dummy_stack_adjust_p. + (gdbarch_call_dummy_stack_adjust, + set_gdbarch_call_dummy_stack_adjust, + gdbarch_call_dummy_stack_adjust_p, + set_gdbarch_call_dummy_stack_adjust_p): New functions. + (default_gdbarch): Update. + +1999-04-09 Jim Blandy + + * ax-gdb.c, ax-gdb.h, ax-general.c, ax.h: Remove RCS Id strings. + They're a pain. + + * GDB 4.18 released. + * Makefile.in (VERSION): Bump to 4.18.1. + +Thu Apr 8 16:04:34 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_P, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS): Define macros. + (PUSH_DUMMY_FRAME, FIX_CALL_DUMMY, STORE_STRUCT_RETURN): Provide + fatal default. + + * inferior.h, gdbarch.c (call_dummy_words, + sizeof_call_dummy_words): Declare/Define variables. + * valops.c (value_arg_coerce, find_function_addr, + call_function_by_hand): Always define. + (hand_function_call): Rename CALL_DUMMY version of + call_function_by_hand. Make static. Add prototype. + (hand_function_call): Update. Allocate space for *dummy and + *dummy1 using alloca. + * breakpoint.c (frame_in_dummy): Update. + + * gdbarch.h (CALL_DUMMY_P, CALL_DUMMY_WORDS, + SIZEOF_CALL_DUMMY_WORDS): Define. + * gdbarch.c (gdbarch_call_dummy_p, set_gdbarch_call_dummy_p, + gdbarch_call_dummy_words, set_gdbarch_call_dummy_words, + gdbarch_sizeof_call_dummy_words, + set_gdbarch_sizeof_call_dummy_words): New functions. + (gdbarch_alloc, verify_gdbarch, gdbarch_update, struct + default_gdbarch): Update. + +1999-04-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (monitor_read_memory): If a MO_GETMEM_NEEDS_RANGE + monitor, increase the end address by one byte. + +1999-04-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * dbug-rom.c (init_dbug_cmds): Fix strings in + dbug_cmds.{step,clr_break,clr_all_break,fill} to send correct + commands to the monitor. + +1999-04-08 Keith Seitz + + * m32r-stub.c (branchDestination): Undo overly ambitious + sed script's conversion of cast from "char" to "unsigned char". + Return offset should now be properly computed. + +Thu Apr 8 14:13:19 1999 Andrew Cagney + + * inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): New macro. + Non-zero when CALL_DUMMY_BREAKPOINT_OFFSET is valid. + + * infcmd.c (breakpoint_auto_delete_contents): Always define. + (run_stack_dummy): Update. + * infrun.c (wait_for_inferior): Update + + * gdbarch.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): New macro. + * gdbarch.c (set_gdbarch_call_dummy_breakpoint_offset_p, + gdbarch_call_dummy_breakpoint_offset_p): New functions. + (struct gdbarch, gdbarch_alloc, default_gdbarch, gdbarch_update): + Update. + +1999-04-07 Stan Shebs + + * MAINTAINERS: Mark Alexander can no longer maintain + h8300 and other embedded targets, sniff. + +1999-04-06 Stan Shebs + + * inftarg.c (child_wait): Initialize execd_pathname. + * target.c (debug_to_has_execd): Handle NULL execd_pathname. + + * solib.c (clear_solib): Don't call disable_breakpoints_in_shlibs, + this breaks rerunning on sun4 native. + +1999-04-06 Jim Blandy + + * config/sparc/nm-linux.h: Don't redefine PT_ATTACH to use the + deprecated PTRACE_SUNATTACH compatibility commands. The + definitions from are fine. + +1999-04-06 Martin Hunt + + * annotate.h: Declare annotate_signal_hook. + + * annotate.c (annotate_signal): Add a call to + annotate_signal_hook(). + +1999-04-06 Jim Blandy + + * dwarf2read.c (dwarf_decode_lines): Don't call record_line when + we hit a DW_LNE_end_sequence instruction. + + * README: Note that GDB requires an ANSI C compiler, and explain + how to get GCC. + + * README: Update. + +1999-04-05 Stan Shebs + + * NEWS: Add more notes about user-visible changes. + +Mon Apr 5 14:56:59 1999 Michael Snyder + + * target.c (target_signal_to_string): check for signal + number in range; otherwise if the target board returns + a bogus signal number we might core dump (per David Taylor). + +1999-04-05 David Taylor + + * utils.c (fputs_maybe_filtered): test value of + pagination_enabled before paginating. + +1999-04-02 James Ingham + + * blockframe.c (get_prev_frame): Remove the redundant + get_prev_frame_info. It is now exactly the same as + get_prev_frame, so there is no reason to have both functions. + + * rs6000-tdep.c (rs6000_init_extra_frame_info): + frame.h: + a29k-tdep.c (init_extra_frame_info): + config/a29k/tm-a29k.h: + i386-tdep.c: + Change all references to get_prev_frame_info to get_prev_frame. + +1999-04-02 Stan Shebs + + * bcache.c, bcache.h, breakpoint.c, defs.h, expprint.c, + expression.h, gdbarch.c, gdbtypes.c, gdbtypes.h, gnu-nat.c, + gnu-nat.h, hppa-tdep.c, maint.c, monitor.c, objfiles.h, parse.c, + remote-mips.c, remote-sds.c, remote.c, sol-thread.c, symmisc.c, + symtab.h, target.c, top.c, typeprint.c, config/nm-gnu.h: Evaporate + the unused MAINTENANCE_CMDS conditional. + +1999-04-02 James Ingham + + * config/arm/tm-arm.h: (EXTRACT_STRUCT_VALUE_ADDRESS): This needs + to call extract_address, not just cast the first 4 bytes, since + the result will be passed to value_at which expects host-byte + order. + + * arm-tdep.c (arm_scan_prologue): The prologue_start address was + directly &'ed with 0x03fffffc, rather than using + ADDR_BITS_REMOVE. This would cause inferior function calls to + report the stack incorrectly on return. + + +1999-04-02 Keith Seitz + + * top.c (ui_loop_hook): Change declaration. Now returns an int. + * win32-nat.c (child_wait): Timeout WaitForDebugEvent and call + the ui_loop_hook if there was no debug event. + * top.c (ui_loop_hook): Change to return an int and include + on all non-Cygwin builds. + * v850ice.c: Change prototype of ui_loop_hook. + (v850ice_wait): Update call to ui_loop_hook. + * ser-unix.c (hardwire_readchar): Enable ui_loop_hook callbacks + for non-Cygwin builds. Check return status of ui_loop_hook and + return a timeout if told to detach. Add more documentation. + * ser-tcp.c (tcp_readchar): Break up timeouts into one second + intervals and call ui_loop_hook so that other UIs can + keep up to date. If ui_loop_hook returns non-zero, then + return SERIAL_TIMEOUT to facilitate detaching from the + target. + * remote.c (remote_interrupted_already): Remove. + (remote_interrupt_twice): Revive. + (remote_interrupt): Call remote_stop to interrupt the target + and install remote_interrupt_twice to take more severe + actions if this fails. + (remote_stop): Only attempt to stop the target. This separates + the command line from other UIs. + * remote-sim.c (gdb_os_poll_quit): Add a call to ui_loop_hook, + if it is defined. + +1999-04-01 Jim Blandy + + Fix for cross-debugging on an AIX host from Johanna Svenningsson: + * ax-gdb.h (enum axs_lvalue_kind): Remove trailing comma from enum. + * ax.h (enum agent_op): Same. + * tracepoint.h (enum actionline_type): Same. + * config/xm-aix4.h: Add declaration for termdef. + +1999-03-31 Stan Shebs + + * jv-lang.h (dynamics_objfile): Remove decl, conflicts with static + decl in jv-lang.c. + + * infrun.c (follow_inferior_fork): Add ifdefs around + SOLIB_REMOVE_INFERIOR_HOOK. + +Wed Mar 31 11:39:49 1999 David Taylor + + * valops.c (search_struct_field): revert HP merge change + to this function -- it causes messages to be printed about + member class ambiguity when the compiler is happy. + (search_struct_field_aux): delete -- added as part of HP merge + change; with aforementioned change it is no longer called. + +1999-03-30 Stan Shebs + + Make more HPUX-specific code generic. + * infrun.c: Include top.h. + (MAY_SWITCH_FROM_INFERIOR_PID, MAY_FOLLOW_EXEC, + USE_THREAD_STEP_NEEDED): New native macros. + (may_switch_from_inferior_pid, may_follow_exec, + use_thread_step_needed): New globals. + (follow_inferior_fork): Remove HPUXHPPA ifdef. + (follow_exec): Ditto, also save run target and re-push instead of + always pushing child_ops, add ifdefs around SOLIB_RESTART and + SOLIB_CREATE_INFERIOR_HOOK. + (wait_for_inferior): Use new globals instead of ifdefing HPUXHPPA, + always use printf_filtered to report new threads. + (normal_stop): Ditto. + * target.h, target.c (find_run_target): New function. + * config/pa/nm-hppah.h: Define new macros. + +1999-03-29 Stan Shebs + + * top.h: Include setjmp.h here. + * main.c, top.c: Don't include it here. + +1999-03-29 Keith Seitz + + * symtab.c (decode_line_1): Take out change which breaks symbols + which include class names and methods, e.g., "Foo::bar". + +1999-03-26 Stan Shebs + + * configure.tgt (i[3456]86-*-sysv4.2MP, i[3456]86-*-sysv4.2uw2*): + Recognize both, as i[3456]86-*-sysv4.2*. + (i[3456]86-*-sysv5*): Recognize. + + * infrun.c (wait_for_inferior): Remove most #if 0 segments. + +Fri Mar 26 17:27:27 1999 Andrew Cagney + + * blockframe.c (pc_in_call_dummy_on_stack): Fix. Had copied code + from at_entry_point. + +Thu Mar 25 19:30:02 1999 Andrew Cagney + + * gdbarch.c: Include all headers. + (struct gdbarch), gdbarch.h (CALL_DUMMY_LOCATION, + CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LENGTH, + PC_IN_CALL_DUMMY): Add ``call_dummy_location'', + ``call_dummy_length'', ``pc_in_call_dummy'', + ``call_dummy_start_offset'', ``call_dummy_breakpoint_offset'' to + multi-arch framework. + + * inferior.h, blockframe.c (pc_in_call_dummy_before_text_end, + pc_in_call_dummy_after_text_end, pc_in_call_dummy_on_stack, + pc_in_call_dummy_at_entry_point): Convert PC_IN_CALL_DUMMY macro's + into functions. + + * mips-tdep.c (mips_gdbarch_init): Initialize above + +Tue Mar 23 17:22:57 1999 Philippe De Muyter + + * remote.c, parse.c: Include ctype.h. + +1999-03-24 Stan Shebs + + * configure.host (mips-dec-mach3*): Use mipsm3 not mach3. + + Attempt to sort out SCO-related configs. + * configure.host (i[3456]86-*-sysv4.2*): Use instead of + i[3456]86-*-sysv4.2MP and i[3456]86-*-sysv4.2uw2*. + (i[3456]86-*-sysv5*): Recognize. + * configure.tgt (i[3456]86-*-sco3.2v5*, i[3456]86-*-sco3.2v4*): + Recognize. + +Wed Mar 24 16:19:01 1999 Christopher Faylor + + * MAINTAINERS: Add DJ Delorie (dj@cygnus.com) as the djgpp + maintainer. + +Wed Mar 24 21:19:57 1999 Andrew Cagney + + * target.h (enum target_signal): Do not hardwire values of MACH + signals. + +1999-03-14 Ken Raeburn + + * target.h (enum target_signal): Add TARGET_SIGNAL_INFO. + * target.c (signals): Add SIGINFO description. + (target_signal_from_host, target_signal_to_host): Translate + SIGINFO to/from TARGET_SIGNAL_INFO. + +Wed Mar 24 01:01:27 1999 Andrew Cagney + + * rs6000-tdep.c (rs6000_software_single_step): Change SIGNAL to + unsigned int. + + From Rodney Brown + * target.h (enum thread_control_capabilities), breakpoint.h (enum + bptype), breakpoint.c (enum insertion_state_t): Strict ISO-C + doesn't allow trailing comma in enum definition. + +Mon Mar 22 15:56:04 1999 Andrew Cagney + + * blockframe.c (inside_entry_file, inside_entry_func): Convert #if + CALL_DUMMY_LOCATION to if. + * valops.c (call_function_by_hand): Ditto. + * infcmd.c (run_stack_dummy): Ditto. + * inferior.h (CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET, + CALL_DUMMY_BREAKPOINT_OFFSET): Provide default. + +1999-03-23 Jason Molenda (jsm@bugshack.cygnus.com) + + * hppa-tdep.c (pa_register_look_aside): Remove CPU_HPPA_RISC_20 + check, test for presence of struct save_state_t and the ss_wide + member directly. + * configure.in: Remove CPU_HPPA_RISC_20 test. Add tests for + HAVE_STRUCT_SAVE_STATE_T and HAVE_STRUCT_MEMBER_SS_WIDE. + * acconfig.h: Add HAVE_STRUCT_SAVE_STATE_T HAVE_STRUCT_MEMBER_SS_WIDE. + * configure, config.in: Regenerated. + +Mon Mar 22 13:25:13 1999 Michael Snyder + + * infttrace.c (proc_wait): rename to ptrace_wait. + +1999-03-18 Jim Blandy + + * dwarf2read.c: Correctly recognize location expressions that + designate LOC_REF_ARG arguments. Doc fixes. + (isderef): New global. (Yuck.) + (dwarf2_complex_location_expr): New complaint. + (read_func_scope): Reject frame_base attributes that use the + `deref' opcode as too complex. + (new_symbol): If both regoff and isderef are set, and the base + register is the frame pointer, then it's a LOC_REF_ARG argument. + (decode_locdesc): Recognize the `deref' opcode in location + expressions. Complain if it's not the last op in the expression. + + * config/fr30/tm-fr30.h (COERCE_FLOAT_TO_DOUBLE): #define this to + be true, or else value_arg_coere won't respect the (accurate) + information we have about whether a function is prototyped. + +1999-03-17 Jim Blandy + + * config/fr30/tm-fr30.h (STACK_ALIGN): Define this here, so + calling functions by hand with odd-sized arguments doesn't munge + the stack. + +1999-03-17 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (HAVE_MULTIPLE_PROC_FDS): Don't define for Solaris + hosts--gdb doesn't support this yet. + * configure: Regenerated. + +1999-03-16 Keith Seitz + + * remote.c (remote_binary_checked): New file global. + (check_binary_download): New function to check if + stub supports binary downloading that works with + stubs that are not eight bit clean. + (remote_write_bytes): Check for binary download capability + and use it if available. + Remove references to global remote_binary_length. What a hack. + (putpkt_binary): New function. + (putpkt): Call putpkt_binary. + Use xor to escape trouble characters. + * m32r-stub.c (bin2mem): Follow escape char convention change. + +Tue Mar 16 01:11:33 1999 Andrew Cagney + + * target.h (struct target_ops), target.c (debug_to_query), + remote.c (pack_hex_byte, remote_query): Promote char parameters to + int. Stops compile problems with pedantic ISO-C compilers. + +Tue Mar 16 15:29:04 1999 Stan Shebs + + * go32-xdep.c: Remove, no longer used by anything. + * Makefile.in: Remove references. + + * jv-lang.c, jv-lang.h (java_primitive_type): Declare argument + as int instead of char. + +Mon Mar 15 11:42:43 1999 Andrew Cagney + + * d10v-tdep.c (push_stack_item, pop_stack_item): New function. + (d10v_push_arguments): Use. + + From Martin M. Hunt : + * d10v-tdep.c (d10v_push_arguments): When arguments + must be pushed onto the stack, they go on in + reverse order. + +1999-03-16 Jim Blandy + + * symtab.c (make_symbol_overload_list): Don't try to stuff minimal + or partial symbols into the overload list; we don't know their + types. (Thanks to Rajiv Mirani.) + +1999-03-15 Jason Molenda (jsm@bugshack.cygnus.com) + + * acinclude.m4 (--with-itclconfig, --with-itkconfig, --with-tixconfig): + Fix whitespace so --help messages line up. + * configure.in (--with-cpu): Fix capitalization for --help messages. + * configure, aclocal.m4: Regenerated. + +Mon Mar 15 11:39:03 1999 Ian Carmichael + + Support building gdb w/o simulator: + * configure.in: Support --disable-sim. Check for sim directory. + * Makefile.in (IGNORE_SIM, IGNORE_SIM_OBS): New. + * acconfig.h (WITH_SIM): Define. + * configure, config.in: Regenerate. + +Mon Mar 15 08:01:33 1999 Elena Zannoni + + Patch from Andreas Schwab + + * top.c (read_command_lines): Reset control_level to 0. + (define_command): Don't do it here. + +Sun Mar 14 16:12:15 1999 Andrew Cagney + + * hppah-nat.c (store_inferior_registers): Delete extern + registers[] declaration. + +Sun Mar 14 19:17:30 1999 Andrew Cagney + + * infrun.c (write_inferior_status_register): New function. Provide + update access to an inf_status register buffer. Only used by HP. + * inferior.h (write_inferior_status_register): Add prototype. + + * hppa-tdep.c (push_dummy_frame): Use + write_inferior_status_register when hacking around a sleeping + inferior. Accidently fix byte-order problem. + +Sun Mar 14 16:40:10 1999 Andrew Cagney + + * config/pa/tm-hppa.h (PUSH_DUMMY_FRAME): Fix parameter. Address + not needed. + +Fri Mar 12 13:11:48 1999 Michael Snyder + + * remote.c (remote_write_bytes): fix 'X' packet protocol so that it + can't overwrite the end of its buffer with escaped characters. + +1999-03-12 Jim Blandy + + Alpha patches from Richard Henderson: + + * alpha-tdep.c (alpha_skip_prologue): Recognize subq. + + * config/alpha/tm-alpha.h (REGISTER_NAMES): No f31, but fpcr. + (FPCR_REGNUM): New. + (REGISTER_CONVERTIBLE): Don't convert fpcr. + (REGISTER_VIRTUAL_TYPE): Don't make fpcr a double. + + * stabsread.c (define_symbol): Only consider live range extension + if we have an open parenthesis. + +1999-03-11 Jim Blandy + + * monitor.c (monitor_fetch_register): Print RDEBUG info correctly + when the register name is null. + +Thu Mar 11 19:33:07 1999 Stan Shebs + + * infrun.c (wait_for_inferior): Change #if DECR_PC_AFTER_BREAK + uses to expressions, remove redundant extern decls. + +Thu Mar 11 18:05:11 1999 Michael Snyder + + * infptrace.c (proc_wait): Rename to ptrace_wait. + * inftarg.c (child_wait): call ptrace_wait instead of proc_wait. + * inferior.h: Declare ptrace_wait instead of proc_wait. + +Thu Mar 11 11:46:25 1999 Andrew Cagney + + * breakpoint.c (create_solib_load_unload_event_breakpoint, + create_fork_vfork_event_catchpoint, tcatch_command, + create_exception_catchpoint, break_at_finish_at_depth_command_1, + catch_fork_command_1, ep_skip_leading_whitespace, + break_at_finish_command_1, catch_exec_command_1, + catch_exception_command_1, stop_command, stopin_command, + stopat_command, ep_parse_optional_filename, + ep_find_event_name_end, ep_parse_optional_if_clause, + catch_fork_command_1), stack.c (show_and_print_stack_frame_stub, + print_stack_frame_stub, print_only_stack_frame_stub, + backtrace_command_1, backtrace_full_command, func_command), + valprint.c (print_decimal), source.c (print_source_lines_base): + Add prototype. + + * stack.c (print_stack_frame_stub, show_and_print_stack_frame_stub, + print_only_stack_frame_stub): Make param void*. + +Wed Mar 10 19:33:28 1999 Geoffrey Noer + + * win32-nat.c: If old Cygwin Win32 API headers aren't being used, + define some gdb-specific defines that shouldn't have been in the + global headers. + +Wed Mar 10 21:20:25 1999 Andrew Cagney + + * findvar.c (registers, register_valid): Replace array with pointer. + (build_findvar): New function. Allocate space for REGISTERS and + REGISTER_VALID. + (_initialize_findvar): Call build_findvar. + (_initialize_findvar): Register REGISTERS and REGISTER_VALID as + arch dependant. + + * inferior.h (registers, register_valid): Replace array with + pointer. + + * inferior.h (struct inferior_status): Move definition from here. + + * infrun.c (struct inferior_status): To here. + (struct inferior_status): Change ``stop_registers'' and + ``registers'' to pointers. + (xmalloc_inferior_status, free_inferior_status): New functions. + (restore_inferior_status): Call free_inferior_status. + (save_inferior_status): Call xmalloc_inferior_status. + (discard_inferior_status): New function, discard inf_status + buffer. Call free_inferior_status. + + * inferior.h (stop_registers): Replace array with pointer. + * infrun.c (stop_registers): Update. + (build_infrun): Initialize stop_registers. + (_initialize_infrun): Call build_infrun. + (_initialize_infrun): Register ``stop_registers'' as arch dependant. + +Wed Mar 10 14:50:42 1999 Andrew Cagney + + * alpha-tdep.c (alpha_linux_sigtramp_offset): Only compile when + LINUXALPHA target. Hack. + + * infrun.c (set_follow_fork_mode_command): Make static. Add + prototype. + * tracepoint.c (add_register): Ditto. + * valprint.c (strcat_longest): Comment out. Does not appear to be + used. + * valops.c (find_method_list): Make static. Add prototype. + * thread.c (target_find_new_threads): Make static. Add prototype. + * stack.c (stack_publish_stopped_with_no_frame, + select_and_maybe_print_frame): Comment out. Does not appear to be + used. + (current_frame_command): Add prototype. + * breakpoint.c (break_at_finish_command, + break_at_finish_at_depth_command, tbreak_at_finish_command): Make + static. Add prototype. + * findvar.c (read_relative_register_raw_bytes_for_frame): Ditto. + +Wed Mar 10 23:38:54 1999 Andrew Cagney + + * corefile.c (registers): Delete redundant variable declaration. + * inferior.h (run_stack_dummy): Change array argument to pointer. + * infcmd.c (run_stack_dummy): Update. + * value.h (value_being_returned): Change RETBUF to a pointer. + * values.c (value_being_returned): Update. + +Wed Mar 10 11:08:16 1999 Andrew Cagney + + * source.c (list_command): GCC suggested explicit braces to avoid + ambiguous `else'. + + * jv-typeprint.c: Include "c-lang.h". + * Makefile.in (jv-typeprint.o): Add dependency. + * jv-valprint.c: Include "gdbcore.h", "annotate.h". + * Makefile.in (jv-valprint.o): Add dependencies. + * objfiles.c: Include "breakpoint.h". + * Makefile.in (objfiles.o): Add dependency. + * main.c: Include . + * parse.c: Include . + * remote.c: Include . + * ser-tcp.c: Include . + * ax-general.c: Include "value.h". + * Makefile.in (ax-general.o): Add dependency. + + * alpha-tdep.c (alpha_push_arguments): Make ``i'' an int instead + of a register. + * frame.h (show_and_print_stack_frame): Add function prototype. + * language.h (language_enum): Add function prototype. + * value.h (find_overload_match): Add function prototype. + + * defs.h, utils.c (subset_compare): Rename subsetCompare. Add + prototype. + * stack.c (backtrace_command): Update. + +Wed Mar 10 13:58:36 1999 Andrew Cagney + + * configure.in (AC_CHECK_HEADERS): Check for + * configure, config.in: Re-generate. + * inflow.c: Conditionally include . + +Wed Mar 10 13:44:38 1999 Andrew Cagney + + * frame.h (struct dummy_frame): Move from here. + * blockframe.c (struct dummy_frame): To here. + + * blockframe.c (struct dummy_frame): Replace ``regs'' with pointer + ``registers''. + (generic_pop_dummy_frame): Free it. + (generic_push_dummy_frame): Allocate dummy frame register buffer. + +Wed Mar 10 11:08:16 1999 Andrew Cagney + + * thread.c (_initialize_thread): Delete redundant ``extern struct + cmd_list_element *cmdlist''. + * printcmd.c (print_command_1): Ditto for ``objectprint''; + +1999-03-09 Stan Shebs + + * MAINTAINERS: New file, list of maintainers and areas they + maintain. + +1999-03-09 Rodney Brown + + Get working on UnixWare 2.1.1. + * acconfig.h: Update for defines for procfs.c. + * configure.in: Identify defines for procfs.c. + * configure.host: i386-*-sysv4.2uw2* => i386v42mp + * configure.tgt: i386-*-sysv4.2uw2* => i386v42mp + * configure, config.in: Regenerate. + * procfs.c: Rename HAVE_NO_PRRUN_T to HAVE_PRRUN_T (autoconf + standard), wrap UNIXWARE difference in THE_PR_LWP macro for + legibility. + * config/i386/tm-i386v42mp.h: Remove HAVE_PSTATUS_T, + HAVE_NO_PRRUN_T; now set by configure. + +Tue Mar 9 16:29:24 1999 Andrew Cagney + + * i386-tdep.c (gdb_print_insn_i386): Abort when disassembly_flavor + undefined.. + + * fr30-tdep.c (_initialize_fr30_tdep): Add prototype. Fix + coding style. + + * target.c (debug_to_enable_exception_callback, + debug_to_get_current_exception_event): Return result of call to + debug_target(). + +1999-03-09 Jim Blandy + + Another HURD fix from Mark Kettenis: + * gnu-nat.c: Include . Remove declaration of strerror. + Include instead of and define + _SYS_WAIT_H to prevent the warning that we should not include it. + (gnu_create_inferior): Change return type of attach_to_child to + void. Do not return INFERIOR_PID. + (gnu_pid_to_exec_file): Change return type to char *. + Return NULL. + + Fix for the HURD from Mark Kettenis: + * configure.in: Add AC_PROG_AWK. Needed by the machine-dependent + makefile fragments for the Hurd. + * Makefile.in (AWK): Add. Set by configure. + * configure: Regenerated. + +1999-03-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * infttrace.c (hppa_get_process_events): Removed. Function only + usable on HPUX 10 and above. It is not called by any other part + of GDB. + * hppah-nat.c (hppa_get_process_events): Ditto. + (child_pid_to_exec_file): Only call ptrace with + PT_GET_PROCESS_PATHNAME if that symbol has been defined. + * config/pa/nm-hppah.h: Don't set up prototypes et al for + hppa_get_process_events. + + * config/pa/hppahpux.mh (TERM_LIB): Do not initialize, let autoconf + determine best library automatically. + * config/pa/hpux1020.mh: Ditto. + * config/pa/hpux1100.mh: Ditto. + * configure.in (TERM_LIB): Also check for libHcurses. + * configure: Regenerated. + +Thu Mar 4 17:16:04 1999 Michael Snyder + + * m32r-stub.c: add support for crc "Compare" command. + +1999-03-04 Jim Blandy + + * fr30-tdep.c (fr30_store_return_value): Allocate zeroes + dynamically, to save BSS space, and to remove assumptions about + the size of the largest value we'll return. + + * config/fr30/tm-fr30.h (fr30_store_return_value): Use PARAMS in + prototype. + +Thu Mar 4 08:37:35 1999 Andrew Cagney + + * sh3-rom.c (sh3_supply_register, sh3_supply_register), + mips-tdep.c (mips_push_arguments), m32r-rom.c + (m32r_upload_command), m32r-tdep.c (decode_prologue), monitor.c + (longlong_hexchars), tracepoint.c (validate_actionline, + read_actions), mdebugread.c + (parse_symbol), jv-typeprint.c + (java_type_print_base, java_type_print_base), mdebugread.c + (parse_symbol), top.c (source_command), utils.c + (floatformat_to_doublest): GCC suggest explicit braces to avoid + ambiguous `else'. + + * tracepoint.c (map_args_over_tracepoints, trace_actions_command), + m32r-rom.c (m32r_supply_register), win32-nat.c + (handle_output_debug_string, child_continue), i960-tdep.c + (pop_frame), m32r-rom.c (m32r_upload_command): GCC suggested + parentheses around assignment used as truth value. + + * remote-sds.c (sds_wait), monitor.c (monitor_fetch_register), + ser-e7kpc.c, (dosasync_write), arc-tdep.c (arc_get_frame_setup): + GCC suggested parentheses around operands. + + * c-typeprint.c (c_type_print_base): GCC suggested enclosing + "while" expression in paren. + +Wed Mar 3 18:14:33 1999 Andrew Cagney + + * sol-thread.c (save_inferior_pid): Cast the saved pid to void*. + (restore_inferior_pid): Takes void* as required by make_cleanup. + Casts pid back to an int. + + * procfs.c (make_cleanup_close_proc_file, + close_proc_file_cleanup): Create a proc_file cleanup. + (info_proc): Use. + + * defs.h (make_cleanup_freeargv): Helper function. Establish + cleanup using freeargv. Can not just typecast/pass freeargv as it + violates ISO-C. + * utils.c (do_freeargv): Helper. + (make_cleanup_freeargv): New function. + + * symmisc.c (maintenance_print_symbols, + maintenance_print_psymbols, maintenance_print_msymbols), symfile.c + (symbol_file_command), stack.c (backtrace_command), remote-sim.c + (gdbsim_create_inferior, gdbsim_open), remote-mips.c + (common_open), procfs.c (info_proc), infrun.c (handle_command, + xdb_handle_command), exec.c (exec_file_attach): Call + make_cleanup_freeargv. + +1999-03-03 James Ingham + + * i386-tdep.c (_initialize_i386_tdep): Set the inital value for + disassembly flavor at startup, rather than hardcoding it. + +1999-03-03 Jim Blandy + + Put return values in the right place. + * fr30-tdep.c (fr30_store_return_value): New function. + * config/fr30/tm-fr30.h (STORE_RETURN_VALUE): Call + fr30_store_return_value. + +Wed Mar 3 18:10:55 1999 Andrew Cagney + + * gdbtypes.c (virtual_base_list_aux): Return void. Add prototype. + + * breakpoint.c (map_catch_names): Comment out unused function. + +1999-03-02 Jason Molenda (jsm@bugshack.cygnus.com) + + * hppa-tdep.c (pa_register_look_aside): Only refer to save_state_t + structure on PA 2.0 systems. + +1999-03-02 Stan Shebs + + From Gary Thomas : + * arm-tdep.c (ARM_LE_BREAKPOINT, ARM_BE_BREAKPOINT, + THUMB_LE_BREAKPOINT, THUMB_BE_BREAKPOINT): Use illegal instruction + instead of SWI 24. + * config/arm/tm-arm.h (CALL_DUMMY): Ditto. + (IN_SIGTRAMP): Define. + +1999-03-02 Nick Clifton + + * findvar.c (store_address): Delete incorrect big endian + code. + +Tue Mar 2 18:02:42 1999 Andrew Cagney + + * configure.in (gdb_cv_os_cygwin): Compat. Continue to reconize + __CYGWIN32__. + +1999-03-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Move setting of gdb_cv_os_cygwin to before + setting of TERM_LIB. Check for __CYGWIN__ instead of __CYGWIN32__. + * configure: Regenerated. + +1999-03-01 DJ Delorie + + * configure.in: Change -cygwin32* to -cygwin*. + * configure: Ditto. + +1999-02-25 Stan Shebs + + * breakpoint.c (SOLIB_LOADED_LIBRARY_PATHNAME, + SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_CREATE_CATCH_LOAD_HOOK, + SOLIB_CREATE_CATCH_UNLOAD_HOOK): Supply default definitions. + * infrun.c (SOLIB_IN_DYNAMIC_LINKER): Ditto. + +1999-02-25 Keith Seitz + + * corelow.c (core_close): Clear out solib state before + closing the bfd associated with the core file. + * solib.c (clear_solib): Mention that clear_solib requires + an open BFD in order for disable_breakpoints_in_shlibs to + determine whether breakpoints live in shared libraries. + +1999-02-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Set CPU_HPPA_RISC_20 if the host CPU is a PA 2.0 + processor. + * acconfig.h: Add CPU_HPPA_RISC_20 + * config.in, configure: Regenerated. + * hppa-tdep.c (pa_register_look_aside): Only refer to new + structure elements if we are on a PA2.0 system. + * defs.h: Include limits.h. + +Tue Feb 23 14:37:08 1999 Michael Snyder + + * infrun.c (wait_for_inferior): Check scheduler_locking state + before resuming after a thread-specific breakpoint. + +1999-02-23 Jim Blandy + + * aclocal.m4, config.in, configure: Regenerated with latest + autotools. + +Mon Feb 22 12:32:19 1999 Per Bothner + + * jv-valprint.c (java_val_print): Restore line that somehow got lost. + + * jv-valprint.c (java_print_value_fields): Check for NULL type. + +1999-02-21 Jim Blandy + + * tm-h8500.h, i386lynx-nat.c: Removed. These files are long + dead; it seems that they only appeared due to some CVS weirdness. + If they appear again, we may need to distribute garlic and holy + water. + +1999-02-19 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in (TERM_LIB): Move checking for TERM_LIB, substituting. + * configure: Regenerated. + +1999-02-19 Robert Hoehne (robert.hoehne@gmx.net) + + * configure.host (i[3456]86-*-msdosdjgpp*): New host. + * configure.tgt (i[3456]86-*-msdosdjgpp*): New target. + * go32-nat.c: New file, native DJGPP support. + * config/i386/go32.mh: Rewrite for DJGPP (go32) host. + * config/i386/go32.mt: New file, DJGPP (go32) target. + * config/i386/nm-go32.h: New file. + * config/i386/tm-go32.h: New file. + * config/i386/xm-go32.h: Rewritten for current DJGPP. + +1999-02-18 Jason Molenda (jsm@bugshack.cygnus.com) + + * reply_mig_hack.awk, config/nm-gnu.h, config/alpha/nm-linux.h + config/alpha/xm-alphalinux.h, config/alpha/xm-alphaosf.h + config/i386/nm-i386sco5.h, config/i386/tm-fbsd.h, config/i386/tm-i386.h + config/powerpc/nm-aix.h, config/powerpc/tm-macos.h + config/powerpc/tm-ppc-aix.h, config/powerpc/xm-aix.h + config/rs6000/tm-rs6000-aix4.h, testsuite/gdb.chill/tests1.ch + testsuite/gdb.chill/tests2.ch, testsuite/gdb.chill/tests2.exp: + Update FSF address in copyright notices. + +1999-02-18 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Quote "$GCC" correctly. + * configure: Regenerated. + +1999-02-18 Jim Blandy + + * dbxread.c (elfstab_build_psymtabs): Don't assume that there's a + section named ".text", which has all the code in it. Instead, look + at all the sections in the file with the `code' flag set. + (find_text_range): New function, that does all the work. + +Thu Feb 18 17:50:45 1999 Andrew Cagney + + * mips-tdep.c (FP_REGISTER_DOUBLE): Conditionally define. + +Fri Jan 29 16:51:11 1999 Andrew Cagney + + * mips-tdep.c (return_value_location): New function. Merge/rewrite + of return-value code in mips_extract_return_value, + mips_store_return_value. Stop buffer overflow when 64 bit value + in 32 bit registers. Extract 64bit float from 32 bit register + pair of correct order. + (mips_extract_return_value, mips_store_return_value): Call + return_value_location. For store, ensure that remainder of + register is zero. + +Thu Jan 28 18:58:02 1999 Andrew Cagney + + From John Metzler : + * mips-tdep.c (struct gdbarch_tdep): Add mips_saved_regsize. + (MIPS_SAVED_REGSIZE): Define. + (mips_find_saved_regs, read_next_frame_reg, mips_pop_frame): + Read/write MIPS_SAVED_REGSIZE bytes of register on stack instead + of MIPS_REGSIZE. + (mips_gdbarch_init): Initialize mips_saved_regsize. + + * mips-tdep.c (mips_frame_saved_pc, mips16_heuristic_proc_desc, + mips_push_arguments, mips_push_dummy_frame, + mips_use_struct_convention): Ditto. For MIPS_SAVED_REGSIZE < + REGISTER_RAW_SIZE, handle little/big endian issues from only using + half the register. + (STACK_ARGSIZE): Default to MIPS_SAVED_REGSIZE instead of + MIPS_REGSIZE. + + * mips-tdep.c (struct gdbarch_tdep, FP_REGISTER_DOUBLE, + mips_gdbarch_init): Apply similar changes. Add + mips_fp_register_double to struct. + +Wed Feb 17 10:10:27 1999 Stu Grossman + + * gdbtypes.h (get_discrete_bounds): Remove duplicate decl. + + * jv-typeprint.c (java_type_print_base): Change fputs => fputs_filtered. + +Mon Jan 25 18:30:57 1999 Per Bothner + + * jv-lang.h (JAVA_OBJECT_SIZE): Change from hard-wired constant. + (java_primitive_type_from_name, get_java_object_header_size): Declare. + * jv-lang.c (java_class_from_object): Use get_java_object_type. + * jv-lang.c: Update Class field names: dtable->vtable, + msize->method_count, nfields->field_count, bfsize->size_in_bytes, + nmethods->method_count. + (type_from_class): Demangle array type names. + (java_link_class_type): Array type names are now demangled. + (get_java_object_type): If not defined yet, try looking it up. + (get_java_object_header_size): New function. + (java_primitive_type_from_name): New function. + (java_demangled_signature_length, java_demangled_signature_copy): New. + (java_demangle_type_signature): Re-implement using above functions. + (evaluate_subexp_java): For UNOP_IND, call evaluate_subexp_java + to evaluate subexp (not evaluate_subexp_standard). + For BINOP_SUBSCRIPT update for new array type naming scheme. + * jv-valprint.c (java_value_print): Use java_class_from_object. + Update array printing to new array type naming convention. + (java_val_print): Doing check_typedef when printing a pointer is + is a waste of effort. Also, handle TYPE_CODE_INT, to make sure + Java bytes as not printed as C chars. + +Fri Jan 8 16:58:22 1999 Stu Grossman + + * blockframe.c (find_pc_sect_partial_function): Search full symtabs as + a last ditch effort (after the partial & minimal symtabs). + * defs.h utils.c: Fixup prototypes for vprintf_filtered, + vfprintf_filtered, vfprintf_unfiltered and vprintf_unfiltered to return + ints to match their standard equivalents. + * defs.h symtab.c top.c: Create skip_prologue_hook to allow Java to + control the prologue skipping process. + * jv-typeprint.c (java_type_print_base): Remove extern for + jv_class_demangle, add new arg for objfile (NULL). + * symtab.h: Remove struct sourcevector and struct source. Definately + not needed. + * values.c (value_virtual_fn_field): Fixes code to handle new vtable + debug info format. Patch from marka. + +Wed Dec 16 23:11:25 1998 Stu Grossman + + * jv-lang.c (java_class_from_object java_class_is_primitive + is_object_type): Change dtable to vtable. + * (java_primitive_type): Change arg to type char. + * (_initialize_java_language): Make java_char_type be unsigned. + * jv-lang.h: Fixup prototypes. + +Mon Dec 7 19:02:15 1998 Stu Grossman + + * jv-valprint.c (java_value_print): Fix printing of values where + run time type != compile time type. + +Fri Dec 4 15:23:38 1998 Stu Grossman + + * Makefile.in: Whack out m2-typeprint.c. + * c-typeprint.c (c_type_print_varspec_suffix) typeprint.h: Make this + global. It's needed by Java. + * (c_type_print_base): Whack prefix off of qualified method names + (names with name spaces). + * gdbtypes.h (struct cplus_struct_type): Add bits for Java attributes. + Shrink voffset + to 16 bits to compensate for added bits above (hopefully this is still + enough). + * Add new accessor macros (TYPE_FND_FIELD_PUBLIC, ...) for all new + attribute bits. + * jv-typeprint.c (java_type_print_base): Fix printing of method + attributes. Handle JVM style manglings. + * (java_print_type): Enable code type print varspec_suffix to allow + array indices to print out. + * jv-valprint.c (java_val_print): Minor formatting. + * m2-lang.c (m2_language_d): Change m2_print_type to c_print_type. + * stabsread.c (read_member_functions): Save public and static attributes. + +Wed Feb 17 15:32:57 1999 Elena Zannoni + + * breakpoint.c (watch_command_1): Reformat comment. + + * c-typeprint.c (c_type_print_base): Reformat comments. + +1999-02-17 Jim Blandy + + * Makefile.in (VERSION): Bump version to 4.17.2. + +Tue Feb 16 15:48:20 1999 Edith Epstein + + * config/pa/nm-hppah.h: Added prototype declarations for + hppa_enable_page_protection_events and + hppa_disable_page_protection_events. + + * inftarg.c (child_wait): Fixed code that checks whether + or not the target program has done a fork/vfork. + related_pid does not have a value unless the target + program has forked/vforked. + + * infttrace.c (hppa_insert_hw_watchpoint): Make sure that + function always returns a value. + (hppa_remove_hw_watchpoint): Make sure that function always + returns a value. + +Tue Feb 16 06:31:58 1999 Keith Seitz + + * config/powerpc/tm-ppc-eabi.h: Do not define PC_IN_CALL_DUMMY, + let the generic call dummy infrastructure do it. + +Sun Feb 14 18:21:08 1999 Mark Alexander + + * config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that + coffread.c will correctly handle char or short function parameters. + +1999-02-11 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure, aclocal.m4: Regenerate with correct version of aclocal. + +1999-02-10 Syd Polk + + * acinclude.m4: Fix for new location of itclConfig.sh and itkConfig.sh. + * aclocal.m4: Regnerate. + * configure: Regenerate. + +1999-02-10 Jason Molenda (jsm@bugshack.cygnus.com) + + * demangle.c: Fix comments to mention "set demangle-style" + instead of "set demangle". + Run through indent to fix minor indenting problems. + +Wed Feb 10 17:53:09 1999 Bob Manson + + * i386-tdep.c (gdb_print_insn_i386): Add missing returns. + +Wed Feb 10 13:17:21 1999 Stan Shebs + + Declare Gould configuration obsolete: + * configure.host, configure.tgt: Comment out Gould configs. + * Makefile.in: Comment out Gould-related actions. + * gould-xdep.c, gould-tdep.c, config/gould/*: Comment out. + * NEWS: Mention obsolete status. + +1999-02-09 DJ Delorie + + * sparcl-tdep.c: UDP download works in cygwin + +1999-02-08 Jason Molenda (jsm@bugshack.cygnus.com) + + * gnu-regex.c: Check ENABLE_NLS instead of HAVE_LIBINTL_H. + * configure.in: Don't check for libintl.h. + * configure, config.in: Regenerated. + +Mon Feb 8 18:10:50 1999 Stan Shebs + + * NEWS: Mention new X packet and PowerPC variant support. + +1999-02-08 Nick Clifton + + * configure.host: Add support for StrongARM host. + * configure.tgt: Add support for StrongARM target. + +Mon Feb 8 12:05:05 1999 David Taylor + + * dsrec.c (make_srec): Cast targ_addr to int in call to sprintf + otherwise on big endian machine with a bfd_vma of 64 bits, + *everything* gets loaded at location 0. + +Mon Feb 7 10:05:43 1999 Frank Ch. Eigler + + * infrun.c (wait_for_inferior): Allow SIGTRAP to be "pass"ed + to target program. + +Fri Feb 5 16:46:14 1999 Stan Shebs + + * NEWS: Add mentions of various new things. + +Thu Feb 4 00:19:14 1999 Christopher Faylor + + * configure.in: Move termcap determination later in the + file to catch setting of cygwin flag. + * configure: Regenerate. + +Wed Feb 3 14:16:38 1999 Christopher Faylor + + * config/i386/cygwin.mh: Move TERMCAP test code to configure.in. + * configure.in: Treat libtermcap.a detection as a special case + when hosting on cygwin. + * configure: Regenerate. + +1999-02-03 Keith Seitz + + * remote.c (remote_binary_download, remote_binary_length): New + static globals for dealing with binary transmissions. + (remote_write_bytes): Add support for binary downloads + by shadowing the "M" packet with a new "X" packet. This + defaults to ON; if the stub does not understand this, it + will fall back to using "M". + (putpkt): Add support for binary downloading. + * monitor.c (monitor_expect): The mon2000 monitor + on the MSA2000 will also emit random DC1/DC3 chars. + * m32r-stub.c: Change all char's to unsigned char's + to support binary downloading. + (handle_exception): Add support for binary downloading + via a new "X" packet. + (getpacket): Do NOT strip eighth bit of incoming chars. + Watch out for escaped characters in the incoming stream. + (putpacket): Do NOT strip eighth bit of incoming chars. + (bin2mem): New function to write binary data directly to + memory. + * m32r-rom.c: Add new "mon2000" target. + +Tue Feb 2 18:40:29 1999 Elena Zannoni + + * hp-psymtab-read.c (hpread_build_psymtabs): Coerce first arg + passed to make_cleanup to the correct type. + (hpread_quick_traverse): Change fifth arg to call to + hpread_end_psymtab to be 0. + Compare CURR_MODULE_END to 0 rather than NULL. + Get rid of ifdef'ed out code. + (scan_procs): Get rid of ifdef'ed out code. + + * somread.c (som_symfile_read): Coerce first argument passed to + make_cleanup to the correct type. + +Tue Feb 2 17:36:29 1999 Elena Zannoni + + * hp-psymtab-read.c (do_pxdb): New function. Check whether the + file needs to be processed by pxdb (an HP debug info massaging + tool), if so call it. + (hpread_build_psymtabs): Initialize scan_start to 0 and + simplify flow of control. + + * somread.c (som_symfile_read): Add call to do_pxdb (), + in hp-psymtab-read.c. + + * symfile.c (symbol_file_add): Remove ifdef'ed out HPUX specific + code. + (symfile_bfd_open): Remove HPUXHPPA ifdef'ed code. Code is now + in hp-psymtab-read.c. + +1999-02-02 Martin Hunt + + * printcmd.c (print_scalar_formatted): Use strcat to concat all + the output together before calling fprintf_filtered(). + +1999-02-01 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Require autoconf 2.13. + (AM_EXEEXT): Replace with new AC_EXEEXT. + * acinclude.m4: Move itcl header macros from aclocal.m4 to here. + * aclocal.m4: Regenerated. + * configure: Regenerated. + +1999-02-01 Jim Blandy + + Allow PPC users to select which PPC/RS6000 variant they're + debugging at run-time. At the moment, the only thing this affects + is the set of registers visible. + * config/rs6000/tm-rs6000.h (REGISTER_NAME): Define this as a call + to the function rs6000_register_name. + (rs6000_register_name): Include extern decl. + (NUM_REGS): Bump to 183. What's the right way to do this? + (FIRST_UISA_SP_REGNUM, LAST_UISA_SP_REGNUM): Renamed from + FIRST_SP_REGNUM, LAST_SP_REGNUM. + (REGISTER_BYTES): Recompute this. + * rs6000-tdep.c: Renamed all uses of FIRST_SP_REGNUM and + LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with + some concomitant formatting changes. + #include "gdbcmd.h", so we can define commands here. + (struct variant): New structure. + (COMMON_UISA_REG_NAMES, PPC_UISA_SPR_NAMES, PPC_SEGMENT_REG_NAMES, + PPC_32_OEA_SPR_NAMES, num_registers): New macros. + (register_names_rs6000, register_names_uisa, register_names_403, + register_names_403GC, register_names_505, register_names_860, + register_names_601, register_names_602, register_names_603, + register_names_604, register_names_750, variants): New variables. + (rs6000_register_name, install_variant, find_variant_by_name, + install_variant_by_name, list_variants, show_current_variant, + set_processor, show_processor): New functions. + (_initialize_rs6000_tdep): Define new commands `set processor' and + `show processor', and call install_variant_by_name to set the + default variant. + * rs6000-nat.c: Renamed all uses of FIRST_SP_REGNUM and + LAST_SP_REGNUM to FIRST_UISA_SP_REGNUM and LAST_UISA_SP_REGNUM, with + some concomitant formatting changes. + * configure.in: Accept the `--with-cpu' flag, to specify a default + processor variant. + * acconfig.h: Provide a blurb for TARGET_CPU_DEFAULT, which is set + by configure's `--with-cpu' flag. + * config.in, configure: Regenerated. + +Sun Jan 31 15:24:24 1999 Stan Shebs + + * buildsym.h, buildsym.c: Convert to ANSI-only. + + * buildsym.h, buildsym.c: Reformat to standard. + + * buildsym.c (merge_symbol_lists): Remove unused variable. + (_initialize_buildsym): Remove, does nothing. + +1999-01-31 J.T. Conklin + + * i386-stub.c, m32r-stub.c, m68k-stub.c, sh-stub.c, sparc-stub.c, + sparcl-stub, sparclet-stub.c: Change declaration of putDebugChar + to include explicit void return type as per documentation. Fix up + occasions where stubs erroneously checked return type. + +Sun Jan 31 13:18:33 1999 Stan Shebs + + From J.T. Conklin : + * remote.c (remote_query): Fix tipo. + +Fri Jan 29 15:25:09 1999 Stan Shebs + + * configure.tgt (v850): Add wildcard to match. + +Fri Jan 29 16:44:01 1999 Edith Epstein + + * inferior.h: Ran indent. + + * fork-child.c: Ran indent. + + * infrun.c : Ran indent. + +Fri Jan 29 12:57:34 1999 Elena Zannoni + + * infrun.c (_initialize_infrun): Do not stop or print anything + when a SIGWINCH is received. + + * Makefile.in (m2-exp.tab.c): Use YACC not BISON. + (f-exp.tab.c): Ditto. + (jv-exp.tab.c): Ditto. + (c-exp.tab.c): Ditto. + (YACC): Define as @YACC@. + +1999-01-29 Martin Hunt + + Changes from Keith Seitz + * valops.c (value_assign): Add calls to register_changed_hook and + memory_changed_hook to inform UIs that the user has changed + the target's registers/memory. + * findvar.c (write_register_gen): Remove call to pc_changed_hook. + * defs.h: Remove declaration for pc_changed_hook and + add declarations for register_changed_hook and + memory_changed_hook. + * top.c: Ditto. + +1999-01-29 Mark Alexander + + * procfs.c (wait_fd): Handle deleted threads correctly. + +1999-01-28 Jason Molenda (jsm@bugshack.cygnus.com) + + * utils.c (init_page_info): Force window size if running under emacs. + +1999-01-27 James Ingham + + * typeprint.c (whatis_exp): Remove static declaration. + +Wed Jan 27 16:50:25 1999 Elena Zannoni + + * hp-psymtab-read.c: Reformat using indent. + +Wed Jan 27 13:20:25 1999 Elena Zannoni + + * hp-psymtab-read.c: Reformat comments, update copyright. + +Wed Jan 27 15:09:22 1999 Andrew Cagney + + * mips-tdep.c (mips_gdbarch_init): Trace e_flags from BFD + elf_info. + +Tue Jan 26 16:02:47 1999 Mark Alexander + + * v850-tdep.c (v850_generic_reg_names, v850e_reg_names, + v850_register_names, v850_processor_type_table): Declare tables + and structures for handling differences in register names for + v850 and v850e. + (struct reg_list): Define new structure for creating tables + of register bit masks in v850e instrutions. + (handle_prepare, handle_pushm): New helpers for v850_scan_prologue. + (v850_scan_prologue): Recognize v850e instructions: callt, prepare, + and pushm. + (v850_target_architecture_hook): New function to set register + names based on current machine. + (_initialize_v850_tdep): Set up target_architecture_hook. + * config/v850/tm-v850.h (v850_register_names): Declare. + (REGISTER_NAME): Define to refer to v850_register_names. + (SR0_REGNUM, CTBP_REGNUM): Define. + (PS_REGNUM): Redefine in terms of SR0_REGNUM. + +Tue Jan 26 18:27:26 1999 Elena Zannoni + + * Makefile.in (c-exp.tab.c): Use BISON instead of YACC, to pick + the correct value from configure output. + (jv-exp.tab.c): Ditto. + (f-exp.tab.c): Ditto. + (m2-exp.tab.c): Ditto. + +1999-01-26 Jason Molenda (jsm@bugshack.cygnus.com) + + * breakpoint.h (ep_is_exception_catchpoint): Add prototype. + * frame.h (select_and_print_frame): Add prototype. + * stack.c (func_command): Call select_and_print_frame with correct + number of arguments. Reformat whitespace. + +Tue Jan 26 16:53:54 1999 Fernando Nasser + + * remote.c (remote_query): fix maximum packet size to account for + remote_debug use. + (putpkt): add comment to alert about extra byte need. + +Mon Jan 25 19:55:30 1999 Mark Alexander + + * sh-tdep.c (sh_target_architecture_hook): Return immediately + when a matching machine is found. + +Fri Jan 22 09:10:35 1999 Mark Alexander + + * remote-mips.c (mips_initialize): Fix parameters to clear_breakpoint. + (common_breakpoint): Restore support for instruction breakpoints + on non-LSI targets. + +Thu Jan 21 17:16:19 1999 Andrew Cagney + + * stack.c: Close open comment. + * symtab.c (find_pc_sect_line): Ditto. + +Thu Jan 21 17:51:51 1999 Stan Shebs + + * procfs.c (init_procfs_ops): New function, fills in procfs_ops, + init only nonzero fields, leave to_require_attach and + to_require_detach empty, not needed for /proc systems yet. + (_initialize_procfs): Call init_procfs_ops. + + From J.T. Conklin : + * top.c (init_main): Fix tipo in description of the remotetimeout + variable. + * breakpoint.c (bpstat_stop_status): Handle systems where + DECR_PC_AFTER_BREAK != DECR_PC_AFTER_HW_BREAK. + +Thu Jan 21 17:25:46 1999 Mark Alexander + + * mon960-rom.c (_initialize_mon960): Call init_mon960_cmds + to fill in mon960_cmds structure properly. + +Wed Jan 20 17:53:22 1999 Stan Shebs + + * remote-sds.c (sds_ops): Define only once. + (init_sds_ops, sds_command, _initialize_remote_sds): Declare. + (init_sds_ops): Init only non-zero fields. + +Wed Jan 20 15:45:15 1999 Mark Alexander + + * h8300-tdep.c (original_register_names, h8300h_register_names, + h8300_register_names): Define new variables. + (set_register_names): New function to set register names based on + current CPU type. + (h8300_command, h8300h_command, h8300s_command): Call + set_register_names. + * config/h8300/tm-h8300.h (h8300_register_names): Declare. + (REGISTER_NAME): Define to refer to h8300_register_names. + +1999-01-19 Fernando Nasser + + * sol-thread.c abug-rom.c cpu32bug-rom.c dbug-rom.c m32r-rom.c + mac-nat.c mon960-rom.c op50-rom.c ppc-bdm.c remote-adapt.c + remote-array.c remote-bug.c remote-e7000.c remote-eb.c remote-es.c + remote-est.c remote-hms.c remote-mm.c remote-nindy.c remote-nrom.c + remote-os9k.c remote-rdp.c remote-sds.c remote-sim.c remote-st.c + remote-udi.c rom68k-rom.c sh3-rom.c sparcl-tdep.c sparclet-rom.c + v850ice.c win32-nat.c: cosmetic changes to conform to coding + standards. + +1999-01-19 Jim Blandy + + Use aclocal to generate GDB's aclocal.m4 script. + * acinclude.m4: New file, containing the hand-written local macro + definitions that used to be in aclocal.m4. Don't sinclude + ../bfd/aclocal.m4 any more; running aclocal in this directory will + get us the definitions we need. HOWEVER: Do sinclude + ../bfd/acinclude.m4, because we need the definition of + BFD_NEED_DECLARATION. + * aclocal.m4: Regenerated by aclocal. + * configure: Regenerated by autoconf. + +Tue Jan 19 10:27:23 1999 David Taylor + + * breakpoint.c (disable_breakpoints_in_shlibs): new parameter, + silent, controls whether to print message about removal of shared + library breakpoints. + * breakpoint.h (disable_breakpoints_in_shlibs): decl updated. + * irix5-nat.c (clear_solib): call disable_breakpoints_in_shlibs. + * osfsolib.c (clear_solib): ditto. + * solib.c (clear_solib): ditto. + * somsolib.c (som_solib_restart): update call to + disable_breakpoints_in_shlibs. + + * target.h (child_post_attach): only declare if CHILD_POST_ATTACH + is define. + +Tue Jan 19 18:07:11 1999 Andrew Cagney + + * corelow.c (solib_add_stub): Ditto. + (core_file_to_sym_file): Cast make_cleanup parameter. + + * solib.c (symbol_add_stub, solib_map_sections): Change argument + to PTR insted of a char*. Matches catch_errors interface. + +Mon Jan 18 14:01:24 1999 Andrew Cagney + + * remote-array.c (array_open): Don't use fprintf_filtered to send + data to the log file. + + * remote-array.c (handle_load_dll): Change argument type to PTR so + that it is compatible with catch_errors. + * ocd.c (ocd_start_remote): Ditto. + * remote-sds.c (sds_start_remote): Ditto. + + * win32-nat.c (win32_child_thread_alive): Namespace proof + child_thread_alive. + (init_child_ops): Update. + +Mon Jan 18 12:03:47 1999 Andrew Cagney + + * remote-rdi.c (arm_rdi_open): Set gdb_hostif.hostosarg and + gdb_hostif.dbgarg to NULL instead of stdout. + (voiddummy, myprint, mywritec): Use gdb_stdout instead of stdout. + +Mon Jan 18 16:40:50 1999 Stan Shebs + + * ser-ocd.c (ocd_open): Handle Unix case gracefully. + + * target.c (dummy_target): Don't initialize statically. + (init_dummy_target): New function, fills in dummy_target. + (initialize_targets): Use it. + * hpux-thread.c (hpux_thread_ops): Don't initialize statically. + (init_hpux_thread_ops): New function, fills in hpux_thread_ops. + (_initialize_hpux_thread): Use it. + * m3-nat.c (m3_ops): Don't initialize statically. + (init_m3_ops): New function, fills in m3_ops. + (_initialize_m3): Use it. + +1999-01-18 Fernando Nasser + + * sol-thread.c: delete compile time initialization of target_ops + (_initialize_sol_thread): initialize target_ops at run time. + * hpux-thread.c: added target_ops entry. + * m3-nat.c: ditto. + +Mon Jan 18 15:19:13 1999 David Taylor + + * procfs.c (procfs_ops): delete compile time initialization. + (_initialize_procfs): initialize procfs_ops at run time. + +Mon Jan 18 12:51:44 1999 Christopher Faylor + + * configure.in: Ensure that -luser32 is always linked in + for cygwin build. + * configure: Regenerated. + +Mon Jan 18 08:38:05 1999 Mark Alexander + + * values.c (value_virtual_fn_field): Clear the pointed-to + offset when casting to the base class. + +Mon Jan 18 10:30:51 1999 David Taylor + + * remote-udi.c (init_udi_ops): change non-existant udi_run_ops to + udi_ops; delete NULL initializers. + +Mon Jan 18 12:03:47 1999 Andrew Cagney + + * serial.c (serial_close): gdb_fclose tages gdb_file** arg, not + gdb_file*. + + * f-valprint.c, target.c, gdbarch.c: Pass gdb_stderr not stderr. + +Mon Jan 18 10:46:12 1999 Andrew Cagney + + * stack.c (print_frame_info_base): Don't cast call to + catch_errors. + (print_args_stub): Change char* arg to PTR. + * symmisc.c (print_symbol): Ditto. + * top.c (quit_cover): Ditto. + * remote.c (remote_open_1, remote_start_remote): Ditto. + * infrun.c (normal_stop, hook_stop_stub, restore_selected_frame): + Ditto. + + * stack.c (backtrace_command): Cast first arg of make_cleanup to + make_cleanup_func. + * remote.c (remote_kill): Cast putpkt arg to catch_errors_ftype. + +Mon Jan 18 08:47:02 1999 Andrew Cagney + + * defs.h (catch_errors_ftype): Define. + (catch_errors): Replace char* arg with PTR arg. + * top.c (catch_errors): Update + + * breakpoint.c (bpstat_stop_status, bpstat_stop_status, + delete_breakpoint, breakpoint_re_set): Delete all casts in call to + catch_errors. + (breakpoint_cond_eval, watchpoint_check, + cover_target_enable_exception_callback, breakpoint_re_set_one): + Arg is PTR not char*. + + * breakpoint.c (cover_target_enable_exception_callback): Change + type to int. Check for cast values of 0 and -1. Return a result! + (insert_breakpoints): Move declaration of SAL and ARGS to where + they are used. + +1999-01-16 Fernando Nasser + + * remote.c (remote_query): new function - creates proper interface + to the remote protocol "q" command. + +Fri Jan 15 17:11:48 EST 1999 Zdenek Radouch (radouch@cygnus.com) + + * config/fr30/tm-fr30.h: Changed ABI to match GCC change + (always use pointer for structs passed by value). + +1999-01-15 Fernando Nasser + + * target.h: added entry for target queries (to_query) + target.c: ditto. + +Thu Jan 14 18:29:17 1999 David Taylor + + * mips-tdep.c (mips_gdbarch_init): fix stream arg in + fprintf_unfiltered calls. + * remote-mm.c (mm_wait): fix stream arg to gdb_flush. + * remote-udi.c (udi_wait): fix stream arg to fwrite. + * symmisc.c (maintenance_check_symtabs): fix stream argument to + print_address_numeric. + +Wed Jan 13 19:33:16 1999 David Taylor + + * breakpoint.c (insert_breakpoints): insert cast to eliminate + warning. + +Wed Jan 13 14:59:02 1999 Michael Snyder + + * infrun.c (set/show scheduler-locking) New command. Set a + mode bit that will control how GDB attempts to control thread + scheduling for step, continue, etc. (resume): make use of + the schedule-locking mode. + * target.h (struct target_ops): new field to_has_thread_control. + * sol-thread.c: initialize target_ops to_has_thread_control. + * procfs.c: ditto. + * target.c: ditto. + * m3-nat.c: ditto. + * remote.c: ditto. + * hpux-thread.c: ditto. + * thread.c: cull duplicate prototypes. Move prototypes to top. + * serial.c: indentation cleanup. + * breakpoint.c: add casts to eliminate compiler warnings. + +Tue Jan 12 17:00:00 1999 Edith Epstein + + * inftarg.c (child_create_inferior): fixed HPUXHPPA specific + call to fork_inferior. The shell param is now NULL. + +1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (init_base_monitor_ops): Whitespace cleanup. + (_initialize_remote_monitors): Same. + +1999-01-12 Jason Molenda (jsm@bugshack.cygnus.com) + + * monitor.c (init_monitor_ops): Initialize the monitor_ops + structure if it hasn't already been done. + +Tue Jan 12 14:50:10 1999 Stan Shebs + + * inftarg.c (child_ops): Don't initialize statically. + (init_child_ops): New function, fills in child_ops. + (_initialize_inftarg): Use it. + (child_post_attach): Declare extern. + (child_wait): Fix ambiguous parens. + (child_attach_to_process): Remove unused local wstatus. + (child_insert_fork_catchpoint, child_remove_fork_catchpoint, + child_insert_vfork_catchpoint, child_remove_vfork_catchpoint, + child_has_forked, child_insert_exec_catchpoint, + child_remove_exec_catchpoint): Return a value. + +Mon Jan 11 16:43:44 1999 Michael Snyder + + * remote.c (remote_wait): Add inferior_pid to thread list only + if it is not already there. + +1999-01-11 Jason Molenda (jsm@bugshack.cygnus.com) + + * scm-tags.h: Update FSF's address on copyright notice. + * ser-e7kpc.c: Same. + * gnu-nat.h: Same. + +Mon Jan 11 13:45:57 1999 Stu Grossman + + * dwarf2read.c (dump_die): Change stderr to gdb_stderr. + * expprint.c (print_subexp): fprintf => fprintf_unfiltered. + * jv-typeprint.c (java_type_print_base): fputs => fputs_filtered. + * stack.c (struct function_bounds): Remove superfluous `typedef'. + * symfile.c (list_overlays_command): stdout => gdb_stdout. + * symmisc.c (maintenance_check_symtabs): stdout => gdb_stdout. + * utils.c (print_spaces): Make more efficient. + +Mon Jan 11 13:55:51 1999 David Taylor + + * utils (print_spaces): fix arg to strcat; fix formatting. + +Fri Jan 8 11:57:24 1999 Stan Shebs + + * exec.c (exec_ops): Don't initialize statically. + (init_exec_ops): New function, fills in exec_ops. + (_initialize_exec): Use it. + +Thu Jan 7 17:50:15 EST 1999 Zdenek Radouch (radouch@cygnus.com) + + Beta FR30 port. + * fr30-tdep.c + * config/fr30/tm-fr30.h + +Wed Jan 6 12:28:35 1999 David Taylor + + * configure.in: Add an --enable-tui argument. Construct + tui/Makefile from tui/Makefile.in. Use AM_PROG_CC_STDC. If we + have the GUI, then we need this to process libgui.h. + (ENABLE_CFLAGS): define and export BUILD_TUI. + (AC_CHECK_HEADERS): Add check for term.h. + + * configure.host (hppa-*-hpux10.20, hppa-*-hpux11.0*): New configs. + + * config.in, configure : regenerated. + + * Makefile.in: Allow the TUI code to be conditionally enabled. + (TUI_LIBRARY): New variable, value are set by the configuration + script. Set to the empty string when the TUI isn't enabled. + (gdb$(GDBEXT)): Use those, instead of referring to all-tui and + tui/libtui.a directly. + (BUILD_TUI): build the tui -- only when configured with + --enable-tui. + (YLWRAP): use ylwrap to avoid problems on systems w/o bison. + (gdb$(EXEEXT)): make it dependent on BUILD_TUI. + (all-tui): remove dependency from phony target. + (c-exp.tab.c): use ylwrap instead of bison. + (jv-exp.tab.c): ditto. + (f-exp.tab.c): ditto. + (m2-exp.tab.c): ditto. + (ALLDEPFILES): add somread.c, hp-psymtab-read.c, hp-symtab-read.c. + (SFILES): remove the above files + (COMMON_OBS): remove somread.o + (SFILES): Add the tui files to this, so they get included in etags + tables. + (gdb$(EXEEXT)): Add all-tui to the list of dependencies, and add + tui/libtui.a to the link list. + (all-tui): New rule, which does a recursive make in the tui + subdir. + (tui/libtui.a): When recursing, pass down ${FLAGS_TO_PASS}. And + don't echo the make command. This is closer to what the other + recursions do. + (HFILES_NO_SRCDIR): add hpread.h + (COMMON_OBS): add hp-psymtab-read.o, hp-symtab-read.o + (SFILES): add hp-psymtab-read.c, hp-symtab-read.c add rules for + the new files. Remove hpread.c, hpread.o + (gdb$(EXEEXT)): Depend on the actual tui library, not on a + fictitious target. Since the fictitious target never existed, + make would always relink. + (tui/libtui.a): Always recurse to make sure the library is up to + date. + +Wed Jan 6 12:05:12 1999 Stan Shebs + + * remote.c: Pacify --enable-build-warnings, reformat code + to conform to standards, fix spelling errors. + (ishex, stubhex, record_currthread, etc): Declare. + (ishex, stubhex): Declare char arg as int. + (pack_string): Comment out, never used but possibly useful. + (threadref_to_int, remote_get_threadinfo, etc): Make static. + +Wed Jan 6 11:43:32 1999 David Taylor + + The following changes were made by Elena Zannoni + and Edith Epstein as + part of a project to merge in changes made by HP. + + * c-exp.y: use external flag hp_som_som_object_present to decide + whether code was compiled by HP's compilers. Add two new C++ + tokens for true and false. + (yylex): check for template name is done differently for the + HP/aCC compiler case. Change some of the template processing code + for handling HP aCC templates. Handle true and false tokens. + +Tue Jan 5 11:13:36 1999 Michael Snyder + + * remote.c (record_curthread): Must not modify inferior_pid when + called from wait_for_inferior. Instead, if a new thread-id is + detected, call add_thread. + (MAGIC_NULL_PID): new macro, use instead of the magic number + "42000". + (remote_find_new_threads): if inferior_pid is unknown, get and use + the current thread id. + (remote_start_remote): on connecting, attempt to get the current + thread id for inferior_pid. + (remote_resume): If pid == -1, then resume any-thread (not the + current thread specifically). Also some cosmetic fixups. + + * thread.c (info_threads_command): don't initialize current_pid + until after call to FIND_NEW_THREADS (which may change inferior_pid). + Also some cosmetic fixups. + * infrun.c: cosmetic fixups and casts to avoid warnings. + * infcmd.c: cosmetic fixups, mainly long lines. + +Tue Jan 5 11:55:57 1999 David Taylor + + * target.c (noprocess): terminate sentence with a period. + * breakpoint.c (catch_command_1): ditto. + + * c-valprint.c (c_value_print): remove hack^2 from HP; it causes + testsuite losses with no real gain. + + * inferior.h (START_INFERIOR_TRAPS_EXPECTED): restore, but only + if tm-*.h hasn't overridden default value. + +1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Fix whitespace indentation for --help. + * configure: Regenerated. + +1999-01-04 Manuel Bouyer + + * main.c: Add --write command line option, document -w. + * gdb.1: Document --write. + +1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) + + * configure.in: Require autoconf 2.12.1 or higher. + * doc/configure.in: Ditto. + * nlm/configure.in: Ditto. + * rdi-share/configure.in: Ditto. + * testsuite/configure.in: Ditto. + * doc/Makefile.in: Don't hardcode $(SHELL). + * nlm/Makefile.in: Ditto. + * rdi-share/Makefile.in: Ditto. + * testsuite/Makefile.in: Ditto. + +Mon Jan 4 12:53:03 1999 Stan Shebs + + * remote-vx.c (init_vx_ops, init_vx_run_ops): Remove unneeded + inits of new fields, including ref to bogus field. + (vx_ops, vx_run_ops): Make static. + +Mon Jan 4 15:05:29 1999 David Taylor + + * inferior.h (START_INFERIOR_TRAPS_EXPECTED): delete, + already defined in tm.h. + + * inftarg.c: change to and + conditionalize its inclusion. + * infttrace.c: ditto. + +For older changes see ChangeLog-98 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/gdb/proc_api.c b/gdb/proc_api.c new file mode 100755 index 0000000000..291ea627c4 --- /dev/null +++ b/gdb/proc_api.c @@ -0,0 +1,784 @@ +/* + * Pretty-print trace of api calls to the /proc api + * (ioctl or read/write calls). + * + */ + +#include "defs.h" +#include "gdbcmd.h" + +#if defined (NEW_PROC_API) +#define _STRUCTURED_PROC 1 +#endif + +#include +#include +#include +#include /* for struct proc */ +#include /* for struct user */ +#include /* for O_RDWR etc. */ + +/* Much of the information used in the /proc interface, particularly for + printing status information, is kept as tables of structures of the + following form. These tables can be used to map numeric values to + their symbolic names and to a string that describes their specific use. */ + +struct trans { + long value; /* The numeric value */ + char *name; /* The equivalent symbolic value */ + char *desc; /* Short description of value */ +}; + +static int procfs_trace = 1; +/*static int info_verbose = 1;*/ /* kludge */ +static FILE *procfs_file = NULL; +static char *procfs_filename = "procfs_trace"; + +static void +set_procfs_trace_cmd (args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ +#if 0 /* not sure what I might actually need to do here, if anything */ + if (procfs_file) + fflush (procfs_file); +#endif +} + +static void +set_procfs_file_cmd (args, from_tty, c) + char *args; + int from_tty; + struct cmd_list_element *c; +{ + /* Just changed the filename for procfs tracing. + If a file was already open, close it. */ + if (procfs_file) + fclose (procfs_file); + procfs_file = NULL; +} + + +#ifndef NEW_PROC_API + +static struct trans ioctl_table[] = { +#ifdef PIOCACINFO /* irix */ + { PIOCACINFO, "PIOCACINFO", "get process account info" }, +#endif + { PIOCACTION, "PIOCACTION", "get signal action structs" }, +#ifdef PIOCARGUMENTS /* osf */ + { PIOCARGUMENTS, "PIOCARGUMENTS", "command line args" }, +#endif +#ifdef PIOCAUXV /* solaris aux vectors */ + { PIOCAUXV, "PIOCAUXV", "get aux vector" }, + { PIOCNAUXV, "PIOCNAUXV", "get number of aux vector entries" }, +#endif /* AUXV */ + { PIOCCFAULT, "PIOCCFAULT", "clear current fault" }, + { PIOCCRED, "PIOCCRED", "get process credentials" }, +#ifdef PIOCENEVCTRS /* irix event counters */ + { PIOCENEVCTRS, "PIOCENEVCTRS", "acquire and start event counters" }, + { PIOCGETEVCTRL, "PIOCGETEVCTRL", "get control info of event counters" }, + { PIOCGETEVCTRS, "PIOCGETEVCTRS", "dump event counters" }, + { PIOCGETPREVCTRS, "PIOCGETPREVCTRS", "dump event counters & prusage info" }, + { PIOCRELEVCTRS, "PIOCRELEVCTRS", "release/stop event counters" }, + { PIOCSETEVCTRL, "PIOCSETEVCTRL", "set control info of event counters" }, + { PIOCGETPTIMER, "PIOCGETPTIMER", "get process timers" }, +#endif /* irix event counters */ + { PIOCGENTRY, "PIOCGENTRY", "get traced syscall entry set" }, + { PIOCGETPR, "PIOCGETPR", "read struct proc" }, + { PIOCGETU, "PIOCGETU", "read user area" }, +#if defined (PIOCGETUTK) && (defined(KERNEL) || defined(SHOW_UTT)) /* osf */ + { PIOCGETUTK, "PIOCGETUTK", "get the utask struct" }, +#endif + { PIOCGEXIT, "PIOCGEXIT", "get traced syscall exit set" }, + { PIOCGFAULT, "PIOCGFAULT", "get traced fault set" }, +#ifdef PIOCGFPCR /* osf */ + { PIOCGFPCR, "PIOCGFPCR", "get FP control register" }, + { PIOCSFPCR, "PIOCSFPCR", "set FP conrtol register" }, +#endif + { PIOCGFPREG, "PIOCGFPREG", "get floating point registers" }, + { PIOCGHOLD, "PIOCGHOLD", "get held signal set" }, + { PIOCGREG, "PIOCGREG", "get general registers" }, + { PIOCGROUPS, "PIOCGROUPS", "get supplementary groups" }, +#ifdef PIOCGSPCACT /* osf */ + { PIOCGSPCACT, "PIOCGSPCACT", "get special action" }, + { PIOCSSPCACT, "PIOCSSPCACT", "set special action" }, +#endif + { PIOCGTRACE, "PIOCGTRACE", "get traced signal set" }, +#ifdef PIOCGWATCH /* irix watchpoints */ + { PIOCGWATCH, "PIOCGWATCH", "get watchpoint" }, + { PIOCSWATCH, "PIOCSWATCH", "set watchpoint" }, + { PIOCNWATCH, "PIOCNWATCH", "get number of watchpoints" }, +#endif /* irix watchpoints */ +#ifdef PIOCGWIN /* solaris sparc */ + { PIOCGWIN, "PIOCGWIN", "get gwindows_t" }, +#endif +#ifdef PIOCGXREG /* solaris sparc extra regs */ + { PIOCGXREGSIZE, "PIOCXREGSIZE", "get extra register state size" }, + { PIOCGXREG, "PIOCGXREG", "get extra register state" }, + { PIOCSXREG, "PIOCSXREG", "set extra register state" }, +#endif /* XREG */ + { PIOCKILL, "PIOCKILL", "send signal" }, +#ifdef PIOCLDT /* solaris i386 */ + { PIOCLDT, "PIOCLDT", "get LDT" }, + { PIOCNLDT, "PIOCNLDT", "get number of LDT entries" }, +#endif +#ifdef PIOCLSTATUS /* solaris and unixware */ + { PIOCLSTATUS, "PIOCLSTATUS", "get status of all lwps" }, + { PIOCLUSAGE, "PIOCLUSAGE", "get resource usage of all lwps" }, + { PIOCOPENLWP, "PIOCOPENLWP", "get lwp file descriptor" }, + { PIOCLWPIDS, "PIOCLWPIDS", "get lwp identifiers" }, +#endif /* LWP */ + { PIOCMAP, "PIOCMAP", "get memory map information" }, + { PIOCMAXSIG, "PIOCMAXSIG", "get max signal number" }, + { PIOCNICE, "PIOCNICE", "set nice priority" }, + { PIOCNMAP, "PIOCNMAP", "get number of memory mappings" }, + { PIOCOPENM, "PIOCOPENM", "open mapped object for reading" }, +#ifdef PIOCOPENMOBS /* osf */ + { PIOCOPENMOBS, "PIOCOPENMOBS", "open mapped object" }, +#endif +#ifdef PIOCOPENPD /* solaris */ + { PIOCOPENPD, "PIOCOPENPD", "get page data file descriptor" }, +#endif + { PIOCPSINFO, "PIOCPSINFO", "get ps(1) information" }, + { PIOCRESET, "PIOCRESET", "reset process flags" }, + { PIOCRFORK, "PIOCRFORK", "reset inherit-on-fork flag" }, + { PIOCRRLC, "PIOCRRLC", "reset run-on-last-close flag" }, + { PIOCRUN, "PIOCRUN", "make process runnable" }, +#ifdef PIOCSAVECCNTRS /* irix */ + { PIOCSAVECCNTRS, "PIOCSAVECCNTRS", "parent gets child cntrs" }, +#endif + { PIOCSENTRY, "PIOCSENTRY", "set traced syscall entry set" }, + { PIOCSET, "PIOCSET", "set process flags" }, + { PIOCSEXIT, "PIOCSEXIT", "set traced syscall exit set" }, + { PIOCSFAULT, "PIOCSFAULT", "set traced fault set" }, + { PIOCSFORK, "PIOCSFORK", "set inherit-on-fork flag" }, + { PIOCSFPREG, "PIOCSFPREG", "set floating point registers" }, + { PIOCSHOLD, "PIOCSHOLD", "set held signal set" }, + { PIOCSREG, "PIOCSREG", "set general registers" }, + { PIOCSRLC, "PIOCSRLC", "set run-on-last-close flag" }, + { PIOCSSIG, "PIOCSSIG", "set current signal" }, + { PIOCSTATUS, "PIOCSTATUS", "get process status" }, + { PIOCSTOP, "PIOCSTOP", "post stop request" }, + { PIOCSTRACE, "PIOCSTRACE", "set traced signal set" }, + { PIOCUNKILL, "PIOCUNKILL", "delete a signal" }, +#ifdef PIOCUSAGE /* solaris */ + { PIOCUSAGE, "PIOCUSAGE", "get resource usage" }, +#endif + { PIOCWSTOP, "PIOCWSTOP", "wait for process to stop" }, + +#ifdef PIOCNTHR /* osf threads */ + { PIOCNTHR, "PIOCNTHR", "get thread count" }, + { PIOCRTINH, "PIOCRTINH", "reset inherit-on-thread-creation" }, + { PIOCSTINH, "PIOCSTINH", "set inherit-on-thread-creation" }, + { PIOCTLIST, "PIOCTLIST", "get thread ids" }, + { PIOCXPTH, "PIOCXPTH", "translate port to thread handle" }, + { PIOCTRUN, "PIOCTRUN", "make thread runnable" }, + { PIOCTSTATUS, "PIOCTSTATUS", "get thread status" }, + { PIOCTSTOP, "PIOCTSTOP", "stop a thread" }, + /* ... TGTRACE TSTRACE TSSIG TKILL TUNKILL TCFAULT TGFAULT TSFAULT + TGFPREG TSFPREG TGREG TSREG TACTION TTERM TABRUN TGENTRY TSENTRY + TGEXIT TSEXIT TSHOLD ... thread functions */ +#endif /* osf threads */ + { -1, NULL, NULL } +}; + +int +ioctl_with_trace (fd, opcode, ptr, file, line) + int fd; + long opcode; + void *ptr; + char *file; + int line; +{ + int i, ret, arg1; + + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + for (i = 0; ioctl_table[i].name != NULL; i++) + if (ioctl_table[i].value == opcode) + break; + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + switch (opcode) { + case PIOCSET: + arg1 = ptr ? *(long *) ptr : 0; + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCSET, %s) %s\n", + arg1 == PR_FORK ? "PR_FORK" : + arg1 == PR_RLC ? "PR_RLC" : +#ifdef PR_ASYNC + arg1 == PR_ASYNC ? "PR_ASYNC" : +#endif + "", + info_verbose ? ioctl_table[i].desc : ""); + break; + case PIOCRESET: + arg1 = ptr ? *(long *) ptr : 0; + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCRESET, %s) %s\n", + arg1 == PR_FORK ? "PR_FORK" : + arg1 == PR_RLC ? "PR_RLC" : +#ifdef PR_ASYNC + arg1 == PR_ASYNC ? "PR_ASYNC" : +#endif + "", + info_verbose ? ioctl_table[i].desc : ""); + break; + case PIOCSTRACE: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCSTRACE) "); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) ptr, 0); + break; + case PIOCSFAULT: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (%s) ", + opcode == PIOCSFAULT ? "PIOCSFAULT" : "PIOCGFAULT"); + proc_prettyfprint_faultset (procfs_file ? procfs_file : stdout, + (fltset_t *) ptr, 0); + break; + case PIOCSENTRY: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (%s) ", + opcode == PIOCSENTRY ? "PIOCSENTRY" : "PIOCGENTRY"); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) ptr, 0); + break; + case PIOCSEXIT: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (%s) ", + opcode == PIOCSEXIT ? "PIOCSEXIT" : "PIOCGEXIT"); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) ptr, 0); + break; + case PIOCSHOLD: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (%s) ", + opcode == PIOCSHOLD ? "PIOCSHOLD" : "PIOCGHOLD"); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) ptr, 0); + break; + case PIOCSSIG: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCSSIG) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, + ptr ? ((siginfo_t *) ptr)->si_signo : 0, + 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PIOCRUN: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCRUN) "); + + arg1 = ptr ? *(long *) ptr : 0; + if (arg1 & PRCSIG) + fprintf (procfs_file ? procfs_file : stdout, "clearSig "); + if (arg1 & PRCFAULT) + fprintf (procfs_file ? procfs_file : stdout, "clearFlt "); + if (arg1 & PRSTRACE) + fprintf (procfs_file ? procfs_file : stdout, "setTrace "); + if (arg1 & PRSHOLD) + fprintf (procfs_file ? procfs_file : stdout, "setHold "); + if (arg1 & PRSFAULT) + fprintf (procfs_file ? procfs_file : stdout, "setFlt "); + if (arg1 & PRSVADDR) + fprintf (procfs_file ? procfs_file : stdout, "setVaddr "); + if (arg1 & PRSTEP) + fprintf (procfs_file ? procfs_file : stdout, "step "); + if (arg1 & PRSABORT) + fprintf (procfs_file ? procfs_file : stdout, "syscallAbort "); + if (arg1 & PRSTOP) + fprintf (procfs_file ? procfs_file : stdout, "stopReq "); + + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PIOCKILL: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCKILL) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, + ptr ? *(long *) ptr : 0, 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; +#ifdef PIOCSSPCACT + case PIOCSSPCACT: + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (PIOCSSPCACT) "); + arg1 = ptr ? *(long *) ptr : 0; + if (arg1 & PRFS_STOPFORK) + fprintf (procfs_file ? procfs_file : stdout, "stopFork "); + if (arg1 & PRFS_STOPEXEC) + fprintf (procfs_file ? procfs_file : stdout, "stopExec "); + if (arg1 & PRFS_STOPTERM) + fprintf (procfs_file ? procfs_file : stdout, "stopTerm "); + if (arg1 & PRFS_STOPTCR) + fprintf (procfs_file ? procfs_file : stdout, "stopThreadCreate "); + if (arg1 & PRFS_STOPTTERM) + fprintf (procfs_file ? procfs_file : stdout, "stopThreadTerm "); + if (arg1 & PRFS_KOLC) + fprintf (procfs_file ? procfs_file : stdout, "killOnLastClose "); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; +#endif /* PIOCSSPCACT */ + default: + if (ioctl_table[i].name) + fprintf (procfs_file ? procfs_file : stdout, + "ioctl (%s) %s\n", + ioctl_table[i].name, + info_verbose ? ioctl_table[i].desc : ""); + else + fprintf (procfs_file ? procfs_file : stdout, + "ioctl ("); + if (procfs_file) + fflush (procfs_file); + } + + return ret; +} + +#else /* NEW_PROC_API */ + +static struct trans rw_table[] = { +#ifdef PCAGENT /* solaris */ + { PCAGENT, "PCAGENT", "create agent lwp with regs from argument" }, +#endif + { PCCFAULT, "PCCFAULT", "clear current fault" }, +#ifdef PCCSIG /* solaris */ + { PCCSIG, "PCCSIG", "clear current signal" }, +#endif + { PCDSTOP, "PCDSTOP", "post stop request" }, + { PCKILL, "PCKILL", "post a signal" }, + { PCNICE, "PCNICE", "set nice priority" }, +#ifdef PCREAD /* solaris */ + { PCREAD, "PCREAD", "read from the address space" }, + { PCWRITE, "PCWRITE", "write to the address space" }, +#endif +#ifdef PCRESET /* unixware */ + { PCRESET, "PCRESET", "unset modes" }, +#endif + { PCRUN, "PCRUN", "make process/lwp runnable" }, +#ifdef PCSASRS /* solaris 2.7 only */ + { PCSASRS, "PCSASRS", "set ancillary state registers" }, +#endif +#ifdef PCSCRED /* solaris */ + { PCSCRED, "PCSCRED", "set process credentials" }, +#endif + { PCSENTRY, "PCSENTRY", "set traced syscall entry set" }, + { PCSET, "PCSET", "set modes" }, + { PCSEXIT, "PCSEXIT", "set traced syscall exit set" }, + { PCSFAULT, "PCSFAULT", "set traced fault set" }, + { PCSFPREG, "PCSFPREG", "set floating point registers" }, + { PCSHOLD, "PCSHOLD", "set signal mask" }, + { PCSREG, "PCSREG", "set general registers" }, + { PCSSIG, "PCSSIG", "set current signal" }, + { PCSTOP, "PCSTOP", "post stop request and wait" }, + { PCSTRACE, "PCSTRACE", "set traced signal set" }, +#ifdef PCSVADDR /* solaris */ + { PCSVADDR, "PCSVADDR", "set pc virtual address" }, +#endif +#ifdef PCSXREG /* solaris sparc only */ + { PCSXREG, "PCSXREG", "set extra registers" }, +#endif +#ifdef PCTWSTOP /* solaris */ + { PCTWSTOP, "PCTWSTOP", "wait for stop, with timeout arg" }, +#endif + { PCUNKILL, "PCUNKILL", "delete a pending signal" }, +#ifdef PCUNSET /* solaris */ + { PCUNSET, "PCUNSET", "unset modes" }, +#endif +#ifdef PCWATCH /* solaris */ + { PCWATCH, "PCWATCH", "set/unset watched memory area" }, +#endif + { PCWSTOP, "PCWSTOP", "wait for process/lwp to stop, no timeout" }, + { 0, NULL, NULL } +}; + +static off_t lseek_offset; + +int +write_with_trace (fd, arg, len, file, line) + int fd; + long *arg; + size_t len; + char *file; + int line; +{ + int i; + long opcode = arg[0]; + int ret; + + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + for (i = 0; rw_table[i].name != NULL; i++) + if (rw_table[i].value == opcode) + break; + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + switch (opcode) { + case PCSET: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSET, %s) %s\n", + arg[1] == PR_FORK ? "PR_FORK" : + arg[1] == PR_RLC ? "PR_RLC" : +#ifdef PR_ASYNC + arg[1] == PR_ASYNC ? "PR_ASYNC" : +#endif + "", + info_verbose ? rw_table[i].desc : ""); + break; +#ifdef PCUNSET + case PCUNSET: +#endif +#ifdef PCRESET + case PCRESET: +#endif + fprintf (procfs_file ? procfs_file : stdout, + "write (PCRESET, %s) %s\n", + arg[1] == PR_FORK ? "PR_FORK" : + arg[1] == PR_RLC ? "PR_RLC" : +#ifdef PR_ASYNC + arg[1] == PR_ASYNC ? "PR_ASYNC" : +#endif + "", + info_verbose ? rw_table[i].desc : ""); + break; + case PCSTRACE: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSTRACE) "); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) &arg[1], 0); + break; + case PCSFAULT: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSFAULT) "); + proc_prettyfprint_faultset (procfs_file ? procfs_file : stdout, + (fltset_t *) &arg[1], 0); + break; + case PCSENTRY: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSENTRY) "); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) &arg[1], 0); + break; + case PCSEXIT: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSEXIT) "); + proc_prettyfprint_syscalls (procfs_file ? procfs_file : stdout, + (sysset_t *) &arg[1], 0); + break; + case PCSHOLD: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSHOLD) "); + proc_prettyfprint_signalset (procfs_file ? procfs_file : stdout, + (sigset_t *) &arg[1], 0); + break; + case PCSSIG: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCSSIG) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, + arg[1] ? ((siginfo_t *) &arg[1])->si_signo + : 0, + 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PCRUN: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCRUN) "); + if (arg[1] & PRCSIG) + fprintf (procfs_file ? procfs_file : stdout, "clearSig "); + if (arg[1] & PRCFAULT) + fprintf (procfs_file ? procfs_file : stdout, "clearFlt "); + if (arg[1] & PRSTEP) + fprintf (procfs_file ? procfs_file : stdout, "step "); + if (arg[1] & PRSABORT) + fprintf (procfs_file ? procfs_file : stdout, "syscallAbort "); + if (arg[1] & PRSTOP) + fprintf (procfs_file ? procfs_file : stdout, "stopReq "); + + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + case PCKILL: + fprintf (procfs_file ? procfs_file : stdout, + "write (PCKILL) "); + proc_prettyfprint_signal (procfs_file ? procfs_file : stdout, + arg[1], 0); + fprintf (procfs_file ? procfs_file : stdout, "\n"); + break; + default: + { + static unsigned char break_insn[] = BREAKPOINT; + + if (len == sizeof (break_insn) && + memcmp (arg, &break_insn, len) == 0) + fprintf (procfs_file ? procfs_file : stdout, + "write () \n", lseek_offset); + else if (rw_table[i].name) + fprintf (procfs_file ? procfs_file : stdout, + "write (%s) %s\n", + rw_table[i].name, + info_verbose ? rw_table[i].desc : ""); + else + { + if (lseek_offset != -1) + fprintf (procfs_file ? procfs_file : stdout, + "write (, %d bytes at 0x%08x) \n", + len, lseek_offset); + else + fprintf (procfs_file ? procfs_file : stdout, + "write (, %d bytes) \n", len); + } + break; + } + } + if (procfs_file) + fflush (procfs_file); + } + ret = write (fd, arg, len); + if (procfs_trace && ret != len) + { + fprintf (procfs_file ? procfs_file : stdout, + "[write (%s) FAILED!\n", + rw_table[i].name != NULL ? + rw_table[i].name : ""); + if (procfs_file) + fflush (procfs_file); + } + + lseek_offset = -1; + return ret; +} + +off_t +lseek_with_trace (fd, offset, whence, file, line) + int fd; + off_t offset; + int whence; + char *file; + int line; +{ + off_t ret; + +#if 0 /* don't need output, just need address */ + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, + "lseek (0x%08x, %s) \n", offset, + whence == SEEK_SET ? "SEEK_SET" : + whence == SEEK_CUR ? "SEEK_CUR" : + whence == SEEK_END ? "SEEK_END" : + ""); + if (procfs_file) + fflush (procfs_file); + } +#endif + ret = lseek (fd, offset, whence); + lseek_offset = ret; + if (procfs_trace && ret == -1) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + fprintf (procfs_file ? procfs_file : stdout, + "[lseek (0x%08x) FAILED!\n", offset); + if (procfs_file) + fflush (procfs_file); + } + + return ret; +} + +#endif /* NEW_PROC_API */ + +int +open_with_trace (filename, mode, file, line) + char *filename; + int mode; + char *file; + int line; +{ + int ret = open (filename, mode); + + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, + "%d = open (%s, ", ret, filename); + if (mode == O_RDONLY) + fprintf (procfs_file ? procfs_file : stdout, "O_RDONLY) %d\n", line); + else if (mode == O_WRONLY) + fprintf (procfs_file ? procfs_file : stdout, "O_WRONLY) %d\n", line); + else if (mode == O_RDWR) + fprintf (procfs_file ? procfs_file : stdout, "O_RDWR) %d\n", line); + if (procfs_file) + fflush (procfs_file); + } + + return ret; +} + +int +close_with_trace (fd, file, line) + int fd; + char *file; + int line; +{ + int ret = close (fd); + + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, + "%d = close (%d)\n", ret, fd); + if (procfs_file) + fflush (procfs_file); + } + + return ret; +} + +int +wait_with_trace (wstat, file, line) + int *wstat; + char *file; + int line; +{ + int ret, lstat = 0; + + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, + "wait (line %d) ", line); + if (procfs_file) + fflush (procfs_file); + } + ret = wait (&lstat); + if (procfs_trace) + { + fprintf (procfs_file ? procfs_file : stdout, + "returned pid %d, status 0x%x\n", ret, lstat); + if (procfs_file) + fflush (procfs_file); + } + if (wstat) + *wstat = lstat; + + return ret; +} + +void +procfs_note (msg, file, line) + char *msg; + char *file; + int line; +{ + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (info_verbose) + fprintf (procfs_file ? procfs_file : stdout, + "%s:%d -- ", file, line); + fprintf (procfs_file ? procfs_file : stdout, msg); + if (procfs_file) + fflush (procfs_file); + } +} + +void +proc_prettyfprint_status (flags, why, what, thread) + long flags; + int why; + int what; + int thread; +{ + if (procfs_trace) + { + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); + + if (thread) + fprintf (procfs_file ? procfs_file : stdout, + "Thread %d: ", thread); + + proc_prettyfprint_flags (procfs_file ? procfs_file : stdout, + flags, 0); + + if (flags & (PR_STOPPED | PR_ISTOP)) + proc_prettyfprint_why (procfs_file ? procfs_file : stdout, + why, what, 0); + if (procfs_file) + fflush (procfs_file); + } +} + + +void +_initialize_proc_api () +{ + struct cmd_list_element *c; + + c = add_set_cmd ("procfs-trace", no_class, + var_boolean, (char *) &procfs_trace, + "Set tracing for /proc ioctl calls.\n", &setlist); + + add_show_from_set (c, &showlist); + c->function.sfunc = set_procfs_trace_cmd; + + c = add_set_cmd ("procfs-file", no_class, var_filename, + (char *) &procfs_filename, + "Set filename for /proc tracefile.\n", &setlist); + + add_show_from_set (c, &showlist); + c->function.sfunc = set_procfs_file_cmd; + +#ifdef TRACE_PROCFS + if (procfs_file == NULL && procfs_filename != NULL) + procfs_file = fopen (procfs_filename, "a"); +#endif +} diff --git a/gdb/proc_events.c b/gdb/proc_events.c new file mode 100755 index 0000000000..11b865d3de --- /dev/null +++ b/gdb/proc_events.c @@ -0,0 +1,1785 @@ +/* + * Pretty-print "events of interest". + * + * This module includes pretty-print routines for: + * faults (hardware exceptions): + * signals (software interrupts): + * syscalls + * + * FIXME: At present, the syscall translation table must be initialized, + * which is not true of the other translation tables. + */ + +#include "defs.h" + +#if defined (NEW_PROC_API) +#define _STRUCTURED_PROC 1 +#endif + +#include +#include +#include +#include +#include + +/* Much of the information used in the /proc interface, particularly for + printing status information, is kept as tables of structures of the + following form. These tables can be used to map numeric values to + their symbolic names and to a string that describes their specific use. */ + +struct trans { + int value; /* The numeric value */ + char *name; /* The equivalent symbolic value */ + char *desc; /* Short description of value */ +}; + +/* + * pretty print syscalls + */ + +/* Ugh -- Unixware and Solaris spell these differently! */ + +#ifdef SYS_lwpcreate +#define SYS_lwp_create SYS_lwpcreate +#endif + +#ifdef SYS_lwpexit +#define SYS_lwp_exit SYS_lwpexit +#endif + +#ifdef SYS_lwpwait +#define SYS_lwp_wait SYS_lwpwait +#endif + +#ifdef SYS_lwpself +#define SYS_lwp_self SYS_lwpself +#endif + +#ifdef SYS_lwpinfo +#define SYS_lwp_info SYS_lwpinfo +#endif + +#ifdef SYS_lwpprivate +#define SYS_lwp_private SYS_lwpprivate +#endif + +#ifdef SYS_lwpkill +#define SYS_lwp_kill SYS_lwpkill +#endif + +#ifdef SYS_lwpsuspend +#define SYS_lwp_suspend SYS_lwpsuspend +#endif + +#ifdef SYS_lwpcontinue +#define SYS_lwp_continue SYS_lwpcontinue +#endif + + +/* Syscall translation table. */ + +#define MAX_SYSCALLS 262 /* pretty arbitrary */ +static char * syscall_table[MAX_SYSCALLS]; + +void +init_syscall_table (void) +{ +#if defined (SYS_BSD_getime) + syscall_table[SYS_BSD_getime] = "BSD_getime"; +#endif +#if defined (SYS_BSDgetpgrp) + syscall_table[SYS_BSDgetpgrp] = "BSDgetpgrp"; +#endif +#if defined (SYS_BSDsetpgrp) + syscall_table[SYS_BSDsetpgrp] = "BSDsetpgrp"; +#endif +#if defined (SYS_acancel) + syscall_table[SYS_acancel] = "acancel"; +#endif +#if defined (SYS_accept) + syscall_table[SYS_accept] = "accept"; +#endif +#if defined (SYS_access) + syscall_table[SYS_access] = "access"; +#endif +#if defined (SYS_acct) + syscall_table[SYS_acct] = "acct"; +#endif +#if defined (SYS_acl) + syscall_table[SYS_acl] = "acl"; +#endif +#if defined (SYS_aclipc) + syscall_table[SYS_aclipc] = "aclipc"; +#endif +#if defined (SYS_adjtime) + syscall_table[SYS_adjtime] = "adjtime"; +#endif +#if defined (SYS_afs_syscall) + syscall_table[SYS_afs_syscall] = "afs_syscall"; +#endif +#if defined (SYS_alarm) + syscall_table[SYS_alarm] = "alarm"; +#endif +#if defined (SYS_alt_plock) + syscall_table[SYS_alt_plock] = "alt_plock"; +#endif +#if defined (SYS_alt_sigpending) + syscall_table[SYS_alt_sigpending] = "alt_sigpending"; +#endif +#if defined (SYS_async) + syscall_table[SYS_async] = "async"; +#endif +#if defined (SYS_async_daemon) + syscall_table[SYS_async_daemon] = "async_daemon"; +#endif +#if defined (SYS_audcntl) + syscall_table[SYS_audcntl] = "audcntl"; +#endif +#if defined (SYS_audgen) + syscall_table[SYS_audgen] = "audgen"; +#endif +#if defined (SYS_auditbuf) + syscall_table[SYS_auditbuf] = "auditbuf"; +#endif +#if defined (SYS_auditctl) + syscall_table[SYS_auditctl] = "auditctl"; +#endif +#if defined (SYS_auditdmp) + syscall_table[SYS_auditdmp] = "auditdmp"; +#endif +#if defined (SYS_auditevt) + syscall_table[SYS_auditevt] = "auditevt"; +#endif +#if defined (SYS_auditlog) + syscall_table[SYS_auditlog] = "auditlog"; +#endif +#if defined (SYS_auditsys) + syscall_table[SYS_auditsys] = "auditsys"; +#endif +#if defined (SYS_bind) + syscall_table[SYS_bind] = "bind"; +#endif +#if defined (SYS_block) + syscall_table[SYS_block] = "block"; +#endif +#if defined (SYS_brk) + syscall_table[SYS_brk] = "brk"; +#endif +#if defined (SYS_cachectl) + syscall_table[SYS_cachectl] = "cachectl"; +#endif +#if defined (SYS_cacheflush) + syscall_table[SYS_cacheflush] = "cacheflush"; +#endif +#if defined (SYS_cancelblock) + syscall_table[SYS_cancelblock] = "cancelblock"; +#endif +#if defined (SYS_cg_bind) + syscall_table[SYS_cg_bind] = "cg_bind"; +#endif +#if defined (SYS_cg_current) + syscall_table[SYS_cg_current] = "cg_current"; +#endif +#if defined (SYS_cg_ids) + syscall_table[SYS_cg_ids] = "cg_ids"; +#endif +#if defined (SYS_cg_info) + syscall_table[SYS_cg_info] = "cg_info"; +#endif +#if defined (SYS_cg_memloc) + syscall_table[SYS_cg_memloc] = "cg_memloc"; +#endif +#if defined (SYS_cg_processors) + syscall_table[SYS_cg_processors] = "cg_processors"; +#endif +#if defined (SYS_chdir) + syscall_table[SYS_chdir] = "chdir"; +#endif +#if defined (SYS_chflags) + syscall_table[SYS_chflags] = "chflags"; +#endif +#if defined (SYS_chmod) + syscall_table[SYS_chmod] = "chmod"; +#endif +#if defined (SYS_chown) + syscall_table[SYS_chown] = "chown"; +#endif +#if defined (SYS_chroot) + syscall_table[SYS_chroot] = "chroot"; +#endif +#if defined (SYS_clocal) + syscall_table[SYS_clocal] = "clocal"; +#endif +#if defined (SYS_clock_getres) + syscall_table[SYS_clock_getres] = "clock_getres"; +#endif +#if defined (SYS_clock_gettime) + syscall_table[SYS_clock_gettime] = "clock_gettime"; +#endif +#if defined (SYS_clock_settime) + syscall_table[SYS_clock_settime] = "clock_settime"; +#endif +#if defined (SYS_close) + syscall_table[SYS_close] = "close"; +#endif +#if defined (SYS_connect) + syscall_table[SYS_connect] = "connect"; +#endif +#if defined (SYS_context) + syscall_table[SYS_context] = "context"; +#endif +#if defined (SYS_creat) + syscall_table[SYS_creat] = "creat"; +#endif +#if defined (SYS_creat64) + syscall_table[SYS_creat64] = "creat64"; +#endif +#if defined (SYS_devstat) + syscall_table[SYS_devstat] = "devstat"; +#endif +#if defined (SYS_dmi) + syscall_table[SYS_dmi] = "dmi"; +#endif +#if defined (SYS_door) + syscall_table[SYS_door] = "door"; +#endif +#if defined (SYS_dshmsys) + syscall_table[SYS_dshmsys] = "dshmsys"; +#endif +#if defined (SYS_dup) + syscall_table[SYS_dup] = "dup"; +#endif +#if defined (SYS_dup2) + syscall_table[SYS_dup2] = "dup2"; +#endif +#if defined (SYS_evsys) + syscall_table[SYS_evsys] = "evsys"; +#endif +#if defined (SYS_evtrapret) + syscall_table[SYS_evtrapret] = "evtrapret"; +#endif +#if defined (SYS_exec) + syscall_table[SYS_exec] = "exec"; +#endif +#if defined (SYS_exec_with_loader) + syscall_table[SYS_exec_with_loader] = "exec_with_loader"; +#endif +#if defined (SYS_execv) + syscall_table[SYS_execv] = "execv"; +#endif +#if defined (SYS_execve) + syscall_table[SYS_execve] = "execve"; +#endif +#if defined (SYS_exit) + syscall_table[SYS_exit] = "exit"; +#endif +#if defined (SYS_exportfs) + syscall_table[SYS_exportfs] = "exportfs"; +#endif +#if defined (SYS_facl) + syscall_table[SYS_facl] = "facl"; +#endif +#if defined (SYS_fchdir) + syscall_table[SYS_fchdir] = "fchdir"; +#endif +#if defined (SYS_fchflags) + syscall_table[SYS_fchflags] = "fchflags"; +#endif +#if defined (SYS_fchmod) + syscall_table[SYS_fchmod] = "fchmod"; +#endif +#if defined (SYS_fchown) + syscall_table[SYS_fchown] = "fchown"; +#endif +#if defined (SYS_fchroot) + syscall_table[SYS_fchroot] = "fchroot"; +#endif +#if defined (SYS_fcntl) + syscall_table[SYS_fcntl] = "fcntl"; +#endif +#if defined (SYS_fdatasync) + syscall_table[SYS_fdatasync] = "fdatasync"; +#endif +#if defined (SYS_fdevstat) + syscall_table[SYS_fdevstat] = "fdevstat"; +#endif +#if defined (SYS_fdsync) + syscall_table[SYS_fdsync] = "fdsync"; +#endif +#if defined (SYS_filepriv) + syscall_table[SYS_filepriv] = "filepriv"; +#endif +#if defined (SYS_flock) + syscall_table[SYS_flock] = "flock"; +#endif +#if defined (SYS_flvlfile) + syscall_table[SYS_flvlfile] = "flvlfile"; +#endif +#if defined (SYS_fork) + syscall_table[SYS_fork] = "fork"; +#endif +#if defined (SYS_fork1) + syscall_table[SYS_fork1] = "fork1"; +#endif +#if defined (SYS_forkall) + syscall_table[SYS_forkall] = "forkall"; +#endif +#if defined (SYS_fpathconf) + syscall_table[SYS_fpathconf] = "fpathconf"; +#endif +#if defined (SYS_fstat) + syscall_table[SYS_fstat] = "fstat"; +#endif +#if defined (SYS_fstat64) + syscall_table[SYS_fstat64] = "fstat64"; +#endif +#if defined (SYS_fstatfs) + syscall_table[SYS_fstatfs] = "fstatfs"; +#endif +#if defined (SYS_fstatvfs) + syscall_table[SYS_fstatvfs] = "fstatvfs"; +#endif +#if defined (SYS_fstatvfs64) + syscall_table[SYS_fstatvfs64] = "fstatvfs64"; +#endif +#if defined (SYS_fsync) + syscall_table[SYS_fsync] = "fsync"; +#endif +#if defined (SYS_ftruncate) + syscall_table[SYS_ftruncate] = "ftruncate"; +#endif +#if defined (SYS_ftruncate64) + syscall_table[SYS_ftruncate64] = "ftruncate64"; +#endif +#if defined (SYS_fuser) + syscall_table[SYS_fuser] = "fuser"; +#endif +#if defined (SYS_fxstat) + syscall_table[SYS_fxstat] = "fxstat"; +#endif +#if defined (SYS_get_sysinfo) + syscall_table[SYS_get_sysinfo] = "get_sysinfo"; +#endif +#if defined (SYS_getaddressconf) + syscall_table[SYS_getaddressconf] = "getaddressconf"; +#endif +#if defined (SYS_getcontext) + syscall_table[SYS_getcontext] = "getcontext"; +#endif +#if defined (SYS_getdents) + syscall_table[SYS_getdents] = "getdents"; +#endif +#if defined (SYS_getdents64) + syscall_table[SYS_getdents64] = "getdents64"; +#endif +#if defined (SYS_getdirentries) + syscall_table[SYS_getdirentries] = "getdirentries"; +#endif +#if defined (SYS_getdomainname) + syscall_table[SYS_getdomainname] = "getdomainname"; +#endif +#if defined (SYS_getdtablesize) + syscall_table[SYS_getdtablesize] = "getdtablesize"; +#endif +#if defined (SYS_getfh) + syscall_table[SYS_getfh] = "getfh"; +#endif +#if defined (SYS_getfsstat) + syscall_table[SYS_getfsstat] = "getfsstat"; +#endif +#if defined (SYS_getgid) + syscall_table[SYS_getgid] = "getgid"; +#endif +#if defined (SYS_getgroups) + syscall_table[SYS_getgroups] = "getgroups"; +#endif +#if defined (SYS_gethostid) + syscall_table[SYS_gethostid] = "gethostid"; +#endif +#if defined (SYS_gethostname) + syscall_table[SYS_gethostname] = "gethostname"; +#endif +#if defined (SYS_getitimer) + syscall_table[SYS_getitimer] = "getitimer"; +#endif +#if defined (SYS_getksym) + syscall_table[SYS_getksym] = "getksym"; +#endif +#if defined (SYS_getlogin) + syscall_table[SYS_getlogin] = "getlogin"; +#endif +#if defined (SYS_getmnt) + syscall_table[SYS_getmnt] = "getmnt"; +#endif +#if defined (SYS_getmsg) + syscall_table[SYS_getmsg] = "getmsg"; +#endif +#if defined (SYS_getpagesize) + syscall_table[SYS_getpagesize] = "getpagesize"; +#endif +#if defined (SYS_getpeername) + syscall_table[SYS_getpeername] = "getpeername"; +#endif +#if defined (SYS_getpgid) + syscall_table[SYS_getpgid] = "getpgid"; +#endif +#if defined (SYS_getpgrp) + syscall_table[SYS_getpgrp] = "getpgrp"; +#endif +#if defined (SYS_getpid) + syscall_table[SYS_getpid] = "getpid"; +#endif +#if defined (SYS_getpmsg) + syscall_table[SYS_getpmsg] = "getpmsg"; +#endif +#if defined (SYS_getpriority) + syscall_table[SYS_getpriority] = "getpriority"; +#endif +#if defined (SYS_getrlimit) + syscall_table[SYS_getrlimit] = "getrlimit"; +#endif +#if defined (SYS_getrlimit64) + syscall_table[SYS_getrlimit64] = "getrlimit64"; +#endif +#if defined (SYS_getrusage) + syscall_table[SYS_getrusage] = "getrusage"; +#endif +#if defined (SYS_getsid) + syscall_table[SYS_getsid] = "getsid"; +#endif +#if defined (SYS_getsockname) + syscall_table[SYS_getsockname] = "getsockname"; +#endif +#if defined (SYS_getsockopt) + syscall_table[SYS_getsockopt] = "getsockopt"; +#endif +#if defined (SYS_gettimeofday) + syscall_table[SYS_gettimeofday] = "gettimeofday"; +#endif +#if defined (SYS_getuid) + syscall_table[SYS_getuid] = "getuid"; +#endif +#if defined (SYS_gtty) + syscall_table[SYS_gtty] = "gtty"; +#endif +#if defined (SYS_hrtsys) + syscall_table[SYS_hrtsys] = "hrtsys"; +#endif +#if defined (SYS_inst_sync) + syscall_table[SYS_inst_sync] = "inst_sync"; +#endif +#if defined (SYS_install_utrap) + syscall_table[SYS_install_utrap] = "install_utrap"; +#endif +#if defined (SYS_invlpg) + syscall_table[SYS_invlpg] = "invlpg"; +#endif +#if defined (SYS_ioctl) + syscall_table[SYS_ioctl] = "ioctl"; +#endif +#if defined (SYS_kaio) + syscall_table[SYS_kaio] = "kaio"; +#endif +#if defined (SYS_keyctl) + syscall_table[SYS_keyctl] = "keyctl"; +#endif +#if defined (SYS_kill) + syscall_table[SYS_kill] = "kill"; +#endif +#if defined (SYS_killpg) + syscall_table[SYS_killpg] = "killpg"; +#endif +#if defined (SYS_kloadcall) + syscall_table[SYS_kloadcall] = "kloadcall"; +#endif +#if defined (SYS_kmodcall) + syscall_table[SYS_kmodcall] = "kmodcall"; +#endif +#if defined (SYS_ksigaction) + syscall_table[SYS_ksigaction] = "ksigaction"; +#endif +#if defined (SYS_ksigprocmask) + syscall_table[SYS_ksigprocmask] = "ksigprocmask"; +#endif +#if defined (SYS_ksigqueue) + syscall_table[SYS_ksigqueue] = "ksigqueue"; +#endif +#if defined (SYS_lchown) + syscall_table[SYS_lchown] = "lchown"; +#endif +#if defined (SYS_link) + syscall_table[SYS_link] = "link"; +#endif +#if defined (SYS_listen) + syscall_table[SYS_listen] = "listen"; +#endif +#if defined (SYS_llseek) + syscall_table[SYS_llseek] = "llseek"; +#endif +#if defined (SYS_lseek) + syscall_table[SYS_lseek] = "lseek"; +#endif +#if defined (SYS_lseek64) + syscall_table[SYS_lseek64] = "lseek64"; +#endif +#if defined (SYS_lstat) + syscall_table[SYS_lstat] = "lstat"; +#endif +#if defined (SYS_lstat64) + syscall_table[SYS_lstat64] = "lstat64"; +#endif +#if defined (SYS_lvldom) + syscall_table[SYS_lvldom] = "lvldom"; +#endif +#if defined (SYS_lvlequal) + syscall_table[SYS_lvlequal] = "lvlequal"; +#endif +#if defined (SYS_lvlfile) + syscall_table[SYS_lvlfile] = "lvlfile"; +#endif +#if defined (SYS_lvlipc) + syscall_table[SYS_lvlipc] = "lvlipc"; +#endif +#if defined (SYS_lvlproc) + syscall_table[SYS_lvlproc] = "lvlproc"; +#endif +#if defined (SYS_lvlvfs) + syscall_table[SYS_lvlvfs] = "lvlvfs"; +#endif +#if defined (SYS_lwp_alarm) + syscall_table[SYS_lwp_alarm] = "lwp_alarm"; +#endif +#if defined (SYS_lwp_cond_broadcast) + syscall_table[SYS_lwp_cond_broadcast] = "lwp_cond_broadcast"; +#endif +#if defined (SYS_lwp_cond_signal) + syscall_table[SYS_lwp_cond_signal] = "lwp_cond_signal"; +#endif +#if defined (SYS_lwp_cond_wait) + syscall_table[SYS_lwp_cond_wait] = "lwp_cond_wait"; +#endif +#if defined (SYS_lwp_continue) + syscall_table[SYS_lwp_continue] = "lwp_continue"; +#endif +#if defined (SYS_lwp_create) + syscall_table[SYS_lwp_create] = "lwp_create"; +#endif +#if defined (SYS_lwp_exit) + syscall_table[SYS_lwp_exit] = "lwp_exit"; +#endif +#if defined (SYS_lwp_getprivate) + syscall_table[SYS_lwp_getprivate] = "lwp_getprivate"; +#endif +#if defined (SYS_lwp_info) + syscall_table[SYS_lwp_info] = "lwp_info"; +#endif +#if defined (SYS_lwp_kill) + syscall_table[SYS_lwp_kill] = "lwp_kill"; +#endif +#if defined (SYS_lwp_mutex_init) + syscall_table[SYS_lwp_mutex_init] = "lwp_mutex_init"; +#endif +#if defined (SYS_lwp_mutex_lock) + syscall_table[SYS_lwp_mutex_lock] = "lwp_mutex_lock"; +#endif +#if defined (SYS_lwp_mutex_trylock) + syscall_table[SYS_lwp_mutex_trylock] = "lwp_mutex_trylock"; +#endif +#if defined (SYS_lwp_mutex_unlock) + syscall_table[SYS_lwp_mutex_unlock] = "lwp_mutex_unlock"; +#endif +#if defined (SYS_lwp_private) + syscall_table[SYS_lwp_private] = "lwp_private"; +#endif +#if defined (SYS_lwp_self) + syscall_table[SYS_lwp_self] = "lwp_self"; +#endif +#if defined (SYS_lwp_sema_post) + syscall_table[SYS_lwp_sema_post] = "lwp_sema_post"; +#endif +#if defined (SYS_lwp_sema_trywait) + syscall_table[SYS_lwp_sema_trywait] = "lwp_sema_trywait"; +#endif +#if defined (SYS_lwp_sema_wait) + syscall_table[SYS_lwp_sema_wait] = "lwp_sema_wait"; +#endif +#if defined (SYS_lwp_setprivate) + syscall_table[SYS_lwp_setprivate] = "lwp_setprivate"; +#endif +#if defined (SYS_lwp_sigredirect) + syscall_table[SYS_lwp_sigredirect] = "lwp_sigredirect"; +#endif +#if defined (SYS_lwp_suspend) + syscall_table[SYS_lwp_suspend] = "lwp_suspend"; +#endif +#if defined (SYS_lwp_wait) + syscall_table[SYS_lwp_wait] = "lwp_wait"; +#endif +#if defined (SYS_lxstat) + syscall_table[SYS_lxstat] = "lxstat"; +#endif +#if defined (SYS_madvise) + syscall_table[SYS_madvise] = "madvise"; +#endif +#if defined (SYS_memcntl) + syscall_table[SYS_memcntl] = "memcntl"; +#endif +#if defined (SYS_mincore) + syscall_table[SYS_mincore] = "mincore"; +#endif +#if defined (SYS_mincore) + syscall_table[SYS_mincore] = "mincore"; +#endif +#if defined (SYS_mkdir) + syscall_table[SYS_mkdir] = "mkdir"; +#endif +#if defined (SYS_mkmld) + syscall_table[SYS_mkmld] = "mkmld"; +#endif +#if defined (SYS_mknod) + syscall_table[SYS_mknod] = "mknod"; +#endif +#if defined (SYS_mldmode) + syscall_table[SYS_mldmode] = "mldmode"; +#endif +#if defined (SYS_mmap) + syscall_table[SYS_mmap] = "mmap"; +#endif +#if defined (SYS_mmap64) + syscall_table[SYS_mmap64] = "mmap64"; +#endif +#if defined (SYS_modadm) + syscall_table[SYS_modadm] = "modadm"; +#endif +#if defined (SYS_modctl) + syscall_table[SYS_modctl] = "modctl"; +#endif +#if defined (SYS_modload) + syscall_table[SYS_modload] = "modload"; +#endif +#if defined (SYS_modpath) + syscall_table[SYS_modpath] = "modpath"; +#endif +#if defined (SYS_modstat) + syscall_table[SYS_modstat] = "modstat"; +#endif +#if defined (SYS_moduload) + syscall_table[SYS_moduload] = "moduload"; +#endif +#if defined (SYS_mount) + syscall_table[SYS_mount] = "mount"; +#endif +#if defined (SYS_mprotect) + syscall_table[SYS_mprotect] = "mprotect"; +#endif +#if defined (SYS_mremap) + syscall_table[SYS_mremap] = "mremap"; +#endif +#if defined (SYS_msfs_syscall) + syscall_table[SYS_msfs_syscall] = "msfs_syscall"; +#endif +#if defined (SYS_msgctl) + syscall_table[SYS_msgctl] = "msgctl"; +#endif +#if defined (SYS_msgget) + syscall_table[SYS_msgget] = "msgget"; +#endif +#if defined (SYS_msgrcv) + syscall_table[SYS_msgrcv] = "msgrcv"; +#endif +#if defined (SYS_msgsnd) + syscall_table[SYS_msgsnd] = "msgsnd"; +#endif +#if defined (SYS_msgsys) + syscall_table[SYS_msgsys] = "msgsys"; +#endif +#if defined (SYS_msleep) + syscall_table[SYS_msleep] = "msleep"; +#endif +#if defined (SYS_msync) + syscall_table[SYS_msync] = "msync"; +#endif +#if defined (SYS_munmap) + syscall_table[SYS_munmap] = "munmap"; +#endif +#if defined (SYS_mvalid) + syscall_table[SYS_mvalid] = "mvalid"; +#endif +#if defined (SYS_mwakeup) + syscall_table[SYS_mwakeup] = "mwakeup"; +#endif +#if defined (SYS_naccept) + syscall_table[SYS_naccept] = "naccept"; +#endif +#if defined (SYS_nanosleep) + syscall_table[SYS_nanosleep] = "nanosleep"; +#endif +#if defined (SYS_nfssvc) + syscall_table[SYS_nfssvc] = "nfssvc"; +#endif +#if defined (SYS_nfssys) + syscall_table[SYS_nfssys] = "nfssys"; +#endif +#if defined (SYS_ngetpeername) + syscall_table[SYS_ngetpeername] = "ngetpeername"; +#endif +#if defined (SYS_ngetsockname) + syscall_table[SYS_ngetsockname] = "ngetsockname"; +#endif +#if defined (SYS_nice) + syscall_table[SYS_nice] = "nice"; +#endif +#if defined (SYS_nrecvfrom) + syscall_table[SYS_nrecvfrom] = "nrecvfrom"; +#endif +#if defined (SYS_nrecvmsg) + syscall_table[SYS_nrecvmsg] = "nrecvmsg"; +#endif +#if defined (SYS_nsendmsg) + syscall_table[SYS_nsendmsg] = "nsendmsg"; +#endif +#if defined (SYS_ntp_adjtime) + syscall_table[SYS_ntp_adjtime] = "ntp_adjtime"; +#endif +#if defined (SYS_ntp_gettime) + syscall_table[SYS_ntp_gettime] = "ntp_gettime"; +#endif +#if defined (SYS_nuname) + syscall_table[SYS_nuname] = "nuname"; +#endif +#if defined (SYS_obreak) + syscall_table[SYS_obreak] = "obreak"; +#endif +#if defined (SYS_old_accept) + syscall_table[SYS_old_accept] = "old_accept"; +#endif +#if defined (SYS_old_fstat) + syscall_table[SYS_old_fstat] = "old_fstat"; +#endif +#if defined (SYS_old_getpeername) + syscall_table[SYS_old_getpeername] = "old_getpeername"; +#endif +#if defined (SYS_old_getpgrp) + syscall_table[SYS_old_getpgrp] = "old_getpgrp"; +#endif +#if defined (SYS_old_getsockname) + syscall_table[SYS_old_getsockname] = "old_getsockname"; +#endif +#if defined (SYS_old_killpg) + syscall_table[SYS_old_killpg] = "old_killpg"; +#endif +#if defined (SYS_old_lstat) + syscall_table[SYS_old_lstat] = "old_lstat"; +#endif +#if defined (SYS_old_recv) + syscall_table[SYS_old_recv] = "old_recv"; +#endif +#if defined (SYS_old_recvfrom) + syscall_table[SYS_old_recvfrom] = "old_recvfrom"; +#endif +#if defined (SYS_old_recvmsg) + syscall_table[SYS_old_recvmsg] = "old_recvmsg"; +#endif +#if defined (SYS_old_send) + syscall_table[SYS_old_send] = "old_send"; +#endif +#if defined (SYS_old_sendmsg) + syscall_table[SYS_old_sendmsg] = "old_sendmsg"; +#endif +#if defined (SYS_old_sigblock) + syscall_table[SYS_old_sigblock] = "old_sigblock"; +#endif +#if defined (SYS_old_sigsetmask) + syscall_table[SYS_old_sigsetmask] = "old_sigsetmask"; +#endif +#if defined (SYS_old_sigvec) + syscall_table[SYS_old_sigvec] = "old_sigvec"; +#endif +#if defined (SYS_old_stat) + syscall_table[SYS_old_stat] = "old_stat"; +#endif +#if defined (SYS_old_vhangup) + syscall_table[SYS_old_vhangup] = "old_vhangup"; +#endif +#if defined (SYS_old_wait) + syscall_table[SYS_old_wait] = "old_wait"; +#endif +#if defined (SYS_oldquota) + syscall_table[SYS_oldquota] = "oldquota"; +#endif +#if defined (SYS_online) + syscall_table[SYS_online] = "online"; +#endif +#if defined (SYS_open) + syscall_table[SYS_open] = "open"; +#endif +#if defined (SYS_open64) + syscall_table[SYS_open64] = "open64"; +#endif +#if defined (SYS_ovadvise) + syscall_table[SYS_ovadvise] = "ovadvise"; +#endif +#if defined (SYS_p_online) + syscall_table[SYS_p_online] = "p_online"; +#endif +#if defined (SYS_pagelock) + syscall_table[SYS_pagelock] = "pagelock"; +#endif +#if defined (SYS_pathconf) + syscall_table[SYS_pathconf] = "pathconf"; +#endif +#if defined (SYS_pause) + syscall_table[SYS_pause] = "pause"; +#endif +#if defined (SYS_pgrpsys) + syscall_table[SYS_pgrpsys] = "pgrpsys"; +#endif +#if defined (SYS_pid_block) + syscall_table[SYS_pid_block] = "pid_block"; +#endif +#if defined (SYS_pid_unblock) + syscall_table[SYS_pid_unblock] = "pid_unblock"; +#endif +#if defined (SYS_pipe) + syscall_table[SYS_pipe] = "pipe"; +#endif +#if defined (SYS_plock) + syscall_table[SYS_plock] = "plock"; +#endif +#if defined (SYS_poll) + syscall_table[SYS_poll] = "poll"; +#endif +#if defined (SYS_prctl) + syscall_table[SYS_prctl] = "prctl"; +#endif +#if defined (SYS_pread) + syscall_table[SYS_pread] = "pread"; +#endif +#if defined (SYS_pread64) + syscall_table[SYS_pread64] = "pread64"; +#endif +#if defined (SYS_pread64) + syscall_table[SYS_pread64] = "pread64"; +#endif +#if defined (SYS_prepblock) + syscall_table[SYS_prepblock] = "prepblock"; +#endif +#if defined (SYS_priocntl) + syscall_table[SYS_priocntl] = "priocntl"; +#endif +#if defined (SYS_priocntllst) + syscall_table[SYS_priocntllst] = "priocntllst"; +#endif +#if defined (SYS_priocntlset) + syscall_table[SYS_priocntlset] = "priocntlset"; +#endif +#if defined (SYS_priocntlsys) + syscall_table[SYS_priocntlsys] = "priocntlsys"; +#endif +#if defined (SYS_procblk) + syscall_table[SYS_procblk] = "procblk"; +#endif +#if defined (SYS_processor_bind) + syscall_table[SYS_processor_bind] = "processor_bind"; +#endif +#if defined (SYS_processor_exbind) + syscall_table[SYS_processor_exbind] = "processor_exbind"; +#endif +#if defined (SYS_processor_info) + syscall_table[SYS_processor_info] = "processor_info"; +#endif +#if defined (SYS_procpriv) + syscall_table[SYS_procpriv] = "procpriv"; +#endif +#if defined (SYS_profil) + syscall_table[SYS_profil] = "profil"; +#endif +#if defined (SYS_proplist_syscall) + syscall_table[SYS_proplist_syscall] = "proplist_syscall"; +#endif +#if defined (SYS_pset) + syscall_table[SYS_pset] = "pset"; +#endif +#if defined (SYS_ptrace) + syscall_table[SYS_ptrace] = "ptrace"; +#endif +#if defined (SYS_putmsg) + syscall_table[SYS_putmsg] = "putmsg"; +#endif +#if defined (SYS_putpmsg) + syscall_table[SYS_putpmsg] = "putpmsg"; +#endif +#if defined (SYS_pwrite) + syscall_table[SYS_pwrite] = "pwrite"; +#endif +#if defined (SYS_pwrite64) + syscall_table[SYS_pwrite64] = "pwrite64"; +#endif +#if defined (SYS_quotactl) + syscall_table[SYS_quotactl] = "quotactl"; +#endif +#if defined (SYS_rdblock) + syscall_table[SYS_rdblock] = "rdblock"; +#endif +#if defined (SYS_read) + syscall_table[SYS_read] = "read"; +#endif +#if defined (SYS_readlink) + syscall_table[SYS_readlink] = "readlink"; +#endif +#if defined (SYS_readv) + syscall_table[SYS_readv] = "readv"; +#endif +#if defined (SYS_reboot) + syscall_table[SYS_reboot] = "reboot"; +#endif +#if defined (SYS_recv) + syscall_table[SYS_recv] = "recv"; +#endif +#if defined (SYS_recvfrom) + syscall_table[SYS_recvfrom] = "recvfrom"; +#endif +#if defined (SYS_recvmsg) + syscall_table[SYS_recvmsg] = "recvmsg"; +#endif +#if defined (SYS_rename) + syscall_table[SYS_rename] = "rename"; +#endif +#if defined (SYS_resolvepath) + syscall_table[SYS_resolvepath] = "resolvepath"; +#endif +#if defined (SYS_revoke) + syscall_table[SYS_revoke] = "revoke"; +#endif +#if defined (SYS_rfsys) + syscall_table[SYS_rfsys] = "rfsys"; +#endif +#if defined (SYS_rmdir) + syscall_table[SYS_rmdir] = "rmdir"; +#endif +#if defined (SYS_rpcsys) + syscall_table[SYS_rpcsys] = "rpcsys"; +#endif +#if defined (SYS_sbrk) + syscall_table[SYS_sbrk] = "sbrk"; +#endif +#if defined (SYS_schedctl) + syscall_table[SYS_schedctl] = "schedctl"; +#endif +#if defined (SYS_secadvise) + syscall_table[SYS_secadvise] = "secadvise"; +#endif +#if defined (SYS_secsys) + syscall_table[SYS_secsys] = "secsys"; +#endif +#if defined (SYS_security) + syscall_table[SYS_security] = "security"; +#endif +#if defined (SYS_select) + syscall_table[SYS_select] = "select"; +#endif +#if defined (SYS_semctl) + syscall_table[SYS_semctl] = "semctl"; +#endif +#if defined (SYS_semget) + syscall_table[SYS_semget] = "semget"; +#endif +#if defined (SYS_semop) + syscall_table[SYS_semop] = "semop"; +#endif +#if defined (SYS_semsys) + syscall_table[SYS_semsys] = "semsys"; +#endif +#if defined (SYS_send) + syscall_table[SYS_send] = "send"; +#endif +#if defined (SYS_sendmsg) + syscall_table[SYS_sendmsg] = "sendmsg"; +#endif +#if defined (SYS_sendto) + syscall_table[SYS_sendto] = "sendto"; +#endif +#if defined (SYS_set_program_attributes) + syscall_table[SYS_set_program_attributes] = "set_program_attributes"; +#endif +#if defined (SYS_set_speculative) + syscall_table[SYS_set_speculative] = "set_speculative"; +#endif +#if defined (SYS_set_sysinfo) + syscall_table[SYS_set_sysinfo] = "set_sysinfo"; +#endif +#if defined (SYS_setcontext) + syscall_table[SYS_setcontext] = "setcontext"; +#endif +#if defined (SYS_setdomainname) + syscall_table[SYS_setdomainname] = "setdomainname"; +#endif +#if defined (SYS_setegid) + syscall_table[SYS_setegid] = "setegid"; +#endif +#if defined (SYS_seteuid) + syscall_table[SYS_seteuid] = "seteuid"; +#endif +#if defined (SYS_setgid) + syscall_table[SYS_setgid] = "setgid"; +#endif +#if defined (SYS_setgroups) + syscall_table[SYS_setgroups] = "setgroups"; +#endif +#if defined (SYS_sethostid) + syscall_table[SYS_sethostid] = "sethostid"; +#endif +#if defined (SYS_sethostname) + syscall_table[SYS_sethostname] = "sethostname"; +#endif +#if defined (SYS_setitimer) + syscall_table[SYS_setitimer] = "setitimer"; +#endif +#if defined (SYS_setlogin) + syscall_table[SYS_setlogin] = "setlogin"; +#endif +#if defined (SYS_setpgid) + syscall_table[SYS_setpgid] = "setpgid"; +#endif +#if defined (SYS_setpgrp) + syscall_table[SYS_setpgrp] = "setpgrp"; +#endif +#if defined (SYS_setpriority) + syscall_table[SYS_setpriority] = "setpriority"; +#endif +#if defined (SYS_setregid) + syscall_table[SYS_setregid] = "setregid"; +#endif +#if defined (SYS_setreuid) + syscall_table[SYS_setreuid] = "setreuid"; +#endif +#if defined (SYS_setrlimit) + syscall_table[SYS_setrlimit] = "setrlimit"; +#endif +#if defined (SYS_setrlimit64) + syscall_table[SYS_setrlimit64] = "setrlimit64"; +#endif +#if defined (SYS_setsid) + syscall_table[SYS_setsid] = "setsid"; +#endif +#if defined (SYS_setsockopt) + syscall_table[SYS_setsockopt] = "setsockopt"; +#endif +#if defined (SYS_settimeofday) + syscall_table[SYS_settimeofday] = "settimeofday"; +#endif +#if defined (SYS_setuid) + syscall_table[SYS_setuid] = "setuid"; +#endif +#if defined (SYS_sgi) + syscall_table[SYS_sgi] = "sgi"; +#endif +#if defined (SYS_sgifastpath) + syscall_table[SYS_sgifastpath] = "sgifastpath"; +#endif +#if defined (SYS_sgikopt) + syscall_table[SYS_sgikopt] = "sgikopt"; +#endif +#if defined (SYS_sginap) + syscall_table[SYS_sginap] = "sginap"; +#endif +#if defined (SYS_shmat) + syscall_table[SYS_shmat] = "shmat"; +#endif +#if defined (SYS_shmctl) + syscall_table[SYS_shmctl] = "shmctl"; +#endif +#if defined (SYS_shmdt) + syscall_table[SYS_shmdt] = "shmdt"; +#endif +#if defined (SYS_shmget) + syscall_table[SYS_shmget] = "shmget"; +#endif +#if defined (SYS_shmsys) + syscall_table[SYS_shmsys] = "shmsys"; +#endif +#if defined (SYS_shutdown) + syscall_table[SYS_shutdown] = "shutdown"; +#endif +#if defined (SYS_sigaction) + syscall_table[SYS_sigaction] = "sigaction"; +#endif +#if defined (SYS_sigaltstack) + syscall_table[SYS_sigaltstack] = "sigaltstack"; +#endif +#if defined (SYS_sigaltstack) + syscall_table[SYS_sigaltstack] = "sigaltstack"; +#endif +#if defined (SYS_sigblock) + syscall_table[SYS_sigblock] = "sigblock"; +#endif +#if defined (SYS_signal) + syscall_table[SYS_signal] = "signal"; +#endif +#if defined (SYS_signotify) + syscall_table[SYS_signotify] = "signotify"; +#endif +#if defined (SYS_signotifywait) + syscall_table[SYS_signotifywait] = "signotifywait"; +#endif +#if defined (SYS_sigpending) + syscall_table[SYS_sigpending] = "sigpending"; +#endif +#if defined (SYS_sigpoll) + syscall_table[SYS_sigpoll] = "sigpoll"; +#endif +#if defined (SYS_sigprocmask) + syscall_table[SYS_sigprocmask] = "sigprocmask"; +#endif +#if defined (SYS_sigqueue) + syscall_table[SYS_sigqueue] = "sigqueue"; +#endif +#if defined (SYS_sigreturn) + syscall_table[SYS_sigreturn] = "sigreturn"; +#endif +#if defined (SYS_sigsendset) + syscall_table[SYS_sigsendset] = "sigsendset"; +#endif +#if defined (SYS_sigsendsys) + syscall_table[SYS_sigsendsys] = "sigsendsys"; +#endif +#if defined (SYS_sigsetmask) + syscall_table[SYS_sigsetmask] = "sigsetmask"; +#endif +#if defined (SYS_sigstack) + syscall_table[SYS_sigstack] = "sigstack"; +#endif +#if defined (SYS_sigsuspend) + syscall_table[SYS_sigsuspend] = "sigsuspend"; +#endif +#if defined (SYS_sigvec) + syscall_table[SYS_sigvec] = "sigvec"; +#endif +#if defined (SYS_sigwait) + syscall_table[SYS_sigwait] = "sigwait"; +#endif +#if defined (SYS_sigwaitprim) + syscall_table[SYS_sigwaitprim] = "sigwaitprim"; +#endif +#if defined (SYS_sleep) + syscall_table[SYS_sleep] = "sleep"; +#endif +#if defined (SYS_so_socket) + syscall_table[SYS_so_socket] = "so_socket"; +#endif +#if defined (SYS_so_socketpair) + syscall_table[SYS_so_socketpair] = "so_socketpair"; +#endif +#if defined (SYS_sockconfig) + syscall_table[SYS_sockconfig] = "sockconfig"; +#endif +#if defined (SYS_socket) + syscall_table[SYS_socket] = "socket"; +#endif +#if defined (SYS_socketpair) + syscall_table[SYS_socketpair] = "socketpair"; +#endif +#if defined (SYS_sproc) + syscall_table[SYS_sproc] = "sproc"; +#endif +#if defined (SYS_sprocsp) + syscall_table[SYS_sprocsp] = "sprocsp"; +#endif +#if defined (SYS_sstk) + syscall_table[SYS_sstk] = "sstk"; +#endif +#if defined (SYS_stat) + syscall_table[SYS_stat] = "stat"; +#endif +#if defined (SYS_stat64) + syscall_table[SYS_stat64] = "stat64"; +#endif +#if defined (SYS_statfs) + syscall_table[SYS_statfs] = "statfs"; +#endif +#if defined (SYS_statvfs) + syscall_table[SYS_statvfs] = "statvfs"; +#endif +#if defined (SYS_statvfs64) + syscall_table[SYS_statvfs64] = "statvfs64"; +#endif +#if defined (SYS_stime) + syscall_table[SYS_stime] = "stime"; +#endif +#if defined (SYS_stty) + syscall_table[SYS_stty] = "stty"; +#endif +#if defined (SYS_subsys_info) + syscall_table[SYS_subsys_info] = "subsys_info"; +#endif +#if defined (SYS_swapctl) + syscall_table[SYS_swapctl] = "swapctl"; +#endif +#if defined (SYS_swapon) + syscall_table[SYS_swapon] = "swapon"; +#endif +#if defined (SYS_symlink) + syscall_table[SYS_symlink] = "symlink"; +#endif +#if defined (SYS_sync) + syscall_table[SYS_sync] = "sync"; +#endif +#if defined (SYS_sys3b) + syscall_table[SYS_sys3b] = "sys3b"; +#endif +#if defined (SYS_syscall) + syscall_table[SYS_syscall] = "syscall"; +#endif +#if defined (SYS_sysconfig) + syscall_table[SYS_sysconfig] = "sysconfig"; +#endif +#if defined (SYS_sysfs) + syscall_table[SYS_sysfs] = "sysfs"; +#endif +#if defined (SYS_sysi86) + syscall_table[SYS_sysi86] = "sysi86"; +#endif +#if defined (SYS_sysinfo) + syscall_table[SYS_sysinfo] = "sysinfo"; +#endif +#if defined (SYS_sysmips) + syscall_table[SYS_sysmips] = "sysmips"; +#endif +#if defined (SYS_syssun) + syscall_table[SYS_syssun] = "syssun"; +#endif +#if defined (SYS_systeminfo) + syscall_table[SYS_systeminfo] = "systeminfo"; +#endif +#if defined (SYS_table) + syscall_table[SYS_table] = "table"; +#endif +#if defined (SYS_time) + syscall_table[SYS_time] = "time"; +#endif +#if defined (SYS_timedwait) + syscall_table[SYS_timedwait] = "timedwait"; +#endif +#if defined (SYS_timer_create) + syscall_table[SYS_timer_create] = "timer_create"; +#endif +#if defined (SYS_timer_delete) + syscall_table[SYS_timer_delete] = "timer_delete"; +#endif +#if defined (SYS_timer_getoverrun) + syscall_table[SYS_timer_getoverrun] = "timer_getoverrun"; +#endif +#if defined (SYS_timer_gettime) + syscall_table[SYS_timer_gettime] = "timer_gettime"; +#endif +#if defined (SYS_timer_settime) + syscall_table[SYS_timer_settime] = "timer_settime"; +#endif +#if defined (SYS_times) + syscall_table[SYS_times] = "times"; +#endif +#if defined (SYS_truncate) + syscall_table[SYS_truncate] = "truncate"; +#endif +#if defined (SYS_truncate64) + syscall_table[SYS_truncate64] = "truncate64"; +#endif +#if defined (SYS_tsolsys) + syscall_table[SYS_tsolsys] = "tsolsys"; +#endif +#if defined (SYS_uadmin) + syscall_table[SYS_uadmin] = "uadmin"; +#endif +#if defined (SYS_ulimit) + syscall_table[SYS_ulimit] = "ulimit"; +#endif +#if defined (SYS_umask) + syscall_table[SYS_umask] = "umask"; +#endif +#if defined (SYS_umount) + syscall_table[SYS_umount] = "umount"; +#endif +#if defined (SYS_uname) + syscall_table[SYS_uname] = "uname"; +#endif +#if defined (SYS_unblock) + syscall_table[SYS_unblock] = "unblock"; +#endif +#if defined (SYS_unlink) + syscall_table[SYS_unlink] = "unlink"; +#endif +#if defined (SYS_unmount) + syscall_table[SYS_unmount] = "unmount"; +#endif +#if defined (SYS_usleep_thread) + syscall_table[SYS_usleep_thread] = "usleep_thread"; +#endif +#if defined (SYS_uswitch) + syscall_table[SYS_uswitch] = "uswitch"; +#endif +#if defined (SYS_utc_adjtime) + syscall_table[SYS_utc_adjtime] = "utc_adjtime"; +#endif +#if defined (SYS_utc_gettime) + syscall_table[SYS_utc_gettime] = "utc_gettime"; +#endif +#if defined (SYS_utime) + syscall_table[SYS_utime] = "utime"; +#endif +#if defined (SYS_utimes) + syscall_table[SYS_utimes] = "utimes"; +#endif +#if defined (SYS_utssys) + syscall_table[SYS_utssys] = "utssys"; +#endif +#if defined (SYS_vfork) + syscall_table[SYS_vfork] = "vfork"; +#endif +#if defined (SYS_vhangup) + syscall_table[SYS_vhangup] = "vhangup"; +#endif +#if defined (SYS_vtrace) + syscall_table[SYS_vtrace] = "vtrace"; +#endif +#if defined (SYS_wait) + syscall_table[SYS_wait] = "wait"; +#endif +#if defined (SYS_waitid) + syscall_table[SYS_waitid] = "waitid"; +#endif +#if defined (SYS_waitsys) + syscall_table[SYS_waitsys] = "waitsys"; +#endif +#if defined (SYS_write) + syscall_table[SYS_write] = "write"; +#endif +#if defined (SYS_writev) + syscall_table[SYS_writev] = "writev"; +#endif +#if defined (SYS_xenix) + syscall_table[SYS_xenix] = "xenix"; +#endif +#if defined (SYS_xmknod) + syscall_table[SYS_xmknod] = "xmknod"; +#endif +#if defined (SYS_xstat) + syscall_table[SYS_xstat] = "xstat"; +#endif +#if defined (SYS_yield) + syscall_table[SYS_yield] = "yield"; +#endif +}; + +/* + * Prettyprint a single syscall by number. + */ + +void +proc_prettyfprint_syscall (file, num, verbose) + FILE *file; + int num; + int verbose; +{ + if (syscall_table[num]) + fprintf (file, "SYS_%s ", syscall_table[num]); + else + fprintf (file, " ", num); +} + +void +proc_prettyprint_syscall (num, verbose) + int num; + int verbose; +{ + proc_prettyfprint_syscall (stdout, num, verbose); +} + +/* + * Prettyprint all of the syscalls in a sysset_t set. + */ + +void +proc_prettyfprint_syscalls (file, sysset, verbose) + FILE *file; + sysset_t *sysset; + int verbose; +{ + int i; + + for (i = 0; i < MAX_SYSCALLS; i++) + if (prismember (sysset, i)) + { + proc_prettyfprint_syscall (file, i, verbose); + } + fprintf (file, "\n"); +} + +void +proc_prettyprint_syscalls (sysset, verbose) + sysset_t *sysset; + int verbose; +{ + proc_prettyfprint_syscalls (stdout, sysset, verbose); +} + +/* FIXME: add real-time signals */ + +static struct trans signal_table[] = +{ + { 0, "", "no signal" }, +#ifdef SIGHUP + { SIGHUP, "SIGHUP", "Hangup" }, +#endif +#ifdef SIGINT + { SIGINT, "SIGINT", "Interrupt (rubout)" }, +#endif +#ifdef SIGQUIT + { SIGQUIT, "SIGQUIT", "Quit (ASCII FS)" }, +#endif +#ifdef SIGILL + { SIGILL, "SIGILL", "Illegal instruction" }, /* not reset when caught */ +#endif +#ifdef SIGTRAP + { SIGTRAP, "SIGTRAP", "Trace trap" }, /* not reset when caught */ +#endif +#ifdef SIGABRT + { SIGABRT, "SIGABRT", "used by abort()" }, /* replaces SIGIOT */ +#endif +#ifdef SIGIOT + { SIGIOT, "SIGIOT", "IOT instruction" }, +#endif +#ifdef SIGEMT + { SIGEMT, "SIGEMT", "EMT instruction" }, +#endif +#ifdef SIGFPE + { SIGFPE, "SIGFPE", "Floating point exception" }, +#endif +#ifdef SIGKILL + { SIGKILL, "SIGKILL", "Kill" }, /* Solaris: cannot be caught/ignored */ +#endif +#ifdef SIGBUS + { SIGBUS, "SIGBUS", "Bus error" }, +#endif +#ifdef SIGSEGV + { SIGSEGV, "SIGSEGV", "Segmentation violation" }, +#endif +#ifdef SIGSYS + { SIGSYS, "SIGSYS", "Bad argument to system call" }, +#endif +#ifdef SIGPIPE + { SIGPIPE, "SIGPIPE", "Write to pipe with no one to read it" }, +#endif +#ifdef SIGALRM + { SIGALRM, "SIGALRM", "Alarm clock" }, +#endif +#ifdef SIGTERM + { SIGTERM, "SIGTERM", "Software termination signal from kill" }, +#endif +#ifdef SIGUSR1 + { SIGUSR1, "SIGUSR1", "User defined signal 1" }, +#endif +#ifdef SIGUSR2 + { SIGUSR2, "SIGUSR2", "User defined signal 2" }, +#endif +#ifdef SIGCHLD + { SIGCHLD, "SIGCHLD", "Child status changed" }, /* Posix version */ +#endif +#ifdef SIGCLD + { SIGCLD, "SIGCLD", "Child status changed" }, /* Solaris version */ +#endif +#ifdef SIGPWR + { SIGPWR, "SIGPWR", "Power-fail restart" }, +#endif +#ifdef SIGWINCH + { SIGWINCH, "SIGWINCH", "Window size change" }, +#endif +#ifdef SIGURG + { SIGURG, "SIGURG", "Urgent socket condition" }, +#endif +#ifdef SIGPOLL + { SIGPOLL, "SIGPOLL", "Pollable event" }, +#endif +#ifdef SIGIO + { SIGIO, "SIGIO", "Socket I/O possible" }, /* alias for SIGPOLL */ +#endif +#ifdef SIGSTOP + { SIGSTOP, "SIGSTOP", "Stop, not from tty" }, /* cannot be caught or ignored */ +#endif +#ifdef SIGTSTP + { SIGTSTP, "SIGTSTP", "User stop from tty" }, +#endif +#ifdef SIGCONT + { SIGCONT, "SIGCONT", "Stopped process has been continued" }, +#endif +#ifdef SIGTTIN + { SIGTTIN, "SIGTTIN", "Background tty read attempted" }, +#endif +#ifdef SIGTTOU + { SIGTTOU, "SIGTTOU", "Background tty write attempted" }, +#endif +#ifdef SIGVTALRM + { SIGVTALRM, "SIGVTALRM", "Virtual timer expired" }, +#endif +#ifdef SIGPROF + { SIGPROF, "SIGPROF", "Profiling timer expired" }, +#endif +#ifdef SIGXCPU + { SIGXCPU, "SIGXCPU", "Exceeded CPU limit" }, +#endif +#ifdef SIGXFSZ + { SIGXFSZ, "SIGXFSZ", "Exceeded file size limit" }, +#endif +#ifdef SIGWAITING + { SIGWAITING, "SIGWAITING", "Process's LWPs are blocked" }, +#endif +#ifdef SIGLWP + { SIGLWP, "SIGLWP", "Used by thread library" }, +#endif +#ifdef SIGFREEZE + { SIGFREEZE, "SIGFREEZE", "Used by CPR" }, +#endif +#ifdef SIGTHAW + { SIGTHAW, "SIGTHAW", "Used by CPR" }, +#endif +#ifdef SIGCANCEL + { SIGCANCEL, "SIGCANCEL", "Used by libthread" }, +#endif +#ifdef SIGLOST + { SIGLOST, "SIGLOST", "Resource lost" }, +#endif +#ifdef SIG32 + { SIG32, "SIG32", "Reserved for kernel usage (Irix)" }, +#endif +#ifdef SIGPTINTR + { SIGPTINTR, "SIGPTINTR", "Posix 1003.1b" }, +#endif +#ifdef SIGTRESCHED + { SIGTRESCHED, "SIGTRESCHED", "Posix 1003.1b" }, +#endif +#ifdef SIGINFO + { SIGINFO, "SIGINFO", "Information request" }, +#endif +#ifdef SIGRESV + { SIGRESV, "SIGRESV", "Reserved by Digital for future use" }, +#endif +#ifdef SIGAIO + { SIGAIO, "SIGAIO", "Asynchronous I/O signal" }, +#endif +}; + +/* + * Prettyprint a single signal by number. + * Accepts a signal number and finds it in the signal table, + * then pretty-prints it. + */ + +void +proc_prettyfprint_signal (file, signo, verbose) + FILE *file; + int signo; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (signal_table) / sizeof (signal_table[0]); i++) + if (signo == signal_table[i].value) + { + fprintf (file, "%s", signal_table[i].name); + if (verbose) + fprintf (file, ": %s\n", signal_table[i].desc); + else + fprintf (file, " "); + return; + } + fprintf (file, "Unknown signal %d%c", signo, verbose ? '\n' : ' '); +} + +void +proc_prettyprint_signal (signo, verbose) + int signo; + int verbose; +{ + proc_prettyfprint_signal (stdout, signo, verbose); +} + +/* + * Prettyprint all of the signals in a sigset_t set. + * + * This function loops over all signal numbers from 0 to NSIG, + * uses them as indexes for prismember, and prints them pretty. + * + * It does not loop over the signal table, as is done with the + * fault table, because the signal table may contain aliases. + * If it did, both aliases would be printed. + */ + +void +proc_prettyfprint_signalset (file, sigset, verbose) + FILE *file; + sigset_t *sigset; + int verbose; +{ + int i; + + for (i = 0; i < NSIG; i++) + if (prismember (sigset, i)) + proc_prettyfprint_signal (file, i, verbose); + + if (!verbose) + fprintf (file, "\n"); +} + +void +proc_prettyprint_signalset (sigset, verbose) + sigset_t *sigset; + int verbose; +{ + proc_prettyfprint_signalset (stdout, sigset, verbose); +} + +/* Hardware fault translation table. */ + +static struct trans fault_table[] = +{ +#if defined (FLTILL) + { FLTILL, "FLTILL", "Illegal instruction" }, +#endif +#if defined (FLTPRIV) + { FLTPRIV, "FLTPRIV", "Privileged instruction" }, +#endif +#if defined (FLTBPT) + { FLTBPT, "FLTBPT", "Breakpoint trap" }, +#endif +#if defined (FLTTRACE) + { FLTTRACE, "FLTTRACE", "Trace trap" }, +#endif +#if defined (FLTACCESS) + { FLTACCESS, "FLTACCESS", "Memory access fault" }, +#endif +#if defined (FLTBOUNDS) + { FLTBOUNDS, "FLTBOUNDS", "Memory bounds violation" }, +#endif +#if defined (FLTIOVF) + { FLTIOVF, "FLTIOVF", "Integer overflow" }, +#endif +#if defined (FLTIZDIV) + { FLTIZDIV, "FLTIZDIV", "Integer zero divide" }, +#endif +#if defined (FLTFPE) + { FLTFPE, "FLTFPE", "Floating-point exception" }, +#endif +#if defined (FLTSTACK) + { FLTSTACK, "FLTSTACK", "Unrecoverable stack fault" }, +#endif +#if defined (FLTPAGE) + { FLTPAGE, "FLTPAGE", "Recoverable page fault" }, +#endif +#if defined (FLTPCINVAL) + { FLTPCINVAL, "FLTPCINVAL", "Invalid PC exception" }, +#endif +#if defined (FLTWATCH) + { FLTWATCH, "FLTWATCH", "User watchpoint" }, +#endif +#if defined (FLTKWATCH) + { FLTKWATCH, "FLTKWATCH", "Kernel watchpoint" }, +#endif +#if defined (FLTSCWATCH) + { FLTSCWATCH, "FLTSCWATCH", "Hit a store conditional on a watched page" }, +#endif +}; + +/* + * Work horse. Accepts an index into the fault table, prints it pretty. + */ + +static void +prettyfprint_faulttable_entry (file, i, verbose) + FILE *file; + int i; + int verbose; +{ + fprintf (file, "%s", fault_table[i].name); + if (verbose) + fprintf (file, ": %s\n", fault_table[i].desc); + else + fprintf (file, " "); +} + +/* + * Prettyprint a hardware fault by number. + */ + +void +proc_prettyfprint_fault (file, faultno, verbose) + FILE *file; + int faultno; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) + if (faultno == fault_table[i].value) + { + prettyfprint_faulttable_entry (file, i, verbose); + return; + } + + fprintf (file, "Unknown hardware fault %d%c", + faultno, verbose ? '\n' : ' '); +} + +void +proc_prettyprint_fault (faultno, verbose) + int faultno; + int verbose; +{ + proc_prettyfprint_fault (stdout, faultno, verbose); +} + +/* + * Prettyprint all the faults in a fltset_t set. + * + * This function loops thru the fault table, + * using the value field as the index to prismember. + * The fault table had better not contain aliases, + * for if it does they will both be printed. + */ + +void +proc_prettyfprint_faultset (file, fltset, verbose) + FILE *file; + fltset_t *fltset; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) + if (prismember (fltset, fault_table[i].value)) + prettyfprint_faulttable_entry (file, i, verbose); + + if (!verbose) + fprintf (file, "\n"); +} + +void +proc_prettyprint_faultset (fltset, verbose) + fltset_t *fltset; + int verbose; +{ + proc_prettyfprint_faultset (stdout, fltset, verbose); +} + +/* + * Todo: actions, holds... + */ + +void +proc_prettyprint_actionset (struct sigaction *actions, int verbose) +{ +} + +void +_initialize_proc_events () +{ + init_syscall_table (); +} diff --git a/gdb/proc_flags.c b/gdb/proc_flags.c new file mode 100755 index 0000000000..adbcfbcc29 --- /dev/null +++ b/gdb/proc_flags.c @@ -0,0 +1,275 @@ +/* + * Pretty-print the prstatus flags. + * + * Arguments: unsigned long flags, int verbose + * + */ + +#include "defs.h" + +#if defined (NEW_PROC_API) +#define _STRUCTURED_PROC 1 +#endif + +#include +#include +#include + +/* Much of the information used in the /proc interface, particularly for + printing status information, is kept as tables of structures of the + following form. These tables can be used to map numeric values to + their symbolic names and to a string that describes their specific use. */ + +struct trans { + int value; /* The numeric value */ + char *name; /* The equivalent symbolic value */ + char *desc; /* Short description of value */ +}; + +/* Translate bits in the pr_flags member of the prstatus structure, + into the names and desc information. */ + +static struct trans pr_flag_table[] = +{ +#if defined (PR_STOPPED) + /* Sol2.5: lwp is stopped + * Sol2.6: lwp is stopped + * Sol2.7: lwp is stopped + * IRIX6: process is stopped + * OSF: task/thread is stopped + * UW: LWP is stopped + */ + { PR_STOPPED, "PR_STOPPED", "Process (LWP) is stopped" }, +#endif +#if defined (PR_ISTOP) + /* Sol2.5: lwp is stopped on an event of interest + * Sol2.6: lwp is stopped on an event of interest + * Sol2.7: lwp is stopped on an event of interest + * IRIX6: process is stopped on event of interest + * OSF: task/thread stopped on event of interest + * UW: LWP stopped on an event of interest + */ + { PR_ISTOP, "PR_ISTOP", "Stopped on an event of interest" }, +#endif +#if defined (PR_DSTOP) + /* Sol2.5: lwp has a stop directive in effect + * Sol2.6: lwp has a stop directive in effect + * Sol2.7: lwp has a stop directive in effect + * IRIX6: process has stop directive in effect + * OSF: task/thread has stop directive in effect + * UW: A stop directive is in effect + */ + { PR_DSTOP, "PR_DSTOP", "A stop directive is in effect" }, +#endif +#if defined (PR_STEP) + /* Sol2.5: lwp has a single-step directive in effect + * Sol2.6: lwp has a single-step directive in effect + * Sol2.7: lwp has a single-step directive in effect + * IRIX6: process has single step pending + */ + { PR_STEP, "PR_STEP", "A single step directive is in effect" }, +#endif +#if defined (PR_ASLEEP) + /* Sol2.5: lwp is sleeping in a system call + * Sol2.6: lwp is sleeping in a system call + * Sol2.7: lwp is sleeping in a system call + * IRIX6: process is in an interruptible sleep + * OSF: task/thread is asleep within a system call + * UW: LWP is sleep()ing in a system call + */ + { PR_ASLEEP, "PR_ASLEEP", "Sleeping in an (interruptible) system call" }, +#endif +#if defined (PR_PCINVAL) + /* Sol2.5: contents of pr_instr undefined + * Sol2.6: contents of pr_instr undefined + * Sol2.7: contents of pr_instr undefined + * IRIX6: current pc is invalid + * OSF: program counter contains invalid address + * UW: %pc refers to an invalid virtual address + */ + { PR_PCINVAL, "PR_PCINVAL", "PC (pr_instr) is invalid" }, +#endif +#if defined (PR_ASLWP) + /* Sol2.5: this lwp is the aslwp + * Sol2.6: this lwp is the aslwp + * Sol2.7: this lwp is the aslwp + */ + { PR_ASLWP, "PR_ASLWP", "This is the asynchronous signal LWP" }, +#endif +#if defined (PR_AGENT) + /* Sol2.6: this lwp is the /proc agent lwp + * Sol2.7: this lwp is the /proc agent lwp + */ + { PR_AGENT, "PR_AGENT", "This is the /proc agent LWP" }, +#endif +#if defined (PR_ISSYS) + /* Sol2.5: system process + * Sol2.6: this is a system process + * Sol2.7: this is a system process + * IRIX6: process is a system process + * OSF: task/thread is a system task/thread + * UW: System process + */ + { PR_ISSYS, "PR_ISSYS", "Is a system process/thread" }, +#endif +#if defined (PR_VFORKP) + /* Sol2.6: process is the parent of a vfork()d child + * Sol2.7: process is the parent of a vfork()d child + */ + { PR_VFORKP, "PR_VFORKP", "Process is the parent of a vforked child" }, +#endif +#ifdef PR_ORPHAN + /* Sol2.6: process's process group is orphaned + * Sol2.7: process's process group is orphaned + */ + { PR_ORPHAN, "PR_ORPHAN", "Process's process group is orphaned" }, +#endif +#if defined (PR_FORK) + /* Sol2.5: inherit-on-fork is in effect + * Sol2.6: inherit-on-fork is in effect + * Sol2.7: inherit-on-fork is in effect + * IRIX6: process has inherit-on-fork flag set + * OSF: task/thread has inherit-on-fork flag set + * UW: inherit-on-fork is in effect + */ + { PR_FORK, "PR_FORK", "Inherit-on-fork is in effect" }, +#endif +#if defined (PR_RLC) + /* Sol2.5: run-on-last-close is in effect + * Sol2.6: run-on-last-close is in effect + * Sol2.7: run-on-last-close is in effect + * IRIX6: process has run-on-last-close flag set + * OSF: task/thread has run-on-last-close flag set + * UW: Run-on-last-close is in effect + */ + { PR_RLC, "PR_RLC", "Run-on-last-close is in effect" }, +#endif +#if defined (PR_KLC) + /* Sol2.5: kill-on-last-close is in effect + * Sol2.6: kill-on-last-close is in effect + * Sol2.7: kill-on-last-close is in effect + * IRIX6: process has kill-on-last-close flag set + * OSF: kill-on-last-close, superceeds RLC + * UW: kill-on-last-close is in effect + */ + { PR_KLC, "PR_KLC", "Kill-on-last-close is in effect" }, +#endif +#if defined (PR_ASYNC) + /* Sol2.5: asynchronous-stop is in effect + * Sol2.6: asynchronous-stop is in effect + * Sol2.7: asynchronous-stop is in effect + * OSF: asynchronous stop mode is in effect + * UW: asynchronous stop mode is in effect + */ + { PR_ASYNC, "PR_ASYNC", "Asynchronous stop is in effect" }, +#endif +#if defined (PR_MSACCT) + /* Sol2.5: micro-state usage accounting is in effect + * Sol2.6: micro-state usage accounting is in effect + * Sol2.7: micro-state usage accounting is in effect + */ + { PR_MSACCT, "PR_MSACCT", "Microstate accounting enabled" }, +#endif +#if defined (PR_BPTADJ) + /* Sol2.5: breakpoint trap pc adjustment is in effect + * Sol2.6: breakpoint trap pc adjustment is in effect + * Sol2.7: breakpoint trap pc adjustment is in effect + */ + { PR_BPTADJ, "PR_BPTADJ", "Breakpoint PC adjustment in effect" }, +#endif +#if defined (PR_PTRACE) + /* Note: different meanings on Solaris and Irix 6 + * Sol2.5: obsolete, never set in SunOS5.0 + * Sol2.6: ptrace-compatibility mode is in effect + * Sol2.7: ptrace-compatibility mode is in effect + * IRIX6: process is traced with ptrace() too + * OSF: task/thread is being traced by ptrace + * UW: Process is being controlled by ptrace(2) + */ + { PR_PTRACE, "PR_PTRACE", "Process is being controlled by ptrace" }, +#endif +#if defined (PR_PCOMPAT) + /* Note: PCOMPAT on Sol2.5 means same thing as PTRACE on Sol2.6 + * Sol2.5 (only): ptrace-compatibility mode is in effect + */ + { PR_PCOMPAT, "PR_PCOMPAT", "Ptrace compatibility mode in effect" }, +#endif +#ifdef PR_MSFORK + /* Sol2.6: micro-state accounting inherited on fork + * Sol2.7: micro-state accounting inherited on fork + */ + { PR_MSFORK, "PR_PCOMPAT", "Micro-state accounting inherited on fork" }, +#endif + +#ifdef PR_ISKTHREAD + /* Irix6: process is a kernel thread */ + { PR_ISKTHREAD, "PR_KTHREAD", "Process is a kernel thread" }, +#endif + +#ifdef PR_ABORT + /* OSF (only): abort the current stop condition */ + { PR_ABORT, "PR_ABORT", "Abort the current stop condition" }, +#endif + +#ifdef PR_TRACING + /* OSF: task is traced */ + { PR_TRACING, "PR_TRACING", "Task is traced" }, +#endif + +#ifdef PR_STOPFORK + /* OSF: stop child on fork */ + { PR_STOPFORK, "PR_STOPFORK", "Stop child on fork" }, +#endif + +#ifdef PR_STOPEXEC + /* OSF: stop on exec */ + { PR_STOPEXEC, "PR_STOPEXEC", "Stop on exec" }, +#endif + +#ifdef PR_STOPTERM + /* OSF: stop on task exit */ + { PR_STOPTERM, "PR_STOPTERM", "Stop on task exit" }, +#endif + +#ifdef PR_STOPTCR + /* OSF: stop on thread creation */ + { PR_STOPTCR, "PR_STOPTCR", "Stop on thread creation" }, +#endif + +#ifdef PR_STOPTTERM + /* OSF: stop on thread exit */ + { PR_STOPTTERM, "PR_STOPTTERM", "Stop on thread exit" }, +#endif + +#ifdef PR_USCHED + /* OSF: user level scheduling is in effect */ + { PR_USCHED, "PR_USCHED", "User level scheduling is in effect" }, +#endif +}; + +void +proc_prettyfprint_flags (file, flags, verbose) + FILE *file; + unsigned long flags; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (pr_flag_table) / sizeof (pr_flag_table[0]); i++) + if (flags & pr_flag_table[i].value) + { + fprintf (file, "%s ", pr_flag_table[i].name); + if (verbose) + fprintf (file, "%s\n", pr_flag_table[i].desc); + } + if (!verbose) + fprintf (file, "\n"); +} + +void +proc_prettyprint_flags (flags, verbose) + unsigned long flags; + int verbose; +{ + proc_prettyfprint_flags (stdout, flags, verbose); +} diff --git a/gdb/proc_why.c b/gdb/proc_why.c new file mode 100755 index 0000000000..dbfec3c91e --- /dev/null +++ b/gdb/proc_why.c @@ -0,0 +1,158 @@ +/* + * Pretty-print the pr_why value. + * + * Arguments: unsigned long flags, int verbose + * + */ + +#include "defs.h" + +#if defined(NEW_PROC_API) +#define _STRUCTURED_PROC 1 +#endif + +#include +#include +#include + +/* Much of the information used in the /proc interface, particularly for + printing status information, is kept as tables of structures of the + following form. These tables can be used to map numeric values to + their symbolic names and to a string that describes their specific use. */ + +struct trans { + int value; /* The numeric value */ + char *name; /* The equivalent symbolic value */ + char *desc; /* Short description of value */ +}; + +/* Translate values in the pr_why field of the prstatus struct. */ + +static struct trans pr_why_table[] = +{ +#if defined (PR_REQUESTED) + /* All platforms */ + { PR_REQUESTED, "PR_REQUESTED", + "Directed to stop by debugger via P(IO)CSTOP or P(IO)CWSTOP" }, +#endif +#if defined (PR_SIGNALLED) + /* All platforms */ + { PR_SIGNALLED, "PR_SIGNALLED", "Receipt of a traced signal" }, +#endif +#if defined (PR_SYSENTRY) + /* All platforms */ + { PR_SYSENTRY, "PR_SYSENTRY", "Entry to a traced system call" }, +#endif +#if defined (PR_SYSEXIT) + /* All platforms */ + { PR_SYSEXIT, "PR_SYSEXIT", "Exit from a traced system call" }, +#endif +#if defined (PR_JOBCONTROL) + /* All platforms */ + { PR_JOBCONTROL, "PR_JOBCONTROL", "Default job control stop signal action" }, +#endif +#if defined (PR_FAULTED) + /* All platforms */ + { PR_FAULTED, "PR_FAULTED", "Incurred a traced hardware fault" }, +#endif +#if defined (PR_SUSPENDED) + /* Solaris and UnixWare */ + { PR_SUSPENDED, "PR_SUSPENDED", "Process suspended" }, +#endif +#if defined (PR_CHECKPOINT) + /* Solaris only */ + { PR_CHECKPOINT, "PR_CHECKPOINT", "Process stopped at checkpoint" }, +#endif +#if defined (PR_FORKSTOP) + /* OSF only */ + { PR_FORKSTOP, "PR_FORKSTOP", "Process stopped at end of fork call" }, +#endif +#if defined (PR_TCRSTOP) + /* OSF only */ + { PR_TCRSTOP, "PR_TCRSTOP", "Process stopped on thread creation" }, +#endif +#if defined (PR_TTSTOP) + /* OSF only */ + { PR_TTSTOP, "PR_TTSTOP", "Process stopped on thread termination" }, +#endif +#if defined (PR_DEAD) + /* OSF only */ + { PR_DEAD, "PR_DEAD", "Process stopped in exit system call" }, +#endif +}; + +void +proc_prettyfprint_why (file, why, what, verbose) + FILE *file; + unsigned long why; + unsigned long what; + int verbose; +{ + int i; + + if (why == 0) + return; + + for (i = 0; i < sizeof (pr_why_table) / sizeof (pr_why_table[0]); i++) + if (why == pr_why_table[i].value) + { + fprintf (file, "%s ", pr_why_table[i].name); + if (verbose) + fprintf (file, ": %s ", pr_why_table[i].desc); + + switch (why) { +#ifdef PR_REQUESTED + case PR_REQUESTED: + break; /* Nothing more to print. */ +#endif +#ifdef PR_SIGNALLED + case PR_SIGNALLED: + proc_prettyfprint_signal (file, what, verbose); + break; +#endif +#ifdef PR_FAULTED + case PR_FAULTED: + proc_prettyfprint_fault (file, what, verbose); + break; +#endif +#ifdef PR_SYSENTRY + case PR_SYSENTRY: + fprintf (file, "Entry to "); + proc_prettyfprint_syscall (file, what, verbose); + break; +#endif +#ifdef PR_SYSEXIT + case PR_SYSEXIT: + fprintf (file, "Exit from "); + proc_prettyfprint_syscall (file, what, verbose); + break; +#endif +#ifdef PR_JOBCONTROL + case PR_JOBCONTROL: + proc_prettyfprint_signal (file, what, verbose); + break; +#endif +#ifdef PR_DEAD + case PR_DEAD: + fprintf (file, "Exit status: %d\n", what); + break; +#endif + default: + fprintf (file, "Unknown why %d, what %d\n", why, what); + break; + } + fprintf (file, "\n"); + + return; + } + fprintf (file, "Unknown pr_why.\n"); +} + +void +proc_prettyprint_why (why, what, verbose) + unsigned long why; + unsigned long what; + int verbose; +{ + proc_prettyfprint_why (stdout, why, what, verbose); +} diff --git a/sim/testsuite/d10v-elf/t-ae-ld-d.s b/sim/testsuite/d10v-elf/t-ae-ld-d.s new file mode 100644 index 0000000000..1be783fe98 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld-d.s @@ -0,0 +1,13 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld + + ld r8,@0x4000 +test_ld: + ld r8,@0x4001 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld-i.s b/sim/testsuite/d10v-elf/t-ae-ld-i.s new file mode 100644 index 0000000000..42168e1d81 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld-i.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld + + ldi r10, #0x4000 + ld r8, @r10 + + ldi r10, #0x4001 +test_ld: + ld r8,@r10 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld-id.s b/sim/testsuite/d10v-elf/t-ae-ld-id.s new file mode 100644 index 0000000000..86b7382355 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld-id.s @@ -0,0 +1,15 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld + + ldi r10, #0x4001 + ld r8, @(1,r10) + +test_ld: + ld r8,@(2,r10) + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld-im.s b/sim/testsuite/d10v-elf/t-ae-ld-im.s new file mode 100644 index 0000000000..08e2ba6d38 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld-im.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld + + ldi r10, #0x4000 + ld r8, @r10- + + ldi r10, #0x4001 +test_ld: + ld r8,@r10- + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld-ip.s b/sim/testsuite/d10v-elf/t-ae-ld-ip.s new file mode 100644 index 0000000000..cad6660080 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld-ip.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld + + ldi r10, #0x4000 + ld r8, @r10+ + + ldi r10, #0x4001 +test_ld: + ld r8,@r10+ + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-d.s b/sim/testsuite/d10v-elf/t-ae-ld2w-d.s new file mode 100644 index 0000000000..c8254ab191 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld2w-d.s @@ -0,0 +1,13 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w + + ld2w r8,@0x4000 +test_ld2w: + ld2w r8,@0x4001 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-i.s b/sim/testsuite/d10v-elf/t-ae-ld2w-i.s new file mode 100644 index 0000000000..4b32df5cc3 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld2w-i.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w + + ldi r10, #0x4000 + ld2w r8, @r10 + + ldi r10, #0x4001 +test_ld2w: + ld2w r8,@r10 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-id.s b/sim/testsuite/d10v-elf/t-ae-ld2w-id.s new file mode 100644 index 0000000000..906b2a0836 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld2w-id.s @@ -0,0 +1,14 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w + + ldi r10, #0x4001 + ld2w r8,@(1,r10) +test_ld2w: + ld2w r8,@(2,r10) + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-im.s b/sim/testsuite/d10v-elf/t-ae-ld2w-im.s new file mode 100644 index 0000000000..71a7286dfc --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld2w-im.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w + + ldi r10, #0x4000 + ld2w r8, @r10- + + ldi r10, #0x4001 +test_ld2w: + ld2w r8,@r10- + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s b/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s new file mode 100644 index 0000000000..38cfab622b --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_ld2w + + ldi r10, #0x4000 + ld2w r8, @r10+ + + ldi r10, #0x4001 +test_ld2w: + ld2w r8,@r10+ + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-d.s b/sim/testsuite/d10v-elf/t-ae-st-d.s new file mode 100644 index 0000000000..1f0edd87f2 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-d.s @@ -0,0 +1,13 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + st r8,@0x4000 +test_st: + st r8,@0x4001 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-i.s b/sim/testsuite/d10v-elf/t-ae-st-i.s new file mode 100644 index 0000000000..15245981ec --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-i.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + ldi r10,#0x4000 + st r8, @r10 + + ldi r10,#0x4001 +test_st: + st r8,@r10 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-id.s b/sim/testsuite/d10v-elf/t-ae-st-id.s new file mode 100644 index 0000000000..4caa1b4faf --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-id.s @@ -0,0 +1,14 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + ldi r10,#0x4001 + st r8, @(1,r10) +test_st: + st r8,@(2,r10) + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-im.s b/sim/testsuite/d10v-elf/t-ae-st-im.s new file mode 100644 index 0000000000..d4c8bafe09 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-im.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + ldi r10,#0x4000 + st r8, @r10- + + ldi r10,#0x4001 +test_st: + st r8,@r10- + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-ip.s b/sim/testsuite/d10v-elf/t-ae-st-ip.s new file mode 100644 index 0000000000..e3a02ee528 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-ip.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + ldi r10,#0x4000 + st r8, @r10+ + + ldi r10,#0x4001 +test_st: + st r8,@r10+ + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st-is.s b/sim/testsuite/d10v-elf/t-ae-st-is.s new file mode 100644 index 0000000000..4868780128 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st-is.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st + + ldi sp,#0x4000 + st r8, @-SP + + ldi sp,#0x4001 +test_st: + st r8,@-SP + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-d.s b/sim/testsuite/d10v-elf/t-ae-st2w-d.s new file mode 100644 index 0000000000..a0d9c3176e --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-d.s @@ -0,0 +1,13 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + st2w r8,@0x4000 +test_st2w: + st2w r8,@0x4001 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-i.s b/sim/testsuite/d10v-elf/t-ae-st2w-i.s new file mode 100644 index 0000000000..8c24bc92d7 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-i.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + ldi r10, #0x4000 + st2w r8, @r10 + + ldi r10, #0x4001 +test_st2w: + st2w r8,@r10 + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-id.s b/sim/testsuite/d10v-elf/t-ae-st2w-id.s new file mode 100644 index 0000000000..bfbfd4dd69 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-id.s @@ -0,0 +1,14 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + ldi r10, #0x4001 + st2w r8, @(1,r10) +test_st2w: + st2w r8,@(2,r10) + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-im.s b/sim/testsuite/d10v-elf/t-ae-st2w-im.s new file mode 100644 index 0000000000..ee0a9ebe10 --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-im.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + ldi r10, #0x4000 + st2w r8, @r10- + + ldi r10, #0x4001 +test_st2w: + st2w r8,@r10- + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-ip.s b/sim/testsuite/d10v-elf/t-ae-st2w-ip.s new file mode 100644 index 0000000000..dc911f723f --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-ip.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + ldi r10, #0x4000 + st2w r8, @r10+ + + ldi r10, #0x4001 +test_st2w: + st2w r8,@r10+ + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-ae-st2w-is.s b/sim/testsuite/d10v-elf/t-ae-st2w-is.s new file mode 100644 index 0000000000..e39d71ce4c --- /dev/null +++ b/sim/testsuite/d10v-elf/t-ae-st2w-is.s @@ -0,0 +1,16 @@ +.include "t-macros.i" + + start + + PSW_BITS = 0 + point_dmap_at_imem + check_interrupt (VEC_AE&DMAP_MASK)+DMAP_BASE PSW_BITS test_st2w + + ldi sp, #0x4004 + st2w r8, @-SP + + ldi sp, #0x4005 +test_st2w: + st2w r8,@-SP + nop + exit47 diff --git a/sim/testsuite/d10v-elf/t-mod-ld-pre.s b/sim/testsuite/d10v-elf/t-mod-ld-pre.s new file mode 100644 index 0000000000..4536e0344e --- /dev/null +++ b/sim/testsuite/d10v-elf/t-mod-ld-pre.s @@ -0,0 +1,126 @@ +.include "t-macros.i" + +.section .rodata + + .text + .globl main + .type main,@function +main: + mvfc r0, PSW || ldi.s r14, #0 + ldi.l r2, 0x100 ; MOD_E + ldi.l r3, 0x108 ; MOD_S + +test_mod_dec_ld: + mvtc r2, MOD_E || bseti r0, #7 + mvtc r3, MOD_S + mvtc r0, PSW ; modulo mode enable + mv r1,r3 ; r1=0x108 + ld r4, @r1- || nop ; r1=0x106 + ld r4, @r1- || nop ; r1=0x104 + ld r4, @r1- || nop ; r1=0x102 + ld r4, @r1- || nop ; r1=0x100 + ld r4, @r1- || nop ; r1=0x108 + ld r4, @r1- || nop ; r1=0x106 + + cmpeqi r1,#0x106 + brf0f _ERR ; branch to error + +test_mod_inc_ld: + mvtc r2, MOD_S + mvtc r3, MOD_E + mv r1,r2 ; r1=0x100 + ld r4, @r1+ || nop ; r1=0x102 + ld r4, @r1+ || nop ; r1=0x104 + ld r4, @r1+ || nop ; r1=0x106 + ld r4, @r1+ || nop ; r1=0x108 + ld r4, @r1+ || nop ; r1=0x100 + ld r4, @r1+ || nop ; r1=0x102 + + cmpeqi r1,#0x102 + brf0f _ERR + +test_mod_dec_ld2w: + mvtc r2, MOD_E + mvtc r3, MOD_S + mv r1,r3 ; r1=0x108 + ld2W r4, @r1- || nop ; r1=0x104 + ld2W r4, @r1- || nop ; r1=0x100 + ld2W r4, @r1- || nop ; r1=0x108 + ld2W r4, @r1- || nop ; r1=0x104 + + cmpeqi r1,#0x104 + brf0f _ERR ; <= branch to error + +test_mod_inc_ld2w: + mvtc r2, MOD_S + mvtc r3, MOD_E || BCLRI r0, #7 + mv r1,r2 ; r1=0x100 + ld2W r4, @r1+ || nop ; r1=0x104 + ld2W r4, @r1+ || nop ; r1=0x108 + ld2W r4, @r1+ || nop ; r1=0x100 + ld2W r4, @r1+ || nop ; r1=0x104 + + cmpeqi r1,#0x104 + brf0f _ERR + +test_mod_dec_ld_dis: + mvtc r0, PSW ; modulo mode disable + mvtc r2, MOD_E + mvtc r3, MOD_S + mv r1,r3 ; r1=0x108 + ld r4, @r1- || nop ; r1=0x106 + ld r4, @r1- || nop ; r1=0x104 + ld r4, @r1- || nop ; r1=0x102 + ld r4, @r1- || nop ; r1=0x100 + ld r4, @r1- || nop ; r1=0xFE + ld r4, @r1- || nop ; r1=0xFC + + cmpeqi r1,#0xFC + brf0f _ERR + +test_mod_inc_ld_dis: + mvtc r2, MOD_S + mvtc r3, MOD_E + mv r1,r2 ; r1=0x100 + ld r4, @r1+ || nop ; r1=0x102 + ld r4, @r1+ || nop ; r1=0x104 + ld r4, @r1+ || nop ; r1=0x106 + ld r4, @r1+ || nop ; r1=0x108 + ld r4, @r1+ || nop ; r1=0x10A + ld r4, @r1+ || nop ; r1=0x10C + + cmpeqi r1,#0x10C + brf0f _ERR + +test_mod_dec_ld2w_dis: + mvtc r2, MOD_E + mvtc r3, MOD_S + mv r1,r3 ; r1=0x108 + ld2W r4, @r1- || nop ; r1=0x104 + ld2W r4, @r1- || nop ; r1=0x100 + ld2W r4, @r1- || nop ; r1=0xFC + ld2W r4, @r1- || nop ; r1=0xF8 + + cmpeqi r1,#0xF8 + brf0f _ERR + + test_mod_inc_ld2w_dis: + mvtc r2, MOD_S + mvtc r3, MOD_E + mv r1,r2 ; r1=0x100 + ld2W r4, @r1+ || nop ; r1=0x104 + ld2W r4, @r1+ || nop ; r1=0x108 + ld2W r4, @r1+ || nop ; r1=0x10C + ld2W r4, @r1+ || nop ; r1=0x110 + + cmpeqi r1,#0x110 + brf0f _ERR + +_OK: + exit0 + +_ERR: + exit47 + + +