3 * breakpoint.c (delete_breakpoint): Fix bpt->val, bpt->exp
5 (breakpoint_re_set_one): Fix b->exp, b->val, b->cond storage leaks.
7 * infcmd.c (run_command), solib.c (locate_base): Check for
8 target_has_execution in addition to inferior_pid, a core file
9 from a threaded program is yielding a non-zero inferior_pid.
11 * sparc-tdep.c (get_saved_register): Handle window registers
12 in a dummy frame correctly.
16 * Makefile.in (CLIBS): Move $(MMALLOC) past all other libs,
17 so that anything that wants an allocation function not yet pulled
18 in, will get it from mmalloc rather than a system library.
19 * Makefile.in (INSTALLED_LIBS): Reorder to match order of CLIBS,
20 to avoid surprising results when used.
24 * stabsread.c: Changes and bug fixes for cfront support.
25 Fix bug for class data members.
26 Fix parsing bug when no base classes exist.
27 Fix memory bug - allocate space for cplusplus specific info.
28 Add support for static data.
29 Add prototypes for static functions.
30 Enhance comments to show what each function expects to parse.
32 * stabsread.c(resolve_cont),dbxread.c(resolve_cont): Rename
33 function to resolve_cfront_continuation.
37 * infrun.c (wait_for_inferior): Call registers_changed when
38 restarting the inferior to get over a nullified instruction.
42 * dbxread.c,stabsread.c,gdbtypes.c,partial-stab.h,valops.c:
43 Add new support for parsing cfront stabs.
47 * infrun.c (wait_for_inferior): Move "have_waited" label
48 outside of #ifdef conditionals. Don't trash the wait status
49 if we get a signal and the current instruction is nullified.
53 * Makefile.in (VERSION): Bump version number to 4.16.1
54 * NEWS: Update for 4.16 release.
58 * monitor.h: Clean up comment formatting.
59 (current_monitor): Remove decl.
60 (LOADTYPES, LOADPROTOS, INIT_CMD, etc): Remove definitions.
61 (push_monitor, SREC_SIZE): Remove.
62 * monitor.c: Expand old macro into current_monitor derefs
64 * remote-os9k.c (current_monitor): Remove definition.
68 * corefile.c (specify_exec_file_hook): Allow arbitrary number of
70 (call_extra_exec_file_hooks): New function.
71 * h8300-tdep.c: Lint; add .h files to provide missing declarations,
72 remove unused variables.
73 (set_machine_hook): New function.
74 (_initialize_h8300m): Initialize it.
78 * remote-mips.c (encoding): Don't specify size, to avoid bug in
79 SunOS native compiler.
83 * monitor.c: Use int rather than LONGEST for values, since
84 the formatting strings are not prepared to accept long longs.
88 * arm-tdep.c (initialize_arm_tdep): Make apcs32 a `zinteger'.
92 * corelow.c (add_to_thread_list): Make sure reg_sect is non-null
93 before de-referencing it. Prevents deref of NULL pointer if core
94 file lacks .reg section.
95 * defs.h: Rename floatformat_{to from}_long_double to
96 floatformat_{to from}_doublest. Get rid of FLOATFORMAT_{TO
98 * findvar.c (extract_floating store_floating): Change all refs to
99 FLOATFORMAT_{FROM TO}... to floatformat_{from to}_doublest.
100 * utils.c: Change floatformat_{to from}_long_double to
101 floatformat_{to from}_doublest cuz the new routines will use
102 whatever size (double or long double) is appropriate.
103 * config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
104 REGISTER_CONVERT_TO_RAW): Change FLOATFORMAT... macros to
105 floatformat... routine calls.
109 * stabsread.c (read_type): Move handling of '@' from type
110 number handling to handling of types proper (as emitted by gcc!).
111 For typedefs, allocate the typedef type before reading its
112 definition, to properly handling recursive types.
116 * ch-exp.c (calculate_array_length): Fix prototype.
120 * remote-nindy.c (nindy_open): Acquire more target state so that
121 user can attach to a previously running program.
122 * (nindy_fetch_registers nindy_store_registers): Get rid of fp
123 conversion code. That's all handled in {extract store}_floating
125 * utils.c (floatformat_to_double): Don't bias exponent when
126 handling zero's, denorms or NaNs.
127 * config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
128 REGISTER_CONVERT_TO_RAW): Change to using DOUBLST and
129 FLOATFORMAT_TO/FROM_DOUBLEST macros.
130 * config/i960/tm-nindy960.h: Undefine
131 REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, and
132 REGISTER_CONVERTIBLE. These are no longer necessary now that all
133 the magic happens in extract/store_floating.
137 * eval.c (evaluate_subexp_standard): Report error when attempting to
138 evaluate subscripts for types which cannot be subscripted.
140 * valarith.c (value_x_binop, value_x_unop): Add noside parameter.
141 Return a zero value with the return type of the member function
142 if noside is EVAL_AVOID_SIDE_EFFECTS instead of calling the member
144 * values.h (value_x_binop, value_x_unop): Update prototypes
146 * eval.c (evaluate_subexp_standard): Update all callers of
147 value_x_binop, value_x_unop accordingly.
149 * valarith.c (value_neg, value_complement): Perform ANSI C/C++
150 integral promotion on operands.
154 * README: Update for 4.16 release.
155 * configure.in (AC_CHECK_FUNCS): Also check for sbrk.
156 * configure: Regenerate with autoconf.
157 * config.in: Regenerate with autoheader.
158 * main.c (main): Only use sbrk() when HAVE_SBRK is defined.
159 * top.c (command_loop): Ditto.
163 * defs.h: Define TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
164 defaults for bi-endian targets. Replace function pointers for
165 floatformat routines with macros. No need for these to be runtime
167 * findvar.c: Get rid of floatformat function pointers. Use
168 macros in extract_floating and store_floating.
169 * remote-nindy.c (nindy_fetch_registers nindy_store_registers):
170 Use floatformat macros.
175 * configure.in (AC_CHECK_HEADERS): check for endian.h.
176 Use AC_CHECK_TOOL to find AR & RANLIB. Add AC_PROG_AWK.
177 Add host & target cases for i[345]86-*-gnu*.
178 * config.in: Regenerate with autoheader.
179 * configure: Regenerate with autoconf.
180 * Makefile.in (AR, AWK): Set from corresponding autoconf substs.
181 (init.c): Don't scan mig-generated files.
182 * defs.h (endian.h): Include if HAVE_ENDIAN_H defined.
183 * config/nm-m3.h (ATTACH_NO_WAIT): Define.
184 * infcmd.c (attach_command): Use "#ifndef ATTACH_NO_WAIT"
185 rather than "#ifndef MACH".
189 * remote.c (remotewritesize): New GDB variable, controls size
190 of memory packets sent to the target.
194 * dcache.c: Add prototypes. Make many functions static.
195 * (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and
196 dcache_poke call dcache_xfer_memory directly in order to fix
197 problems with turning off dcache. dcache_peek is now unnecessary,
200 * defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
201 and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer
202 to a struct floatformat. This allows for better handling of
203 targets whose floating point formats differ from the host by more
204 than just byte order.
205 * (floatformat_to_long_double floatformat_from_long_double):
206 Prototypes for new functions in utils.c.
207 * (floatformat_to_doublest floatformat_from_doublest): Prototypes
208 for pointers to floating point conversion functions. The actual
209 function uses either double or long double if the host supports it.
210 * findvar.c (floatformat_to_doublest floatformat_from_doublest):
211 Initialize to point at correct function depending on HAVE_LONG_DOUBLE.
212 * (extract_floating store_floating): Rewrite. Now, if host fp
213 format is the same as the target, we just do a copy. Otherwise,
214 we call floatformat_{to from}_doublest.
215 * remote-nindy.c (nindy_xfer_inferior_memory): Change param
216 `write' to `should_write'.
217 * utils.c (floatformat_to_long_double
218 floatformat_from_long_double): New routines that implement long
219 double versions of functions in libiberty/floatformat.c.
220 * config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for
221 i960 extended real (80 bit) numbers.
222 * nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes
223 actually read or written.
227 * ch-valprint.c (chill_val_print): Remove call to calculate_array_length.
228 (calculate_array_length): Move function from here ...
230 * ch-exp.c (calculate_array_length): ... to here.
231 (parse_primval): If we have a symbol with an array type
232 and the length is 0, call calculate_array_length.
236 * eval.c (evaluate_subexp_standard): In case of TYPE_CODE_SET:
237 Add some checks for powerset compatibility.
239 * valops.c (value_slice): Use lowbound instead of lowerbound for
240 call to slice_range_type to get correct bounds.
244 * Makefile.in (scm-exp.o, scm-lang.o, scm-valprint.o): Add targets and
246 * scm-lang.c (gdb_string.h): Include.
247 * objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow
248 call to correct type (char *).
249 * cp-valprint.c (cp_print_static_field): Ditto.
250 * somsolib.c (som_solib_create_inferior_hook): Add a declaration
251 for external find_unwind_entry function (from hppa-tdep.c).
252 * remote-pa.c (remote_write_bytes, remote_read_bytes): Change
253 type of second arg to "char *" to be type compatible with
255 (remote_wait): Cast second arg to strtol to correct type.
256 * hppa-tdep.c (compare_unwind_entries): Change argument types to
257 "const void *" to be type compatible with qsort, and then
258 assign to local args prior to use.
262 * infptrace.c (kill_inferior): Remove call to "kill"; update
267 * remote-e7000.c: don't append :23 to target port if __WIN32__
268 is defined (it's WinGDB).
273 * gnu-nat.c, gnu-nat.h, msg.defs, exc_request.defs, i386gnu-nat.c,
274 msg_reply.defs, notify.defs, process_reply.defs, reply_mig_hack.awk,
275 config/nm-gnu.h, config/i386/{i386gnu.mh, i386gnu.mt, nm-gnu.h,
276 m-i386gnu.h, xm-i386gnu.h}: New files for GNU hurd.
280 * configure.in (case host): Add i386sco5 host.
281 * configure: Regenerate.
284 Add support for SCO OpenServer 5 (a.k.a. 3.2v5*) This
285 target is an SVR3.2 with COFF, ELF, and shared libes, but
287 * config/i386/i386sco5.mh: New file.
288 * config/i386/nm-i386sco5.h: New file.
292 * bcache.c (bcache): When size of chunk to cache is exactly equal to
293 BCACHE_MAXLENGTH, stash chunk as unique copy.
297 * symfile.c (INLINE_ADD_PSYMBOL): Remove ifdef.
298 (add_psymbol_to_list): Add an arg for passing CORE_ADDR values and
299 use it, rather than calling add_psymbol_addr_to_list.
300 (add_psymbol_addr_to_list): Delete.
301 (add_psymbol_to_list): Make psymbol static to avoid random data in
302 gaps due to alignment of structure members.
303 * symfile.h (INLINE_ADD_PSYMBOL, ADD_PSYMBOL_TO_LIST,
304 ADD_PSYMBOL_ADDR_TO_LIST): Remove. Real world tests show no
305 performance improvements by inlining via complicated macros and
306 they just make gdb larger and harder to maintain.
307 * dwarfread.c (add_enum_psymbol): Replace ADD_PSYMBOL_TO_LIST
308 and/or ADD_PSYMBOL_ADDR_TO_LIST macro(s) with call to
309 add_psymbol_to_list with appropriate long or CORE_ADDR args.
310 (add_partial_symbol): Ditto.
311 * partial-stab.h: Ditto.
312 * os9kread.c (read_os9k_psymtab): Ditto
313 * mdebugread.c (parse_partial_symbols): Ditto.
314 (handle_psymbol_enumerators): Ditto.
315 (demangle.h): Include.
316 * hpread.c (hpread_build_psymtabs): Ditto.
317 (hpread_build_psymtabs): Ditto.
318 (demangle.h): Include
323 * gdbtk.c (running_now): New global variable.
324 (gdb_cmd): Test it before executing any command.
325 (gdbtk_call_command): Set it when inferior is running.
326 * gdbtk.tcl (gdbtk_tcl_busy, gdbtk_tcl_idle): Enable and
327 disable interaction with command window's text appropriately.
331 * gdbtk.c (SIOCSPGRP, linux): If on Linux, undef SIOCSPGRP, since
332 some versions of the kernel don't support it.
337 * configure.in: Check for setpgid function.
338 * config.in: Regenerate with autoheader.
339 * configure: Regenerate with autoconf.
340 * inflow.c (_initialize_inflow): Only try to use _SC_JOB_CONTROL
341 if it is actually defined.
342 (gdb_setpgid): Use HAVE_SETPGID.
343 * ch-exp.c: Change include of <string.h> to "gdb_string.h".
344 * c-exp.y, f-exp.y, m2-exp.y: Ditto.
345 * c-exp.y, serial.c: Include <ctype.h>.
346 * config/m68k/nm-news.h: Add typedef for pid_t which is
347 apparently missing from <sys/types.h>. Enclose entire
348 file in NM_NEWS_H ifndef and define when included.
349 * config/mips/nm-news-mips.h: Ditto.
350 * config/m68k/tm-m68k.h (REGISTER_CONVERT_TO_VIRTUAL,
351 REGISTER_CONVERT_TO_RAW): Change name of temporary variable.
355 * arm-xdep.c: Move native-specific code to here from arm-tdep.c.
356 * arm-tdep.c (arm_apcs_32): New global.
357 (arm_addr_bits_remove, arm_saved_pc_after_call,
358 arm_push_dummy_frame, arm_pop_frame): New functions.
359 (arm_skip_prologue): Updated version from Richard Earnshaw.
360 (_initialize_arm_tdep): Add set/show "apcs32".
361 * config/arm/tm-arm.h (ADDR_BITS_REMOVE): Call
362 arm_addr_bits_remove.
363 (SAVED_PC_AFTER_CALL): Call arm_saved_pc_after_call.
364 (frame_find_saved_regs): Declare properly.
365 (PUSH_DUMMY_FRAME): Call arm_push_dummy_frame.
366 (POP_FRAME): Call arm_pop_frame, use ADDR_BITS_REMOVE instead of
368 * config/arm/nm-arm.h: New file.
369 * config/arm/xm-arm.h (KERNEL_U_ADDR, FETCH_INFERIOR_REGISTERS):
370 Move definitions to nm-arm.h.
371 * config/arm/arm.mh (NAT_FILE): Define.
373 * symfile.c (generic_load): Initialize data_count properly.
377 * symmisc.c (print_objfile_statistics): Print memory used by
378 psymbol cache obstack.
382 * symfile.c (report_transfer_performance): New function.
383 (generic_load): Call it to report transfer rate.
384 * remote-e7000.c (e7000_load): Ditto.
388 * mpw-make.sed: Change references to config.h to be in objdir,
389 edit out rules to rebuild config.h.
393 * hppa-tdep.c (hppa_pop_frame): Call clear_proceed_status before
398 * hppah-nat.c (store_inferior_registers, store_inferior_registers,
399 fetch_register, child_xfer_memory): Use call_ptrace function supplied
400 by infptrace.c rather than calling ptrace directly.
404 * mon960-rom.c: Cleanups and elimination of unused code,
405 clarify documentation string.
406 (mon960_serial, mon960_ttyname): Remove.
407 * config/i960/tm-mon960.h (ADDITIONAL_OPTIONS,
408 ADDITIONAL_OPTION_CASES, ADDITIONAL_OPTION_HELP): Remove.
412 * configure.in: Check whether printf family supports printing
413 long doubles or not and define PRINTF_HAS_LONG_DOUBLE if so.
414 * acconfig.h: Provide default undef for PRINTF_HAS_LONG_DOUBLE.
415 * configure: Regenerate.
416 * valprint.c (print_floating): Use PRINTF_HAS_LONG_DOUBLE.
417 * c-exp.y (parse_number): Use PRINTF_HAS_LONG_DOUBLE.
418 * configure.in: Fix have_gregset and have_fpregset autoconf
419 variable names so that they match the pattern required to
424 * core-aout.c (fetch_core_registers): Cast core_reg_size to int
425 before testing against reg_ptr.
426 * eval.c (evaluate_subexp_standard): Cast type of
427 TYPE_FN_FIELD_VOFFSET to int.
428 * findvar.c (extract_signed_integer, extract_unsigned_integer,
429 extract_long_unsigned_integer): Cast type of sizeof to int.
430 * values.c (unpack_field_as_long, modify_field): Ditto.
431 * valops.c (value_assign, call_function_by_hand): Ditto.
432 * infcmd.c (do_registers_info): Ditto.
433 * ser-tcp.c (tcp_open): Ditto.
434 * remote.c (putpkt): Ditto.
435 * dcache.c (dcache_peek): Ditto.
436 * dcache.c (dcache_poke): Ditto.
437 * m2-exp.y (yylex): Ditto.
438 * gnu-regex.c (re_match_2): Ditto.
439 * f-lang.c (ADD_BF_SYMNUM, saved_bf_list_end, tmp_bf_ptr): Ifdef
440 out unused macro definition and variables.
441 * inftarg.c (proc_wait): Move from main.c to here, and make static.
442 * valprint.c (val_print_string): Change bufsize from int to unsigned.
443 * main.c (wait.h): Include.
444 * top.c (command_line_input): Remove unused variable "c".
445 * f-typeprint.c (f_type_print_varspec_prefix): Add missing enum
446 value TYPE_CODE_TYPEDEF to switch statement.
447 (f_type_print_varspec_suffix): Add missing enum value
448 TYPE_CODE_TYPEDEF to switch statement.
449 * ch-exp.c (parse_primval): Add remaining enumeration values to
450 switch statement, with no specific action.
451 (ch_lex): Add LOC_UNRESOLVED in switch statement.
452 (pushback_token): Ifdef out, since code using it is ifdef'd out.
453 * stabsread.c (cleanup_undefined_types): Remove unused label
455 * objfiles.h (print_symbol_bcache_statistics): Add prototype.
456 * maint.c (objfiles.h): Include.
457 (maintenance_print_statistics): Remove unused variable "temp".
458 * minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
459 unused variable "found_file_symbol".
460 * m2-exp.y (yylex): Add LOC_UNRESOLVED case to switch.
461 * language.c (lang_bool_type): Use existing function local type
462 variable rather than create block local variables.
463 * solib.c (disable_break): Enclose in ifndef SVR4_SHARED_LIBS.
464 * infptrace.c (wait.h, command.h): Include.
465 * ser-tcp.c (gdb_string.h): Include
466 * i386-tdep.c (codestream_seek): Change "place" to CORE_ADDR.
467 (i386_get_frame_setup): Change "pc" from int to CORE_ADDR.
468 * command.c (complete_on_enum): Make assignment used as truth value
469 explictly check against NULL.
471 * infrun.c (wait_for_inferior): Ifdef out prologue_pc since code
472 that uses it is ifdef'd out.
473 * parser-defs.h: Add prototype for write_dollar_variable.
474 * infrun.c: Add prototype for write_pc_pid.
475 * breakpoint.h: Add prototype for re_enable_breakpoints_in_shlibs.
476 * symmisc.c (bcache.h): Include.
477 * bcache.h: Add prototype for print_bcache_statistics.
478 * symfile.c: Include <time.h>.
479 * printcmd.c (print_scalar_formatted): Change len to unsigned int.
480 * valarith.c (value_equal): Cast result of TYPE_LENGTH to int.
481 * valarith.c (value_binop): Change result_len, promoted_len1,
482 and promoted_len2 to unsigned int.
483 * valarith.c (value_subscripted_rvalue): Change elt_offs and
484 elt_size to unsigned int.
485 * valops.c (value_array): Change typelength to unsigned int.
486 (destructor_name_p): Change len to unsigned int.
487 * scm-lang.h (scm_parse): Add prototype for scm_unpack.
488 * symfile.c (decrement_reading_symtab): Change return type to void.
489 * valarith.c (value_subscript): Remove unused variable "word".
490 (value_subscript): Remove unused variable "tint".
491 * valops.c (auto_abandon): Ifdef out, since code using it is also
493 * eval.c (init_array_element): Remove unused variable "val".
494 * Makefile.in (values.o): Depends on scm-lang.h.
495 (command.o): Depends upon wait_h.
496 (ser-tcp.o): Depends upon gdb_string.h.
497 (infptrace.o): Depends upon wait_h and command_h.
498 (maint.o): Depends on objfiles.h and symfile.h.
499 * values.c (allocate_repeat_value): Remove unused variable
501 (scm-lang.h): Include.
502 * breakpoint.c (create_longjmp_breakpoint): Enclose in
503 GET_LONGJMP_TARGET define, unused otherwise.
504 * config/i386/nm-linux.h: Add prototypes for i386_insert_watchpoint,
505 i386_remove_watchpoint and i386_stopped_by_watchpoint.
509 * configure.in (sparc64-*-solaris2*): Delete.
510 Stick with sparc-*-solaris2*.
511 * configure: Regenerated.
515 * valops.c (value_assign): Make copy of internal variable value
516 before returning it as a new value, since it is owned by the
517 internal variable and will be freed along with it.
521 * From Peter Schauer.
522 * breakpoint.c (breakpoint_re_set_one): Keep temporary
523 breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy
524 and bp_step_resume in case breakpoint_re_set_one is called due
525 to a step over a dlopen call.
526 * infrun.c (wait_for_inferior): Always remove breakpoints from
527 inferior in BPSTAT_WHAT_CHECK_SHLIBS case.
531 * config/mips/tm-mips.h (COERCE_FLOAT_TO_DOUBLE): Only prefer
532 non-prototyped case over prototyped case for C.
533 * config/pa/tm-hppa.h (COERCE_FLOAT_TO_DOUBLE): Ditto.
537 * os9kread.c (os9k_process_one_symbol): Note nonportable
538 assumption that an int can hold a char *.
540 * bcache.h (struct hashlink): Wrap data[] inside union with
541 double to force longest alignment.
542 (BCACHE_DATA): New macro to access data[].
543 (BCACHE_ALIGNMENT): New macro to get offset to data[].
544 * bcache.c (lookup_cache, bcache): Use BCACHE_DATA to get
545 address of cached data. Use BCACHE_ALIGNMENT to compute
546 amount of space to allocate for each hashlink struct.
550 * ch-lang.c (evaluate_subexp_chill): Fix typo.
554 * Makefile.in (VERSION): Bump version to 4.15.3
558 * config.in: Rename from config.h.in.
559 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
560 Change CONFIG_HEADERS test in AC_OUTPUT accordingly.
561 * configure: Rebuild.
562 * Makefile.in (stamp-h): Depend upon config.in, not config.h.in.
563 Set CONFIG_HEADERS to config.h:config.in.
567 * partial-stab.h (case N_ENDM): Finish current partial symbol
568 table for Solaris 2 cc.
572 * rs6000-nat.c (exec_one_dummy_insn): Don't clobber the
573 PC in the registers array. From Peter Schauer.
577 * symfile.c (reread_symbols): Reinitialize bcache struct
578 members to zero using memset. Also use memset to reinit
579 global_psymbols and static_psymbols, rather than explicitly
580 resetting each structure member.
584 * configure.in: Add fragment to create stamp-h.
587 * configure.in (AC_CHECK_HEADERS): Check for link.h.
588 * configure: Regenerate with autoconf.
589 * config.h.in: Regenerate with autoheader.
590 * config/i386/nm-linux.h: Include solib.h only if HAVE_LINK_H
592 * solib.c: Exclude most of the code if HAVE_LINK_H is not defined.
593 * config/i386/linux.mh: Reinstate XM_CLIBS, it is needed for
594 older a.out based systems.
598 * config.h.in: New file.
599 * acconfig.h: New file, for autoheader.
600 * configure.in (AC_CONFIG_HEADER): Add, generate config.h.
601 * configure: Regenerate.
602 * Makefile.in (defs_h): Add config.h
603 (distclean): Remove config.h and stamp-h during distclean.
604 (config.h, stamp-h): New targets to remake config.h when necessary.
605 * defs.h (config.h): Include before any other includes or defines.
606 * i386-tdep.c (gdb_string.h): Move include after include of defs.h.
607 * i386v4-nat.c (defs.h): Include before testing HAVE_SYS_PROCFS_H.
612 * Makefile.in (INSTALLED_LIBS): Make sure that @LIBS@ will not
613 result in an empty line, to work around a bug in native Ultrix 4.4
618 * configure.in: Add gdbserver to configdirs under linux.
619 * configure: Regenerate.
623 * config/i386/nm-nbsd.h (FLOAT_INFO): Comment out.
624 * config/i386/tm-nbsd.h (NUM_REGS): Define.
628 * solib.c (solib_break_names): Add _r_debug_state for
629 vanilla SVR4 implementations. From Peter Schauer.
633 * mon960-rom.c: New file; support mon960 rom monitor on i960.
634 * monitor.c (monitor_debug): Change remotedebug to buffer strings.
635 * monitor.c (monitor_open): Add test for flag MO_NO_ECHO_ON_OPEN before
636 epecting prompt and echo during open.
637 * monitor.c (monitor_stop): Add test for flag MO_SEND_BREAK_ON_OPEN to
638 determine if break should be sent as stop command.
639 * monitor.h: Add flags MO_NO_ECHO_ON_OPEN and MO_SEND_BREAK_ON_OPEN.
640 * i960-tdep.c (mon960_frame_chain_valid): New function for getting
641 stack frame on mon960.
642 * Makefile.in: Add mon960 files.
643 * configure.in: Changed i960-*-coff* and i960-*-elf* to target mon960;
644 added i960-nindy-coff* and i960-nindy-elf* for target nindy.
645 * configure: Regenerated.
646 * config/i960/mon960.mt, config/i960/tm-mon960.h: New files;
647 support mon960 rom monitor on i960.
652 * i386-tdep.c (skip_trampoline_code): Fix strncmp length.
653 * win32-nat.c (CHECK, DEBUG*, debug_*): New.
654 (handle_load_dll): Don't reload symbols.
655 (handle_exception): Use the DEBUG_* names.
656 (child_wait): Add DEBUG_* code.
657 (_initialize_inftarg): Add new commands to set debug_ names.
661 * From Peter Schauer:
662 * breakpoint.c (insert_breakpoints): Use ALL_BREAKPOINTS_SAFE.
663 (bpstat_stop_status): Likewise.
664 (remove_solib_event_breakpoints): Likewise.
665 (clear_momentary_breakpoints): Likewise.
666 (re_enable_breakpoints_in_shlibs): Don't reenable a breakpoint
667 if we still can't read the memory for that breakpoint.
668 (mention): Add bp_shlib_event case to keep gcc quiet.
672 * breakpoint.h (enum enable): New enum shlib_disabled for
673 shared library breakpoints that have been temporarily disabled.
674 * breakpoint.c: Handle temporarily disabled shared library
675 breakpoints like disabled breakpoints in most places.
676 (insert_breakpoints): Use shlib_disabled to indicate
677 that an unsettable breakpoint is only temporarily disabled.
678 (re_enable_breakpoints_in_shlibs): New function.
679 * corelow.c (solib_add_stub): After adding shared libraries,
680 try to reenable any temporarily disabled breakpoints.
681 * infcmd.c (attach_command): Likewise.
682 * infrun.c (wait_for_inferior): Likewise.
686 * defs.h (extract_long_unsigned_integer): Declare.
687 * findvar.c (extract_long_unsigned_integer): New function.
688 * printcmd.c (print_scalar_formatted): Use it.
689 * valprint.c (val_print_type_code_int): Likewise.
693 * infcmd.c (do_registers_info): Ignore anonymous registers.
694 * sh-tdep.c (set processor): New command to set specific
696 (sh_reg_names, sh3_reg_names): Arrays of register names for
697 SH and SH3 processors.
698 (sh_set_processor_type): New function.
699 * sh3-rom.c (sh3_open): Call it.
700 (sh3_regname): Add names of all the bank registers.
701 (sh3_supply_register): Clean up formatting.
702 * config/sh/tm-sh.h (NUM_REGS, NUM_REALREGS): Increase to include
704 (REGISTER_NAMES): Add names of bank registers.
705 (FP15_REGNUM): Define.
706 (REGISTER_VIRTUAL_TYPE): Use it.
707 * monitor.c: Clean up some comments.
711 * i386b-nat.c: Revert part of Mar 5 change. FreeBSD collapsed the
712 s* and t* symbols too.
716 * symfile.c (generic_load): Avoid division by zero.
720 * breakpoint.c (bfd_lookup_symbol): Provide for all SVR4 systems,
721 not just those with HANDLE_SVR4_EXEC_EMULATORS.
724 * breakpoint.c (internal_breakpoint_number): Move to file scope.
725 (create_solib_event_breakpoint): Use an internal breakpoint number.
729 * valarith.c (value_in): Change builtin_type_chill_bool to
734 * ch-exp.c (parse_primval): Handle CARD, MAX, MIN.
735 (match_string_literal): Handle control sequence.
736 (match_character_literal): Deto.
738 * ch-lang.c (chill_printchar): Change formating of nonprintable
739 characters from C'xx' to ^(num).
740 (chill_printstr): Deto.
741 (value_chill_card, value_chill_max_min): New functions to process
742 Chill's CARD, MAX, MIN.
743 (evaluate_subexp_chill): Process UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN.
745 * expression.h (exp_opcode): Add UNOP_CARD, UNOP_CHMAX, UNOP_CHMIN
746 for Chill's CARD, MAX, MIN.
748 * valarith.c (value_in): Add processing of TYPE_CODE_RANGE
749 and change return type from builtin_type_int to
750 builtin_type_chill_bool.
754 * config/nm-nbsd.h (link_object, lo_name, etc): Move to here
755 from config/nm-nbsd.h.
756 * config/sparc/nm-nbsd.h (regs, fp_status, etc): Move to here
757 from config/sparc/tm-nbsd.h.
759 * config/m68k/nm-hp300hpux.h (FIVE_ARG_PTRACE): Define here
760 instead of in config/m68k/xm-hp300hpux.h.
764 * i386b-nat.c, m68knbsd-nat.c (fetch_core_registers): Provide
765 implementation for NetBSD systems.
769 * valarith.c (binop_user_defined_p): Return 0 for BINOP_CONCAT.
770 (value_concat): Handle varying strings (add COERCE_VARYING_ARRAY).
772 * ch-lang.c (evaluate_subexp_chill case MULTI_SUBSCRIPT): Error
773 if "function" is pointer to non-function.
777 * top.c (print_gdb_version): Update copyright year.
782 * infrun.c (wait_for_inferior): Remove breakpoints and
783 switch terminal settings before calling SOLIB_ADD.
784 * solib.c (enable_break, SVR4 variant): Don't map in symbols
785 for the dynamic linker, the namespace pollution causes real
790 * remote-mips.c (common_breakpoint): Explicitly terminate the
796 * remote.c (remote_detach): Send a command 'D' to the target
797 when detaching, update the function's comments.
801 * Makefile.in (VERSION): Bump version to 4.15.2 to establish
802 baseline for gdb 4.16 rerelease testing.
806 * somsolib.c (som_solib_create_inferior_hook): Before returning
807 call clear_symtab_users.
811 * remote-e7000.c (e7000_open): Delete all breakpoints when
812 connecting to e7000. Change connect message to allow use of
813 monitor.exp in test suite.
814 * (e7000_load): Print transfer rate of download.
815 * symfile.c (generic_load): Print transfer rate of download.
819 * configure.in (mips*-*-vxworks*): New config.
820 * configure: Regenerated.
822 * config/mips/vxmips.mt, config/mips/tm-vxmips.h: New files.
823 * remote-vxmips.c (vx_convert_to_virtual, vx_convert_from_virtual):
828 * partial-stab.h (case N_FUN): Function symbols generated
829 by SPARCworks cc have a meaningless zero value, do not update
830 pst->textlow if the function symbol value is zero.
832 * stabsread.c (define_symbol): Initialize SYMBOL_TYPE field
833 for function prototype declaration symbols.
837 * remote-e7000.c (e7000_load): New routine to download via the
839 * (e7000_wait): Don't backup PC when we hit a breakpoint.
840 Apparantly new sh2 pods get this right...
841 * (e7000_ops): Add call to e7000_load.
845 * config/m68k/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h},
846 m68knbsd-nat.c: New files, support for NetBSD/m68k.
848 * configure.in (m68k-*-netbsd*): New config.
849 * configure: Regenerated.
853 * standalone.c (open, _initialize_standalone): Fix obvious typos
858 * solib.c (solib_create_inferior_hook): Fix thinko.
862 * solib.c (solib_break_names): Define for Solaris and Linux.
863 (enable_break): For SVR4 systems, first try to use the debugger
864 interfaces in the dynamic linker to track shared library events
865 as they happen, then fall back to BKPT_AT_SYMBOL code. Convert
866 BKPT_AT_SYMBOL code to use shared library event breakpoints.
867 (solib_create_inferior_hook): Simplify BKPT_AT_SYMBOL code,
868 it no longer needs to restart/wait on the inferior.
869 * symfile.c (find_lowest_section): No longer static.
870 * symfile.h (find_lowest_section): Corresponding changes.
874 * valops.c (COERCE_FLOAT_TO_DOUBLE): Define default value.
875 (value_arg_coerce): Use COERCE_FLOAT_TO_DOUBLE.
876 * config/alpha/tm-alpha.h (COERCE_FLOAT_TO_DOUBLE): Define to 1.
877 * config/mips/tm-mips.h: Ditto.
878 * config/pa/tm-hppa.h: Ditto.
879 * config/rs6000/tm-rs6000.h: Ditto.
880 * config/sparc/tm-sparc.h: Ditto.
884 * config/{i386,ns32k}/nbsd.mh (NATDEPFILES): Remove core-aout.o.
886 * config/nm-nbsd.h (FETCH_INFERIOR_REGISTERS): Defined.
887 * config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
888 #ifdef'd out definitions --- Causes serious gdb failures on
889 the i386. Need to investigate further before enabling.
891 * i386b-nat.c (fetch_inferior_registers, store_inferior_registers,
892 fetch_core_registers): New functions. These functions are defined
893 if FETCH_INFERIOR_REGISTERS is set. Registers are fetched/stored
894 with ptrace PT_GETREGS/PT_SETREGS.
898 * findvar.c (extract_floating store_floating): Replace `long
899 double' with `DOUBLEST'.
903 * config/xm-nbsd.h (CC_HAS_LONG_LONG, PRINTF_HAS_LONG_LONG):
908 * symtab.h (looup_minimal_symbol_solib_trampoline): Declare.
910 * breakpoint.h (remove_solib_event_breakpoints): Declare.
911 * breakpoint.c (remove_solib_event_breakpoints): New function.
912 * somsolib.c (solib_create_inferior_hook): Remove all solib event
913 breakpoints before inserting any new ones. Use a solib event
914 breakpoint for the breakpoint at "_start".
915 Remove extraneous "\n" from calls to warning.
917 * breakpoint.c (breakpoint_1): Add missing "sigtramp" to bptypes
922 * dwarfread.c (add_partial_symbol): Use ADD_PSYMBOL_ADDR_TO_LIST
923 for CORE_ADDR values.
924 (new_symbol): Use SYMBOL_VALUE_ADDRESS for CORE_ADDR values.
925 * symfile.h (add_psymbol_{,addr}to_list): Add prototypes.
929 * mipsread.c (mipscoff_symfile_read): Unconditionally add
930 alpha coff dynamic symbols for all symbol files. Makes skipping
931 over the trampoline code work when stepping from a function in a
932 shared library into a function in a different shared library.
936 * config/sparc/tm-sparc.h: Define PS_FLAG_CARRY. Define
937 RETURN_VALUE_ON_STACK to return long doubles on the stack.
941 * Makefile.in (ch-exp.o): Add dependencies.
942 (various): Add gdb_string.h to dependencies that need it.
946 * symmisc.c (print_symbol_bcache_statistics): Update description for
947 printing byte cache statistics.
951 * Add native support for long double data type.
952 * c-exp.y (%union): Change dval to typed_val_float. Use DOUBLEST
953 to store actual data. Change types of INT and FLOAT tokens to
954 typed_val_int and typed_val_float respectively. Create new token
955 DOUBLE_KEYWORD to specify the string `double'. Make production
956 for FLOAT use type determined by parse_number. Add production for
957 "long double" data type.
958 * (parse_number): Use sscanf to parse numbers as float, double or
959 long double depending upon the type of typed_val_float.dval. Also
960 allow user to specify `f' or `l' suffix to explicitly specify
961 float or long double constants. Change typed_val to
963 * (yylex): Change typed_val to typed_val_int. Also, scan for
965 * coffread.c (decode_base_type): Add support for T_LNGDBL basic
967 * configure, configure.in: Add check for long double support in
969 * defs.h: Define DOUBLEST appropriatly depending on whether
970 HAVE_LONG_DOUBLE (from autoconf) is defined. Also, fix prototypes
971 for functions that handle this type.
972 * expression.h (union exp_element): doubleconst is now type
974 * m2-exp.y f-exp.y (%union): dval becomes type DOUBLEST.
975 * findvar.c (extract_floating): Make return value be DOUBLEST.
976 Also, add support for numbers with size of long double.
977 * (store_floating): Arg `val' is now type DOUBLEST. Handle all
979 * parser-defs.h parse.c (write_exp_elt_dblcst): Arg expelt is now
981 * valarith.c (value_binop): Change temp variables v1, v2 and v to
982 type DOUBLEST. Coerce type of result to long double if either op
984 * valops.c (value_arg_coerce): If argument type is bigger than
985 double, coerce to long double.
986 * (call_function_by_hand): If REG_STRUCT_HAS_ADDR is defined, and
987 arg type is float and > 8 bytes, then use pointer-to-object
989 * valprint.c (print_floating): Arg doub is now type DOUBLEST.
990 Use appropriate format and precision to print out floating point
992 * value.h: Fixup prototypes for value_as_double,
993 value_from_double, and unpack_double to use DOUBLEST.
994 * values.c (record_latest_value): Remove check for invalid
995 floats. Allow history to store them so that people may examine
996 them in hex if they want.
997 * (value_as_double unpack_double): Change return value to DOUBLEST.
998 * (value_from_double): Arg `num' is now DOUBLEST.
999 * (using_struct_return): Use RETURN_VALUE_ON_STACK macro (target
1000 specific) to expect certain types to always be returned on the stack.
1004 * bcache.c, bcache.h: New files to implement a byte cache.
1005 * Makefile.in (SFILES): Add bcache.c.
1006 (symtab_h): Add bcache.h.
1007 (HFILES_NO_SRCDIR): add bcache.h
1008 (COMMON_OBJS): Add bcache.o
1009 (bcache.o): New target.
1010 * dbxread.c (start_psymtab): Make global_syms & static_syms
1011 type "partial_symbol **".
1012 * hpread.c (hpread_start_symtab): Ditto.
1013 * os9kread.c (os9k_start_psymtab): Ditto.
1014 * stabsread.h (start_psymtab): Ditto.
1015 * {symfile.c, symfile.h} (start_psymtab_common): Ditto.
1016 * maint.c (maintenance_print_statistics): Call
1017 print_symbol_bcache_statistics.
1018 * objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
1020 * solib.c (allocate_rt_common_objfile): Ditto.
1021 * symfile.c (reread_symbols): Ditto.
1022 (free_objfile): Free psymbol bcache when objfile is freed.
1023 (objfile_relocate): Use new indirect psymbol pointers.
1024 * objfiles.h (struct objfile): Add psymbol cache.
1025 * symfile.c (compare_psymbols): Now passed pointers to pointers to
1027 (reread_symbols): Free psymbol bcache when freeing other objfile
1029 (add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
1030 psymbol using the psymbol bcache.
1031 (init_psymbol_list): Psymbol lists now contain pointers rather than
1032 the actual psymbols.
1033 * symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
1034 grown arrays of pointers.
1035 (ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
1037 * symmisc.c (print_partial_symbols): Now takes pointer to pointer
1039 (print_symbol_bcache_statistics): New function to print per objfile
1041 (print_partial_symbol, print_partial_symbols,
1042 maintenance_check_symtabs, extend_psymbol_list):
1043 Account for change to pointer to pointer to partial symbol.
1044 * symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
1045 make_symbol_completion_list):
1046 Account for change to pointer to pointer to partial symbol.
1047 * symtab.h (bcache.h): Include.
1048 * xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
1049 type "partial_symbol **".
1053 * dwarfread.c (free_utypes): New function.
1054 (read_file_scope): Call free_utypes as cleanup, rather than just
1055 freeing the utypes pointer.
1059 * demangle.c (is_cplus_marker): New function, checks if a
1060 character is one of the commonly used C++ marker characters.
1061 * defs.h (is_cplus_marker): Add prototype.
1062 * c-typeprint.c (c_type_print_base), ch-lang.c (chill_demangle),
1063 cp-valprint.c (cp_print_class_method), mdebugread.c (parse_symbol),
1064 stabsread.c (define_symbol, read_member_functions, read_struct_fields),
1065 symtab.h (OPNAME_PREFIX_P, VTBL_PREFIX_P, DESTRUCTOR_PREFIX_P),
1066 values.c (vb_match): Use is_cplus_marker instead of comparison
1071 * symfile.h (INLINE_ADD_PSYMBOL): Default this to 0 and possibly
1072 delete entirely someday.
1076 * mpw-make.sed: Edit out makefile rebuild rule.
1077 (host_alias, target_alias): Comment out instead of deleting.
1078 (@LIBS@): Edit out references.
1082 * symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):
1083 Use n_psyms in OBJSTAT, not psyms.
1087 * configure.in (sparclet-*-aout*): New config.
1088 * configure: Regenerated.
1092 * somsolib.c (som_solib_add): Use xmalloc rather than bare
1093 unchecked call to malloc.
1094 * remote-mips.c (pmon_load_fast): ditto.
1095 * remote-mm.c (mm_open): ditto.
1096 * hpread.c (hpread_lookup_type): ditto.
1097 * remote-adapt.c (adapt_open): ditto.
1101 * f-lang.c (allocate_saved_bf_node, allocate_saved_function_node,
1102 allocate_saved_f77_common_node, allocate_common_entry_node,
1103 add_common_block): Use xmalloc rather than malloc, some of which
1105 * gnu-regex.c: At same point as other gdb specific changes
1106 #undef malloc and then #define it to xmalloc.
1107 * ch-exp.c (growbuf_by_size): Use xmalloc/xrealloc rather than
1108 bare unchecked calls to malloc/realloc.
1109 * stabsread.c (dbx_lookup_type): Use xmalloc rather than bare
1110 unchecked call to malloc.
1114 * symtab.c (gdb_mangle_name): Change opname var to be const to
1115 match return val of cplus_mangle_name.
1116 * i960-tdep.c: Change arg types of next_insn to match callers.
1120 * config/i386/linux.mh (XM_CLIBS, GDBSERVER_LIBS): Remove. These
1121 apparently aren't needed in any reasonably recent version of
1126 * stabsread.c (read_range_type): If !self-subrange and language
1127 is Chill, assume a true range. If a true_range is a sub_subrange,
1128 use builtin_type_int for index_type.
1132 * nindy-share/nindy.c (say): Use stdarg.h macros when compiling
1133 with an ANSI compiler.
1135 start-sanitize-gdbtk
1138 * gdbtk.tcl (create_file_win): Eliminate text widget B1 binding so
1139 double-clicking will work again.
1140 (create_asm_win): Put "break" at end of all B1 bindings.
1141 (create_file_win): Lower "sel" tag, don't raise it.
1142 (ensure_line_visible): New proc.
1143 (update_listing, update_assembly): Use it.
1144 (create_copyright_window): Destroy window on Leave event.
1145 (create_command_window): Put "break" at end of all B2 bindings.
1151 * valops.c (value_arg_coerce): Coerce float to double, unless the
1152 function prototype specifies float.
1156 * language.c (set_language_command): Use languages table when
1157 printing available languages.
1162 * command.c (add_cmd): Add missing initialization for enums member.
1163 Reorder members to match structure declaration to make it easier to
1164 tell when one is missing.
1165 * exec.c (exec_file_command): Fix problem where filename in malloc'd
1166 memory is referenced after being freed.
1170 * dwarfread.c (read_func_scope): Avoid GDB core dumps if
1171 AT_name tag is missing.
1173 * procfs.c (procfs_stopped_by_watchpoint): Fix logic when
1174 FLTWATCH and FLTKWATCH are defined.
1176 * remote.c (remote_read_bytes): Advance memaddr for transfers,
1177 return number of bytes transferred for partial reads.
1179 * top.c (init_signals): Reset SIGTRAP to SIG_DFL.
1183 * win32-nat.c (mappings): Add ppc registers.
1184 (child_resume): Turn off step for ppc.
1188 * config/powerpc/(cygwin32.mh, cygwin32.mt, tm-cygwin32.h,
1189 xm-cygwin32.h): New.
1190 * config/i386/(*win32*): Becomes *cygwin32*.
1191 * configure.in (i[3456]86-*-win32*): Becomes i[3456]86-*-cygwin32.
1192 (powerpcle-*-cygwin32): New.
1193 * configure: Regenerate.
1194 * win32-nat.c (child_create_inferior): Call CreateProcess
1195 with the right program arg.
1199 * config/pa/tm-hppa.h (SOFT_FLOAT): Provide a default definition.
1203 * serial.c: Change fputc/fputs/fprintf to _unfiltered forms.
1207 * config/sparc/xm-sun4os4.h (HAVE_TERMIOS): Remove.
1209 * config/sparc/xm-sparc.h (HAVE_WAIT_STRUCT): Remove, never used.
1211 * config/i386/nm-i386mach.h (CHILD_PREPARE_TO_STORE): Move to
1212 here from config/i386/xm-i386mach.h, fix name.
1213 * config/i386/nm-sun386.h: Ditto, from config/i386/xm-sun386.h.
1214 * config/i386/nm-ptx4.h (CHILD_PREPARE_TO_STORE): Move to
1215 here from config/i386/xm-ptx4.h.
1216 * config/i386/nm-ptx4.h: Ditto, from config/i386/xm-ptx.h.
1217 * config/i386/nm-symmetry.h: Ditto, from config/i386/xm-symmetry.h.
1218 * config/m68k/nm-sun3.h: Ditto, from config/m68k/xm-sun3.h.
1219 * config/sparc/nm-nbsd.h: Ditto, from config/sparc/xm-nbsd.h.
1220 * config/sparc/nm-sun4os4: Ditto, from config/sparc/xm-sparc.h.
1222 * config/sparc/nm-sun4sol2.h: New file, renamed from nm-sysv4.h.
1223 (PRSVADDR_BROKEN): Move here from xm-sun4sol2.h.
1224 * config/sparc/sun4sol2.mh (NAT_FILE): Update.
1228 * config/pa/tm-hppa.h (EXTRACT_RETURN_VALUE): Handle software
1229 floating point correctly.
1230 (STORE_RETURN_VALUE): Likewise.
1231 * config/pa/tm-pro.h (SOFT_FLOAT): define.
1235 * config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
1236 Define to what should be reasonable values. However, apparently
1237 a bug in linux mmap prevents mapped symbol tables from working.
1241 * defs.h (errno.h>: Move #include closer to head of file to solve
1242 obscure problem with systems that declare perror with const arg, in
1243 both errno.h and stdio.h, and const is defined away by intervening
1249 * i386-stub.c (getpacket): Change fprintf stream from "gdb" to stderr.
1250 (mem_fault_routine): Fix misplaced volatile type qualifier in decl.
1254 * Makefile.in (diststuff): Make all-doc; diststuff target does not
1255 exist in doc/Makefile.in.
1259 * config/m88k/xm-cxux.h (BP_HIT_COUNT): Remove, never used.
1263 * ch-valprint.c (calculate_array_length): New function to
1264 determine the length of an array type.
1265 (chill_val_print (case TYPE_CODE_ARRAY)): If the length of an
1266 array type is zero, call calculate_array_length.
1268 * gdbtypes.c (get_discrete_bounds (case TYPE_CODE_ENUM)): The
1269 values may not be sorted. Scan all entries and set the real lower
1274 * config/xm-linux.h: Move include of solib.h and #define of
1275 SVR4_SHARED_LIBS from here ...
1276 * config/nm-linux.h: ...to here.
1280 * configure.in (AC_CHECK_HEADERS): Check for sys/procfs.h.
1281 Also check for gregset_t and fpregset_t types.
1282 * configure: Regenerate.
1283 * core-regset.c (sys/procfs.h): Only include if HAVE_SYS_PROCFS_H
1285 (fetch_core_registers): Turn into stub unless both HAVE_GREGSET_T
1286 and HAVE_FPREGSET_T are defined. These changes allow systems
1287 like linux that are migrating to /proc support to use a single
1288 configuration for both new and old versions.
1290 * config/i386/linux.mt: Note that this is now for both a.out and
1292 * config/i386/linux.mh (NATDEPFILES): Add solib.o, core-regset.o,
1294 * config/i386/tm-linux.h (tm-sysv4.h): Include.
1295 * config/i386/xm-linux.h (solib.h): Include
1296 (SVR4_SHARED_LIBS): Define.
1297 * i386v4-nat.c: Only compile if HAVE_SYS_PROCFS_H is defined.
1298 (supply_gregset, fill_gregset): Compile if HAVE_GREGSET_T defined.
1299 (supply_fpregset, fill_fpregset): Compile if HAVE_FPREGSET_T
1304 * config/sparc/xm-sparc.h (NEW_SUN_CORE): Remove, never used.
1305 * config/i386/xm-sun386.h: Ditto.
1306 * config/m68k/xm-sun2.h, config/m68k/xm-sun3.h: Ditto.
1310 * Makefile.in (INSTALLED_LIBS, CLIBS): Include @LIBS@.
1315 * dcache.c (dcache_peek, dcache_poke): Advance addr for
1320 * infrun.c (normal_stop): Fix test for shared library event.
1324 * configure.in (sparc64-*-*): Add default host configuration.
1325 start-sanitize-gdbtk
1326 (sparc64-*-solaris2* host): Link statically if GCC used.
1328 (sparc64-*-solaris2*): Add target configuration.
1329 * configure: Regenerated.
1330 * sparc/sp64sol2.mt: New file.
1334 * Makefile.in (RUNTEST): srcdir renamed to rootsrc.
1338 * Makefile.in (lint): Close backquotes.
1340 start-sanitize-gdbtk
1343 * gdbtk.tcl, gdbtk.c: Updated copyrights.
1345 * configure.in: Look for -ldl or -ldld when using Tcl 7.5 or
1347 * configure: Rebuilt.
1352 * NEWS: Make note of new record and replay feature for
1353 remote debug sessions.
1354 * serial.c (gdbcmd.h): Include.
1355 (serial_logfile, serial_logfp, serial_reading, serial_writing):
1356 Define here, for remote debug session logging.
1357 (serial_log_command, serial_logchar, serial_write, serial_readchar):
1358 New functions for remote debug session logging.
1359 (serial_open): Open remote debug session log file when needed.
1360 (serial_close): Close remote debug session log file when needed.
1361 (_initialize_serial): Add set/show commands for name of remote
1362 debug session log file.
1363 * serial.h (serial_readchar): Declare
1364 (SERIAL_READCHAR): Call serial_readchar().
1365 (SERIAL_WRITE): Call serial_write().
1366 (serial_close): Declare as extern.
1367 (serial_logfile, serial_logfp): Declare.
1368 * top.c (execute_command): Declare serial_logfp. Log user command
1369 in remote debug session log if log file is open.
1370 * remote-array.c (array_wait): #ifdef out echo to gdb_stdout.
1371 (array_read_inferior_memory): Rewrite to fix memory overwrite bug.
1372 * remote-array.c (SREC_SIZE): Remove, duplicates define in
1374 * remote-array.c (hexchars, hex2mem): Remove, unused.
1375 * gdbserver/low-linux.c (store_inferior_registers): Remove
1376 unnecessary extern declaration of registers[].
1377 * gdbserver/Makefile.in (all): Add gdbreplay.
1378 * gdbserver/gdbreplay.c: New file.
1379 * gdbserver/README: Give example of recording a remote
1380 debug session with gdb and then replaying it with gdbreplay.
1384 * stabsread.c (rs6000_builtin_type): Make bool type unsigned.
1385 (read_one_struct_field): Support boolean bitfields.
1386 * c-valprint.c (c_val_print): Print booleans properly.
1390 * remote-vxsparc.c (vx_convert_to_virtual, vx_convert_from_virtual):
1392 * config/sparc/vxsparc.mt (TDEPFILES): Add remote-vxsparc.o.
1396 * ch-exp.c (parse_tuple): Error if invalid mode.
1398 * value.h (COERCE_ARRAY): Don't coerce enums.
1399 (COERCE_ENUM): Don't COERCE_REF.
1400 (COERCE_NUMBER): New macro (same as COERCE_ARRAY then COERCE_ENUM).
1401 * valops.c (value_assign): Only do COERCE_ARRAY if internalvar (let
1402 value_cast handle it otherwise); do *not* COERCE_ENUM either way.
1403 * valarith.c: Use COERCE_NUMBER instead od COEREC_ARRAY.
1404 Add COERCE_REF before COERCE_ENUM.
1405 * values.c (value_as_long): Simplify.
1407 * valops.c (value_array): Create internalvar if !c_style_arrays.
1409 * language.c (lang_bool_type): Add Fortran support.
1410 * eval.c (OP_BOOL): Use LA_BOOL_TYPE.
1414 * symfile.c (auto_solib_add): Renamed from auto_solib_add_at_startup.
1415 All references changed.
1416 * breakpoint.c (bpstat_what): Add shlib_event to the class types.
1417 Update state table. Reformat so that it's still readable.
1418 When we hit the shlib_event breakpoint, set the calss of shlib_event.
1419 (breakpoint_1): Add "shlib events" as a breakpoint type.
1420 Print the shlib_event breakpoint like other breakpoints.
1421 (create_solib_event_breakpoint): New function.
1422 (breakpoint_re_set_one): Handle solib_event breakpoints.
1423 * breakpoint.h (enum bytype): Add bp_shlib_event breakpoint type.
1424 (enum bpstat_what_main_action): Add BPSTAT_WHAT_CHECK_SHLIBS
1426 (create_solib_event_breakpoint): Declare.
1427 * infrun.c (wait_for_inferior): Handle CHECK_SHLIBS bpstat.
1428 (normal_stop): Inform the user when the inferior stoped due
1429 to a shared library event.
1430 (_initialize_infrun): Add new set/show variable "stop-on-solib-events"
1431 to control whether or not gdb continues the inferior or stops it when
1432 a shared library event occurs.
1433 * minsyms.c (lookup_minimal_symbol_solib_trampoline): New function.
1434 * somsolib.c (TODO list): Update.
1435 (som_solib_create_inferior_hook): Arrange for gdb to be notified
1436 when significant shared library events occur.
1437 * hppa-tdep.c (find_unwind_entry): No longer static.
1441 * printcmd.c (print_insn): Pass fprintf_unfiltered to
1442 INIT_DISASSEMBLE_INFO.
1443 start-sanitize-gdbtk
1444 * gdbtk.c (gdb_disassemble): Likewise.
1449 * remote.c (remotebreak): New GDB variable.
1450 (remote_break): New global.
1451 (remote_interrupt): Send a break instead of ^C if remote_break.
1452 * NEWS: Describe the new variable.
1456 * sparc-tdep.c (_initialize_sparc_tdep): Always use print_insn_sparc.
1460 * hp300ux-nat.c (getpagesize): Remove unused function
1461 fetch_core_registers.
1462 (hp300ux_core_fns): Remove, is unused.
1463 (_initialize_core_hp300ux): Remove, is unused.
1464 (gdbcore.h): Remove #include, no longer needed.
1468 * rs6000-nat.c (exec_one_dummy_insn): Rework to avoid
1469 ptrace bug in aix4.1.3 on the rs6000.
1473 * remote-hms.c (hms_ops): Add value for to_thread_alive.
1474 * remote-nindy.c (nindy_ops): Ditto.
1475 * remote-udi.c (udi_ops): Ditto.
1479 * remote-mips.c (pmon_opn, pmon_wait, pmon_makeb64, pmon_zeroset,
1480 pmon_checkset, pmon_make_fastrec, pmon_check_ack,
1481 pmon_load_fast): New functions. Support for the PMON monitor world.
1482 (common_open): New function to merge support for different monitors.
1483 (mips_open): Use common_open().
1484 (mips_send_command): New function.
1485 (mips_send_packet): Scan out-of-sequence packets.
1486 (mips_enter_debug, mips_exit_debug): New functions.
1487 (pmon_ops): New target definition structure.
1491 * Makefile.in (CLIBS): Add LIBS to allow libraries to be
1492 specified on the make command line (via make LIBS=xxx).
1494 * configure.in (enable-gm): magic.o -> gmagic.o.
1497 start-sanitize-gdbtk
1500 * gdbtk.tcl (create_expr_window): Many changes to update GUI.
1501 (add_expr): Changes from create_expr_window.
1502 (create_command_window): Set focus.
1503 (delete_expr): Rewrote.
1504 (expr_update_button): New proc.
1505 (add_expr): Put bindings on FocusIn, FocusOut.
1506 Don't allow .file_popup to be torn off.
1511 * symtab.c (find_pc_symtab): Don't lose if OBJF_REORDERED
1512 is set but there are no psymtabs.
1516 * dsrec.c (load_srec): Remove unused variable.
1517 * monitor.c (monitor_expect): Don't expect a ^C to echo.
1518 * serial.c (serial_open): Add parallel interface.
1519 * sh3-rom.c (parallel, parallel_in_use): New.
1520 (sh3_load): If parallel_in_use, download though the
1522 (sh3_open): Open parallel port if specified.
1523 (sh3_close): New function.
1524 (_inititalize_sh3): Add sh3_close hook and documentation.
1525 * monitor.c (monitor_close): Export.
1526 * monitor.h (monitor_close): Add prototype.
1531 * remote.c (remotetimeout): New GDB variable, use to set the
1532 remote timeout for reading.
1534 start-sanitize-gdbtk
1537 * gdbtk.tcl (gdbtk_tcl_query): Swap Yes and No buttons.
1538 (update_listing): Use lassign. Use "see" to scroll. Don't need
1539 screen_top, screen_bot, screen_height.
1540 (update_assembly): Use "see" to scroll.
1541 (textscrollproc): Removed.
1542 (create_file_win): Don't use textscrollproc.
1543 (asmscrollproc): Removed.
1544 (create_asm_window): Don't use asmscrollproc.
1545 (create_asm_win): Ditto.
1546 (screen_height, screen_top, screen_bot): Removed.
1547 (run_editor): New proc.
1548 (build_framework): Use it.
1549 (create_file_win, create_source_window): Don't use textscrollproc.
1550 (create_breakpoints_window): Set -xscrollcommand on canvas.
1551 (not_implemented_yet): Default button is 0.
1552 (delete_char): Don't use tk_textBackspace.
1553 (create_command_window): Allow Tk bindings to fire after deleting
1555 (create_command_window): Make Delete delete left, not right.
1560 * lynx-nat.c, irix4-nat.c, sparc-nat.c: Include gdbcore.h
1561 to get "struct core_fns" defined.
1562 * Makefile.in (lynx-nat.o, irix4-nat.o, sparc-nat.o):
1563 Are dependent upon gdbcore_h.
1567 * symfile.c (decrement_reading_symtab): New function.
1568 * symfile.c, symtab.h (currently_reading_symtab): New variable.
1569 * symfile.c (psymtab_to_symtab): Adjust currently_reading_symtab.
1570 * gdbtypes.c (check_typedef): Don't call lookup_symbol if
1571 currently_reading_symtab (since that could infinitely recurse).
1575 * stabsread.c (read_struct_type): Trivial simplification.
1577 * stabsread.c (define-symbol): Use invisible references
1578 for TYPE_CODE_SET and TYPE_CODE_BITSTRING too.
1579 * valops.c (call_function_by_hand): Likewise.
1580 * eval.c (evaluate_subexp_standard): When known, use the formal
1581 parameter type as the expected type when evaluating arg expressions.
1582 * ch-lang.c (evaluate_subexp_chill): Likewise (for MULTI_SUBSCRIPT).
1584 start-sanitize-gdbtk
1587 * main.c (main): Disable window interface if --help or --version
1590 * gdbtk.tcl (FSBox): Don't use tk_listboxSingleSelect.
1592 Changes in sync with expect:
1593 * configure.in (ENABLE_GDBTK): Use CY_AC_PATH_TCL and
1595 * aclocal.m4: Replaced with version from expect.
1596 * configure: Regenerated.
1601 * configure.in, configure: Recognize rs6000-*-aix4*.
1602 * config/powerpc/xm-aix.h: Reduce to include "xm-aix4.h".
1603 * config/rs6000/aix4.mh (XM_FILE): Point to xm-aix4.h.
1604 * config/rs6000/xm-aix4.h: New file.
1605 * config/xm-aix4.h: New file.
1610 * gdbserver/low-linux.c: New file.
1611 * remote.c (remote_read_bytes): Fix aborts on larger packets.
1613 * config/i386/linux.mh (GDBSERVER_DEPFILES, GDBSERVER_LIBS):
1615 * stabsread.c (define_symbol): If register value is too large,
1616 tell what it is and what max is.
1618 start-sanitize-gdbtk
1621 * gdbtk.tcl (gdbtk_tcl_fputs, gdbtk_tcl_fputs_error,
1622 gdbtk_tcl_flush): Use "see", not "yview".
1623 (gdbtk_tcl_query): Use questhead bitmap.
1624 various: Always wrap condition of 'if' in {...}.
1625 (add_breakpoint_frame): Set -value on radiobuttons.
1626 (lassign): New proc.
1627 (add_breakpoint_frame): Use lassign, not series of assignments.
1628 (decr): Made faster.
1629 (interactive_cmd): Use "see", not "yview".
1630 (not_implemented_yet): Use warning bitmap.
1631 (update_expr): Don't allow $expr to be evalled by Tcl.
1632 (create_expr_window): Don't use "focus".
1633 (delete_char, delete_line): Define globally.
1634 (delete_line, delete_char, create_command_window, update_autocmd,
1635 build_framework, create_asm_win, create_file_win): Use "see", not
1637 (create_copyright_window, center_window, bind_widget_after_class):
1639 (FSBox,create_command_window, create_autocmd_window): Binding
1641 (textscrollproc): Define globally.
1642 (build_framework): tk_menuBar no longer needed. Keys Prior, Next,
1643 Home, End, Up, and Down are all defined by Tk.
1644 (apply_filespec): Use error bitmap in dialog.
1645 (files_command): Don't use tk_listboxSingleSelect.
1646 (files_command): Don't use "uniq" to remove duplicates from a
1648 (update_assembly): Use lassign.
1649 (create_asm_win): Removed redundant bindings.
1650 (listing_window_button_1, file_popup_menu): Use tk_popup.
1651 (ButtonRelease-1 binding): Just remove tag from window; rest
1654 * gdbtk.c (gdbtk_query): Use Tcl_Merge to provide quoting.
1655 (call_wrapper): Use Tcl_Eval, not Tcl_VarEval.
1656 (gdbtk_call_command): Ditto.
1661 * hpread.c (hpread_build_psymtabs): Finish Jan 4th
1662 enum namespace -> enum_namespace change.
1666 * ch-exp.c (parse_primval): In case ARRAY, add missing
1671 * remote-mips.c (mips_receive_header): Recognize \012 instead
1672 of \n, but write \n when program sends a \012.
1673 * ser-mac.c (mac_input_buffer): Increase size of buffer.
1677 * infptrace.c (initialize_infptrace): Move function out of
1678 #ifdef conditional; put code within the function inside an
1681 * buildsym.c (end_symtab): Remove sort_pending and sort_linevec
1682 arguments. Sorting is now dependent on OBJF_REORDERED. All
1683 callers/references changed.
1684 * dbxread.c (read_ofile_symtab): Correctly determine value for
1685 last_source_start_addr for reordered executables.
1686 (process_one_symbol): Handle N_FUN with no name as an end of
1688 * partial-stab.h (case N_FN, N_TEXT): Don't assume CUR_SYMBOL_VALUE
1689 is the high text address for a psymtab.
1690 (case N_SO): Likewise.
1691 (case N_FUN): Handle N_FUN with no name as an end of function
1693 * minsyms.c (lookup_minimal_symbol_by_pc): Examine all symbols
1694 at the same address rather than a random subset of them.
1695 * coffread.c (coff_symfile_init): Set OBJF_REORDERED.
1696 * elfread.c (elf_symfile_init): Similarly.
1697 * somread.c (som_symfile_init): Similarly.
1698 * xcoffread.c (xcoff_symfile_init): Similarly.
1702 * stack.c (print_stack_frame print_frame_info) symmisc.c
1703 (dump_symtab): Change RETURN_MASK_ERROR to RETURN_MASK_ALL so
1704 that catch_errors doesn't get blindsided by QUIT and lose the
1705 cleanup chain. This fixes a problem where ^C while in a
1706 user-defined command sometimes leaves instream NULL and causes a
1707 segfault in command_loop.
1711 * configure.in, configure: Add `-ldl -lw' for Solaris linking.
1715 * config/sh/sh.mt, config/powerpc/*.mt, config/pa/hppapro.mt,
1716 config/m68k/monitor.mt, config/h8500/h8500.mt, config/h8300/h8300.mt:
1717 srec.o renamed to dsrec.o.
1721 * breakpoint.c (remove_breakpoint): Change error to warning so
1722 that hardware watchpoint removal problems won't leave breakpoint
1723 traps in the target.
1724 start-sanitize-gdbtk
1725 * configure configure.in: Make --enable-gdbtk be the default.
1727 * remote-e7000.c (e7000_insert_breakpoint,
1728 e7000_remove_breakpoint): Use e7000 based breakpoints, not memory
1730 * (e7000_wait): Adjust PC back by two when we see a breakpoint to
1731 compensate for e7000 maladjustment.
1732 * sparcl-tdep.c (sparclite_check_watch_resources): Fix logic bug
1733 which prevented hardware watchpoints from working.
1737 * infptrace.c (udot_info): New function.
1738 (PT_*): Define each individually if that one is not defined.
1739 * rs6000-nat.c (kernel_u_size): New function
1740 Include <sys/user.h> for "struct user"
1741 * alpha-nat.c (kernel_u_size): New function.
1742 Include <sys/user.h> for "struct user"
1743 * sparc-nat.c (kernel_u_size): New function.
1744 Include <sys/user.h> for "struct user"
1745 * i386b-nat.c (kernel_u_size): New function.
1746 * i386v-nat.c (kernel_u_size): New function.
1747 * config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define.
1748 (kernel_u_size): Declare.
1749 * config/i386/nm-linux.h (KERNEL_U_SIZE): Define.
1750 (kernel_u_size): Declare.
1751 * config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define.
1752 (kernel_u_size): Declare.
1753 * config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define.
1754 (kernel_u_size): Declare.
1755 * config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define.
1756 (kernel_u_size): Declare.
1760 * mdebugread.c (mylookup_symbol): enum namespace becomes
1761 enum_namespace type.
1762 * symfile.c (add_psymbol_to_list)
1763 (add_psymbol_addr_to_list): Ditto.
1764 * symtab.c (lookup_partial_symbol): Ditto.
1765 (lookup_symbol): Ditto.
1766 (lookup_block_symbol): Ditto.
1767 * win32-nat.c (handle_load_dll): Use incoming dll base.
1768 (child_wait): Catch DLL load errors.
1769 (create_child_inferior): Translated between paths correctly.
1773 * i386v4-nat.c (supply_gregset, fill_gregset): Subtract NUM_FREGS
1774 from NUM_REGS to get number of general registers that we care about.
1775 * config/i386/tm-i386.h (REGISTER_BYTES): Define in terms
1776 of number of general regs and number of floating point regs.
1780 * config/i386/tm-win32.h (IN_SOLIB_CALL_TRAMPOLINE): New.
1781 (SKIP_TRAMPOLINE_CODE): New.
1782 * config/i386/xm-win32.h (CANT_FORK): Deleted.
1783 (SLASH*) Changed to use unix style slash.
1784 * symtab.h (namespace enum): becomes typedef to avoid namespace
1786 * infcmd.c (path_command): Use empty string if PATH name not set.
1787 * i386-tdep.c (skip_trampoline_code): New function.
1788 * srec.c: Renamed dsrec.c to avoid filename collision.
1789 * Makefile.in: Cope with renaming.
1793 * symmisc.c (print_objfile_statistics): Print memory use statistics
1794 for objfile psymbol, symbol, and type obstacks.
1798 * config/mips/nm-irix5.h: Restore.
1799 (TARGET_HAS_HARDWARE_WATCHPOINTS, etc): Define as for Irix 4;
1801 * config/mips/irix5.mh (NAT_FILE): Use nm-irix5.h.
1802 * config/mips/irix[345].mh (MUNCH_DEFINE): Remove.
1804 For older changes see ChangeLog-95
1810 version-control: never