TeX.
* gdb.texinfo: Add "@syncodeindex fn cp". Convert all entries
"@kindex f" into "@kindex f (foo)", otherwise we get index entries
like `n' and `s' which look weird. Convert some of the @kindex to
@vindex, when they refer to variables, not commands.
* procfs.c (comments): Eliminate "???" in comments, which GCC
wants to interpret as a trigraph. (fill_gregset, supply_gregset,
fill_fpregset, supply_fpregset): declare.
(procfs_wait): Sysargs is a long, change printf format to match.
(test-mapping, mapping_test, test_mapping_cmd) Remove (test only).
* gdb.base/call-ar-st.exp: Bail out if target is sparclet.
This test depends on parsing the printf output from the target.
Since the sparclet stub doesn't do stdio, this will never work.
* gdb.base/call-rt-st.exp: ditto.
* gdb.base/call-strs: ditto.
* gdb.base/miscexprs.exp: make sizeof long array test portable.
* gdb.base/ending-run.exp: After connecting to a remote target,
but before running, the target will appear to be in a random
location. Specify both a file and a line for breakpoints.
Also, the function that calls main may be called 'init'
rather than 'start'.
(SET_TEXINPUTS): Add $(GDBMI_DIR).
(SFILES_DOC): Add $(GDBMI_DIR)/gdbmi.texinfo.
(gdbmi.texinfo): New target, for texi2roff.
(gdb.me, gdb.ms, gdb.mm): Depend on gdbmi.texinfo.
(gdb.info, gdb_toc.html): Add "-I ${GDBMI_DIR}".
* gdb.texinfo (Top): Add GDB/MI to the main menu and @include
gdbmi.texinfo.
(Mode Options): Add xref to GDB/MI docs and remove a FIXME
comment.
* gdbmi.texinfo: Lots of changes, to include this document as part
of the GDB manual.
* TODO, NEWS: Update due to inclusion of gdbmi.texinfo in the GDB
manual.
run-time test for STACK_ALIGN_P.
* gdbarch.sh: Add support for function and variable predicates.
(STACK_ALIGN): Add. Implement with predicate - STACK_ALIGN_P.
* gdbarch.h, gdbarch.c: Re-generate.
void*.
From Philippe De Muyter <phdm@macqel.be>:
* printcmd.c (print_address_symbolic): Call `make_cleanup' with
`(free_current_contents, &x)', not `(free, x)'.
* utils.c (free_current_contents): Do not `free (NULL)'.
* printcmd.c (print_address_symbolic): Cleanup after a failed
call to build_address_symbolic.
(mempool): Just free any buffer prior to reuse. Don't bother with realloc.
(flag_single_step): New function.
(skip_message): Detect "helpful" Windows CE messages and skip sending them to
the host.
(wait_for_debug_event): Use skip_message to avoid sending debug messages to the
host.
(dispatch): Prelimary implementation of single step detection.
* wince.c: Rework SH single stepping code to be more consistent with other
wince targets.
(handle_output_debug_string): Allow first chance exceptions to come through
since they seem to be all that we get on some versions of Windows CE.
(check_for_step): New function, conditionally compiled based on target.
(regptr): Delete obsolete function.
(handle_exception): Detect illegal instructions.
(get_child_debug_event): Return success only if event code matches target.
(child_create_inferior): Reflect change to get_child_debug_event arguments.
suspended threads.
(safe_symbol_file_add_stub): New function.
(safe_symbole_file_add_cleanup): New function.
(safe_symbol_file_add): New function.
(handle_load_dll): Use wrapper to add DLL symbol information to avoid bogus
errors from non-stabs DLLs.
(handle_exception): Add work around for detection of first exception breakpoint
which does not seem to occur on W2K. Detect more "signals" that can be
effectively passed to the debuggee. Reorganize to eliminate continue_status
global.
(child_continue): Reorganize to eliminate continue_status global.
(child_wait): Ditto.
(child_resume): Ditto.
(get_child_debug_event): Ditto. Recognize when an a breakpoint exception
should be ignored. Change method for signalling when an important event has
occured to the caller.
(child_create_inferior): Use new method for noticing when get_child_debug_event
has found something interesting.
2000-04-20 Scott Bambrough <scottb@netwinder.org>
* arm-linux-nat.c (PIDGET, TIDGET): New.
(get_thread_id, GET_THREAD_ID): New.
(fetch_nwfpe_register, store_nwfpe_register): New.
(fetch_register, store_register): New.
(fetch_fpregister, store_fpregister): New.
(fill_gregset, supply_gregset): New.
(fill_fpregset, supply_fpregset): New.
(fetch_fpregs): Modified to use thread id's.
(store_fpregs): Modified to use thread id's and
fetch_nwfpe_register.
(fetch_regs): Modified to use thread id's.
(store_regs): Modified to use thread id's.
(fetch_inferior_registers): Modified to handle single register
fetches.
(store_inferior_registers): Modified to handle single register
stores.
(arm_linux_register_u_addr): Removed.
* configure.tgt: Added gdbserver to configdirs for arm*-*-linux*.
* config/arm/linux.mh
(NATDEPFILES): Removed core-aout.o. Added core-regset.o.
(LOADLIBES): Define.
* config/arm/nm-linux.h: Include config/nm-linux.h.
(ATTACH_DETACH): Removed. Defined in config/nm-linux.h.
(REGISTER_U_ADDR): Removed.
(SVR4_SHARED_LIBS): Removed. Defined in config/nm-linux.h.
(#include "solib.h"): Removed. Included via config/nm-linux.h.
Since nobody had made any changes to i386v-nat.c on sourceware since
the repository was started, we were still getting the version from the
vendor branch. (If you don't understand how the vendor branch works,
treasure your innocence.) I naively assumed that, to see what changes
had been introduced in version 1.2, one should diff it with 1.1,
as they say in TV Guide, "with hilarious results".
This change simply restores i386v-nat.c to what it used to be before I
started bungling around. The text of this revision should be
identical to that of revision 1.1.1.3, which was the former head of
the trunk. (Yes, 1.1.1.3 was the head of the trunk. As I said,
treasure your innocence.)
* symfile.h (struct section_addr_info ): Remove fields for special
treatment of .text, .data and .bss sections.
* solib.c (symbol_add_stub): The special field text_addr is not
available anymore. Search for the .text field the hard way.
* symfile.c (build_section_addr_info_from_section_table): Don't
fill in {text, data, bss}_addr any more.
(default_symfile_offsets): Don't use {text, data, bss}_addr fields
to fill in section_offsets for objfile.
(syms_from_objfile): Don't deal with {text, data, bss}_addr as a
special case anymore.
(add_symbol_file_command): Ditto.
* symfile.c (add_symbol_file_command): Rewrite the arguments
processing part. Simplify syntax of command. Remove support for
rombug.
(_initialize_symfile): Update help message for add-symbol-file
command.
* gdbarch.sh (IEEE_FLOAT): New entry.
* gdbarch.c, gdbarch.h: Regenerated.
* valprint.c (IEEE_FLOAT): Provide a default #definition for this.
(print_floating): Use IEEE_FLOAT as if it were an expression; use
the code specific to IEEE-format numbers whenever the value of
IEEE_FLOAT is non-zero.
* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h,
config/h8300/tm-h8300.h, config/i386/tm-i386.h,
config/i960/tm-i960.h, config/m88k/tm-m88k.h,
config/mips/tm-mips.h, config/pa/tm-hppa.h,
config/sparc/tm-sparc.h, config/delta/tm-delta.h,
config/frv/tm-frv.h (IEEE_FLOAT): For all ports that #define
IEEE_FLOAT, make sure they give it the value (1).
functions which architectures can redefine, defaulting to
generic_pointer_to_address and generic_address_to_pointer.
* findvar.c (extract_typed_address, store_typed_address,
generic_pointer_to_address, generic_address_to_pointer): New
functions.
(POINTER_TO_ADDRESS, ADDRESS_TO_POINTER): Provide default
definitions.
(extract_address, store_address): Doc fixes.
* values.c (value_as_pointer): Doc fix.
(value_from_pointer): New function.
* defs.h (extract_typed_address, store_typed_address): New
declarations.
* inferior.h (generic_address_to_pointer,
generic_pointer_to_address): New declarations.
* value.h (value_from_pointer): New declaration.
* ax-gdb.c (const_var_ref): Use value_from_pointer, not
value_from_longest.
* blockframe.c (generic_push_dummy_frame): Use read_pc and
read_sp, not read_register.
* c-valprint.c (c_val_print): Use extract_typed_address instead of
extract_address to extract vtable entries and references.
* cp-valprint.c (cp_print_value_fields): Use value_from_pointer
instead of value_from_longest to extract the vtable's address.
* eval.c (evaluate_subexp_standard): Use value_from_pointer
instead of value_from_longest to compute `this', and for doing
pointer-to-member dereferencing.
* findvar.c (read_register): Use extract_unsigned_integer, not
extract_address.
(read_var_value): Use store_typed_address instead of store_address
for building label values.
(locate_var_value): Use value_from_pointer instead of
value_from_longest.
* hppa-tdep.c (find_stub_with_shl_get): Use value_from_pointer,
instead of value_from_longest, to build arguments to __d_shl_get.
* printcmd.c (set_next_address): Use value_from_pointer, not
value_from_longest.
(x_command): Use value_from_pointer, not value_from_longest.
* tracepoint.c (set_traceframe_context): Use value_from_pointer,
not value_from_longest.
* valarith.c (value_add, value_sub): Use value_from_pointer, not
value_from_longest.
* valops.c (find_function_in_inferior, value_coerce_array,
value_coerce_function, value_addr, hand_function_call): Same.
* value.h (COERCE_REF): Use unpack_pointer, not unpack_long.
* values.c (unpack_long): Use extract_typed_address to produce
addresses from pointers and references, not extract_address.
(value_from_longest): Use store_typed_address instead of
store_address to produce pointer and reference values.
* acconfig.h (HAVE_PRGREGSET_T, HAVE_PRFPREGSET_T, HAVE_LWPID_T,
HAVE_PSADDR_T): Add them here instead of in config.in.
* acconfig.h (PRFPREGSET_T_BROKEN): New define.
* configure.in: Add check for broken prfpregset_t type.
* lin-thread.c (gdb_prfpregset): New typedef, depends on
definition of PRFPREGSET_T_BROKEN.
(ps_lgetfpregs, ps_lsetfpregs, p_td_thr_getfpregs,
p_td_thr_setfpregs, thread_db_fetch_registers,
thread_db_store_registers): Use gdb_prfpregset_t instead of
prfpregset_t.
* config.in: Regenerated.
* configure: Regenerated.
* config/i386/tm-i386sol2.h (HAVE_I387_REGS): Define.
* i386v4-nat.c (supply_fpregset, fill_fpregset): Add code
to handle floating point registers if NUM_FREGS is not zero.
hardware breakpoint resources, return EBUSY.
(go32_handle_nonaligned_watchpoint): If the argument WHAT is not
one of the enumerated values, return EINVAL.
(line_completion_function): When completing on file names, use
gdb_completer_file_name_break_characters as word break
characters for the readline library.
* wrapper.h: Remove definitions of internal functions.
* wrapper.c: Remove definitions of exported functions (which are
already in wrapper.h) and make static all internal wrap_* functions.
Don't include "bfd-elf.h".
(address_significant_size): Delete variable.
(dwarf2_build_psymtabs_hard): Don't set it, or check for
consistency between it and the Dwarf 2 compilation unit header
address size.
(read_address): Don't mask off bits above
address_significant_size.
* Makefile.in (dwarf2read.o): Don't depend on $(elf_bfd_h).
(elf_bfd_h): Remove variable; it's no longer used.
* ChangeLog: Correct date on last entry.
* arm-linux-tdep.c (arm_linux_push_arguments): New function.
* config/arm/tm-linux: Redefined PUSH_ARGUMENTS for Linux.
* config/arm/tm-embed: Fix build warning from redefinition of
LOWEST_PC.
* config/arm/tm-arm.h: Remove TARGET_BYTE_ORDER_SELECTABLE.
* config/arm/tm-wince.h: Remove TARGET_BYTE_ORDER_SELECTABLE and
TARGET_BYTE_ORDER. Add TARGET_BYTE_ORDER_SELECTABLE_P to
override default in tm-arm.h. Use default target byte order
from tm-arm.h.
of PROC_SERVICE_IS_OLD.
(ps_pglobal_lookup, ps_pdread, ps_pdwrite, ps_ptread, ps_ptwrite,
rw_common): Change argument type from psaddr_t to gdb_ps_addr_t.
(NEW_PROC_API): Define on Solaris 7 and 8 as well as 6.
* acconfig.h (_MSE_INT_H): Define on Solaris 7.
* configure: Regenerate.
* config.in: Regenerate.
Change to rely on PIDGET etc.
* config/i386/nm-i386sol2.h (TARGET_HAS_WATCHPOINTS,
TARGET_CAN_USE_HARDWARE_WATCHPOINT, HAVE_CONTINUABLE_WATCHPOINT,
STOPPED_BY_WATCHPOINT, target_[insert/remove]_watchpoint):
define. Allow target to use procfs hardware watchpoints.
* config/sparc/nm-sun4sol2.h: ditto.
* config/i386/tm-i386sol2.h (PIDGET, TIDGET, MERGEPID): modify
definitions to use 16 bits for the pid, 15 bits for the tid, and
1 bit for the flag.
* config/sparc/tm-sun4sol2.h: ditto.
(SOFTWARE_SINGLE_STEP, SOFTWARE_SINGLE_STEP_P): undefine.
* testsuite/gdb.threads/pthreads.exp (all_threads_running): Allow
for more than 15 thread increments.
* arm-linux-tdep.c: Resolve implicit function declarations by
including target.h and value.h. Inclusion of symtab.h is
no longer needed.
* ChangeLog: Fix formatting of previous entry.
dependencies. Created ARM Linux specific arm-linux-tdep.c file and moved
missing code into it from arm-linux-nat.c.
2000-04-05 Scott Bambrough <scottb@netwinder.org>
* arm-linux-tdep.c: New file.
* arm-linux-nat.c (fetch_fpregs): Remove unused code.
(arm_get_longjmp_target): Moved it and all defines
it uses to arm-linux-tdep.c.
(arm_linux_extract_return_value): Moved to
arm-linux-tdep.c.
* config/arm/linux.mt: Add arm-linux-tdep.c to TDEPFILES.
below the code to sort out additions and removals. That way, we
always catch all loaded shared libraries whose symbols we haven't
grabbed yet.
* solib.c (solib_add): Don't try to free a shared object's objfile
if it doesn't have one. Duh.
* solib.c (solib_add): If a pattern was given, but it doesn't
match any currently loaded shared libraries, print a message;
don't just be silent.
* config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove
definition (and use the common one in tm-i386.h).
(REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise.
(I386_DJGPP_TARGET): Don't define, it's no longer required.
(LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition,
i386-tdep.c defines it for all x86 targets.
(LD_I387, HEX_LONG_DOUBLE_INPUT): Remove.
* config/djgpp/fnchange.lst: Add i386-linux-tdep.c.
* config/djgpp/djcheck.sh: Edit the copyright year out of the test
results. Fix editing of `main' arguments for non-GNU Sed.
error() during parse_and_eval_type().
(check_stub_method): Call safe_parse_type instead of
parse_and_eval_type().
* wrapper.c (gdb_parse_and_eval_type): New wrapper function.
(wrap_parse_and_eval_type): New support function.
* wrapper.h (gdb_parse_and_eval_type): Prototype.
(wrap_parse_and_eval_type): Prototype.
values that can be represented exactly.
* gdb.base/call-ar-st.exp (print print_small_structs): Fixed to match
above change, and to not check against the directory part of the source
file name.
(step into print_long_arg_list): Likewise.
(print print_small_structs from print_long_arg_list): Likewise.
(print print_long_arg_list): Likewise.
* wrapper.c (gdb_value_subscript, wrap_value_subscript): New functions.
Safe version of value_subscript.
* varobj.c (): Use gdb_value_subscript() to get an array element value.
* ui-file.c: Include "gdb_string.h"
* cli-out.c: Include gdb_string.h to avoid compiler warnings.
* wrapper.[ch] (struct gdb_wrapper_arguments): Change fields into
unions, since they are all used to hold both pointers and ints
at various times. Casting pointer to int and vice versa gives
warnings (and is not safe) if they are not the same size.
* defs.h (struct continuation_arg): make 'data' a union, to avoid
casting problems when int and pointer are not the same size.
* event-top.c (command_handler): use data as a union.
(command_line_handler_continuation): ditto.
* infcmd.c (step_1_continuation): use data as a union. Re-indent.
(step_once): ditto. (finish_command_continuation): ditto.
(finish_command): ditto.
* breakpoint.c (until_break_command): use data as a union.
(until_break_command_continuation): ditto.
* utils.c (add_intermediate_continuation): fix typo in comment.
breakpoint.c, breakpoint.h (remove_hw_watchpoints): New function.
infrun.c (resume): Remove hardware watchpoints before stepping
when CANNOT_STEP_HW_WATCHPOINTS is nonzero.
* breakpoint.c (insert_breakpoints, do_enable_breakpoint):
Reselect the saved frame silently after frame selection for
watchpoint evaluation.
(insert_breakpoints): Add missing space in `Hardware watchpoint
deleted' message. Do not reinsert hardware watchpoint if it is
already marked for deletion at next stop.
expectation of additional changes before release), update
ISBN, add copy of top-level menu for @ifhtml, remove explicit
node links, rephrase and/or shorten lines to fix formatting
problem in both regular and @smallbook formats.
* annotate.texi: Shorten lines in example, use smallexample
consistently everywhere.
* Makefile.in: Add comment about texinfo 4.0 html generation.
(SFILES_INCLUDED): Add annotate.texi.