* (sol_thread_resume): Prevent people from trying to step
inactive threads.
* (sol_thread_wait sol_thread_fetch_registers
sol_thread_store_registers): Remove unnecessary check for
sol_thread_active. These routines won't get called unless threads
are active.
Print out messages instead of codes for thread_db errors. Make
access macros for thread and lwp manipulation. Make cleanups to
fixup inferior_pid in case of errors.
infrun.c, mac-nat.c, procfs.c, remote.c, sol-thread.c, thread.c,
win32-nat.c, config/nm-lynx.h: Rename thread.h to gdbthread.h to
avoid conflict with Solaris /usr/include/thread.h.
that is referenced nowhere else.
(set_breakpoint): Ditto.
(do_enable_breakpoint): Created from enable_once_breakpoint
with a couple of changes.
(enable_breakpoint): Call do_enable_breakpoint with an appropriate
bpdisp enum value to set disposition of breakpoint.
(enable_once_breakpoint): Ditto.
(enable_delete_breakpoint): Ditto.
* breakpoint.h (clear_momentary_breakpoints): Remove prototype.
* symtab.c (find_pc_line): Improve comments.
* gdbtk.c: Fix a couple of misspellings.
* xcoffread.c: Ditto.
returns a possibly modified pid.
* inftarg.c (ptrace_him): Now returns pid;
* m3-nat.c (m3_trace_him): Now returns pid;
* infcmd.c (run_command): Minor cleanup.
* infrun.c (wait_for_inferior): Add another check for one_stepped
near where we read the pc to avoid erroneously setting
random_signal for multi-threaded support.
* procfs.c: Add support for Solaris LWPs. Remove def of
LOSING_POLL. Many cleanups... Several workarounds for Solaris
lossage. System call entry and exit are now handled by
dynamically registered handlers.
* (syscallname): Don't barf when handed an unknown syscall
number.
* (info_proc_syscalls): Ditto.
* sol-thread.c: New file. Implements Solaris thread support.
* symfile.c (symbol_file_add): Add call to target_new_objfile to
notify target-dependent code about new symbol tables.
* (clear_symtab_users): Call target_new_objfile to notify it of
the removal of all symbol tables.
* target.c (push_target): Make sure that to_close is non-zero
before calling it.
* target.h (target_new_objfile): Provide default.
* config/alpha/nm-osf2.h: Define LOSING_POLL because this version
of OSF can't hack using poll with /proc.
* config/sparc/nm-sun4sol2.h (target_new_objfile): Define to be
sol-thread-new-objfile.
* config/sparc/sun4sol2.mh: Add sol-thread.o to NATDEFFILES, and
add libthread_db.so.1 to NAT_CLIBS.
* config/sparc/tm-sun4sol2.h: Define PIDGET, TIDGET, and
target_pid_to_str.
(insert_breakpoint_tag, delete_breakpoint_tag): Fix range.
(file_popup_menu): Delete, never used.
(listing_window_popup): Rename from listing_window_button_1,
remove breakpoint toggling code.
(toggle_breakpoint): New procedure.
(create_file_win): Bind popup menu to button 2, toggle breakpoints
with button 1 in breakpoint area, add display of tagged areas if
debugging on.
* breakpoint.h (enum bpdisp): Add del_at_next_stop.
* breakpoint.c (insert_breakpoints, watchpoint_check,
bpstat_stop_status): Avoid bad references to memory freed via
delete_breakpoint on watchpoints going out of scope.
Do not delete these watchpoints, disable them and change their
disposition to del_at_next_stop instead.
(breakpoint_auto_delete): Delete all breakpoints whose disposition
is del_at_next_stop.
(breakpoint_init_inferior): Use switch to avoid reference to
already deleted breakpoint.
Fixes dangling pointer problems with watchpoints.
* config/rs6000/rs6000.mh (NATDEPFILES): Move xcoffread.o ...
* config/rs6000/rs6000.mt (TDEPFILES): ... to here
* xcoffsolib.c (xcoff_relocate_symtab_hook): Define and initialize.
(solib_info): Call xcoff_relocate_symtab via the hook.
(sharedlibrary_command): Ditto.
* xcoffread.c: Remove all FAKING_RS6000 comments and defines.
(xcoff_add_toc_to_loadinfo_hook): Define and initialize here.
(xcoff_init_loadinfo_hook): Define and initialize here.
(scan_xcoff_symtab): Call xcoff_add_toc_to_loadinfo via the hook.
(xcoff_initial_scan): Call xcoff_init_loadinfo via the hook.
* xcoffsolib.h (xcoff_relocate_symtab_hook): Declare extern func.
* rs6000-tdep.c (_initialize_rs6000_tdep): Add initializations
of xcoff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
* rs6000-nat.c (_initialize_core_rs6000): Add initialization
of xcoff_relocate_symtab_hook.
(mon960_load): Use current_monitor instead of mon960_cmds.
(mon960_regnames): Remove backslashes from line ends.
(_initialize_mon960): Fix documentation string.
storage leaks.
(breakpoint_re_set_one): Fix b->exp, b->val, b->cond storage leaks.
* infcmd.c (run_command), solib.c (locate_base): Check for
target_has_execution in addition to inferior_pid, a core file
from a threaded program is yielding a non-zero inferior_pid.
* sparc-tdep.c (get_saved_register): Handle window registers
in a dummy frame correctly.
so that anything that wants an allocation function not yet pulled
in, will get it from mmalloc rather than a system library.
* Makefile.in (INSTALLED_LIBS): Reorder to match order of CLIBS,
to avoid surprising results when used.
Fix bug for class data members.
Fix parsing bug when no base classes exist.
Fix memory bug - allocate space for cplusplus specific info.
Add support for static data.
Add prototypes for static functions.
Enhance comments to show what each function expects to parse.
Cleanup code.
* stabsread.c(resolve_cont),dbxread.c(resolve_cont): Rename
function to resolve_cfront_continuation.
outside of #ifdef conditionals. Don't trash the wait status
if we get a signal and the current instruction is nullified.
Fixes long standing problem on the PA (spurious SIGTRAPs)..
hooks.
(call_extra_exec_file_hooks): New function.
* h8300-tdep.c: Lint; add .h files to provide missing declarations,
remove unused variables.
(set_machine_hook): New function.
(_initialize_h8300m): Initialize it.
PR 8849.
before de-referencing it. Prevents deref of NULL pointer if core
file lacks .reg section.
* defs.h: Rename floatformat_{to from}_long_double to
floatformat_{to from}_doublest. Get rid of FLOATFORMAT_{TO
FROM}... macros.
* findvar.c (extract_floating store_floating): Change all refs to
FLOATFORMAT_{FROM TO}... to floatformat_{from to}_doublest.
* utils.c: Change floatformat_{to from}_long_double to
floatformat_{to from}_doublest cuz the new routines will use
whatever size (double or long double) is appropriate.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change FLOATFORMAT... macros to
floatformat... routine calls.
number handling to handling of types proper (as emitted by gcc!).
For typedefs, allocate the typedef type before reading its
definition, to properly handling recursive types.
This fixes PR 9434.
user can attach to a previously running program.
* (nindy_fetch_registers nindy_store_registers): Get rid of fp
conversion code. That's all handled in {extract store}_floating
now.
* utils.c (floatformat_to_double): Don't bias exponent when
handling zero's, denorms or NaNs.
* config/i960/tm-i960.h (REGISTER_CONVERT_TO_VIRTUAL
REGISTER_CONVERT_TO_RAW): Change to using DOUBLST and
FLOATFORMAT_TO/FROM_DOUBLEST macros.
* config/i960/tm-nindy960.h: Undefine
REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW, and
REGISTER_CONVERTIBLE. These are no longer necessary now that all
the magic happens in extract/store_floating.
evaluate subscripts for types which cannot be subscripted.
* valarith.c (value_x_binop, value_x_unop): Add noside parameter.
Return a zero value with the return type of the member function
if noside is EVAL_AVOID_SIDE_EFFECTS instead of calling the member
function.
* values.h (value_x_binop, value_x_unop): Update prototypes
accordingly.
* eval.c (evaluate_subexp_standard): Update all callers of
value_x_binop, value_x_unop accordingly.
* valarith.c (value_neg, value_complement): Perform ANSI C/C++
integral promotion on operands.
* configure.in (AC_CHECK_FUNCS): Also check for sbrk.
* configure: Regenerate with autoconf.
* config.in: Regenerate with autoheader.
* main.c (main): Only use sbrk() when HAVE_SBRK is defined.
* top.c (command_loop): Ditto.
defaults for bi-endian targets. Replace function pointers for
floatformat routines with macros. No need for these to be runtime
selectable.
* findvar.c: Get rid of floatformat function pointers. Use
macros in extract_floating and store_floating.
* remote-nindy.c (nindy_fetch_registers nindy_store_registers):
Use floatformat macros.
* configure.in (AC_CHECK_HEADERS): check for endian.h.
Use AC_CHECK_TOOL to find AR & RANLIB. Add AC_PROG_AWK.
Add host & target cases for i[345]86-*-gnu*.
* config.in: Regenerate with autoheader.
* configure: Regenerate with autoconf.
* Makefile.in (AR, AWK): Set from corresponding autoconf substs.
(init.c): Don't scan mig-generated files.
* defs.h (endian.h): Include if HAVE_ENDIAN_H defined.
* config/nm-m3.h (ATTACH_NO_WAIT): Define.
* infcmd.c (attach_command): Use "#ifndef ATTACH_NO_WAIT"
rather than "#ifndef MACH".
* (dcache_peek dcache_fetch dcache_poke): Make dcache_fetch and
dcache_poke call dcache_xfer_memory directly in order to fix
problems with turning off dcache. dcache_peek is now unnecessary,
so it goes away.
* defs.h: Define new macros HOST_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT
and TARGET_{FLOAT DOUBLE LONG_DOUBLE}_FORMAT to specify a pointer
to a struct floatformat. This allows for better handling of
targets whose floating point formats differ from the host by more
than just byte order.
* (floatformat_to_long_double floatformat_from_long_double):
Prototypes for new functions in utils.c.
* (floatformat_to_doublest floatformat_from_doublest): Prototypes
for pointers to floating point conversion functions. The actual
function uses either double or long double if the host supports it.
* findvar.c (floatformat_to_doublest floatformat_from_doublest):
Initialize to point at correct function depending on HAVE_LONG_DOUBLE.
* (extract_floating store_floating): Rewrite. Now, if host fp
format is the same as the target, we just do a copy. Otherwise,
we call floatformat_{to from}_doublest.
* remote-nindy.c (nindy_xfer_inferior_memory): Change param
`write' to `should_write'.
* utils.c (floatformat_to_long_double
floatformat_from_long_double): New routines that implement long
double versions of functions in libiberty/floatformat.c.
* config/i960/tm-i960.h (TARGET_LONG_DOUBLE_FORMAT): Define this for
i960 extended real (80 bit) numbers.
* nindy-share/nindy.c (ninMemGet ninMemPut): Return number of bytes
actually read or written.
(calculate_array_length): Move function from here ...
* ch-exp.c (calculate_array_length): ... to here.
(parse_primval): If we have a symbol with an array type
and the length is 0, call calculate_array_length.
Add some checks for powerset compatibility.
* valops.c (value_slice): Use lowbound instead of lowerbound for
call to slice_range_type to get correct bounds.
dependencies.
* scm-lang.c (gdb_string.h): Include.
* objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow
call to correct type (char *).
* cp-valprint.c (cp_print_static_field): Ditto.
* somsolib.c (som_solib_create_inferior_hook): Add a declaration
for external find_unwind_entry function (from hppa-tdep.c).
* remote-pa.c (remote_write_bytes, remote_read_bytes): Change
type of second arg to "char *" to be type compatible with
dcache.
(remote_wait): Cast second arg to strtol to correct type.
* hppa-tdep.c (compare_unwind_entries): Change argument types to
"const void *" to be type compatible with qsort, and then
assign to local args prior to use.