* command.c copying.c copying.awk core-aout.c core-regset.c
corelow.c dcache.c i386-tdep.c i386v4-nat.c i387-tdep.c
infcmd.c infptrace.c infrun.c remote.c solib.c symfile.c
symmisc.c valarith.c: Add prototypes.
* defs.h: Add prototype for utils.c::do_run_cleanups.
* gdbtypes.c: Add prototypes.
(make_pointer_type): Add braces to remove nested if-else ambiguity.
(make_reference_type): Ditto.
* printcmd.c (printf_command): Initialize 'f' and 'string' at
function startup to suppress possibly-used-before-initialized warning.
* remote-utils.c: Add prototypes.
(sr_pollchar): Add braces to remove nested if-else ambiguity.
* ser-tcp.c: Add prototypes.
(wait_for): Add braces to remove nested if-else ambiguity.
(tcp_readchar): Ditto.
* ser-unix.c: Add prototypes.
(get_tty_state): Don't define errno here.
(get_tty_state): Don't define errno here.
(hardwire_readchar): Only define 't' if we are compiling in a Cygwin
environment.
* symtab.c: Add prototypes.
(find_methods): Add braces to remove nested if-else ambiguity.
(search_symbols): Set 'i' to an initial value to suppress a
possibly-used-before-initialized warning.
* valops.c: Add prototypes.
(value_cast): Set 'eltype2' to an initial value to suppress a
possibly-used-before-initialized warning.
(value_of_variable): Add braces to remove nested if-else ambiguity.
(value_of_this): Ditto.
* valprint.c: Add prototypes.
(print_floating): Add braces to remove nested if-else ambiguity.
Looks like a big change, but it is really just a lot of small stuff.
In the cases where GCC was flagging a possible use-before-initialized
warning on variables, it turned out that these were being used properly
but GCC couldn't see that.
"wait.h" was defining all WIF* macro's instead of filling in those
that <wait.h> missed. Stops heaps of warnings from <wait.h>
re-defining WIF*s defined in "wait.h".
* defs.h: Move _initialize_printcmd, _initialize_stack,
_initialize_blockframe out of here and in to their respective .c files.
* blockframe.c: Move _initialize_blockframe prototype to here.
* printcmd.c: Move _initialize_printcmd prototype to here.
* stack.c: Move _initialize_stack prototype to here.
* source.c, symtab.h: Move _initialize_source prototype to the .c file.
* values.c, value.h: Move _initialize_values prototype to the .c file.
* gdbthread.h, thread.c: Move _initialize_thread prototype to the .c
file.
* breakpoint.c, breakpoint.h: Move _initialize_breakpoint prototype
to the .c file.
* abug-rom.c alpha-nat.c alpha-tdep.c annotate.c ax-gdb.c bcache.c:
Standardize comments for the prototype section of these files.
* configure.in: Look in libc for wctype before looking for it in libc.
The last one is to fix the GNU ld (~2.9.1) + Solaris 2.6 interaction problem
where an empty stub library (libw) causes a core dump when we call vasprintf
(e.g. `info br') in the final linked gdb.
version didn't work for sol2.6; pushed it to autoconf.
* configure.in (gdb_cv_proc_service_is_old): new test.
* acconfig.h (PROC_SERVICE_IS_OLD): new define.
* configure, config.in: regenerate.
* blockframe.c (find_pc_sect_partial_function): Add braces to avoid
possible nested-if confusion.
* breakpoint.c (breakpoint_here_p): Ditto.
(breakpoint_inserted_here_p): Ditto.
(breakpoint_thread_match): Ditto.
* gnu-regex.c: Define _REGEX_RE_COMP only if it isn't already defined.
* gnu-regex.h: Define _REGEX_RE_COMP to pick up old compatability
prototypes.
* symtab.h: Add prototype for _initialize_source.
* value.h: Add prototype for _initialize_value.
* defs.h: Include sys/types.h or stddef.h to get size_t.
(make_cleanup): Add make_cleanup_func typedef and switch to using
a prototype for this function.
(mfree): Add prototypes for mmalloc, mrealloc, mfree if we aren't
using mmalloc.
* ax-gdb.c breakpoint.c coffread.c corelow.c dbxread.c dwarf2read.c
dwarfread.c elfread.c eval.c exec.c gdbtk-cmds.c gdbtk.c infcmd.c
infrun.c mipsread.c nlmread.c os9kread.c parse.c printcmd.c symfile.c
symmisc.c symtab.c thread.c top.c tracepoint.c typeprint.c valops.c:
Cast parameters passed to make_cleanup to use the new
make_cleanup_func typedef.
More warning cleanups. There are still a bunch of places where the first
argument to make_cleanup is not cast to (make_cleanup_func); these are
either due to the function fitting the make_cleanup_func specification
already (e.g. free()) or they are in files that weren't compiled when
I did my make on a Linux native system. Bwahahaha. You can see them
like this:
grep make_cleanup\ * | grep -v make_cleanup_func
I'll surely go back and clean up the remaining suspicious calls in
GDB one of these days. :-)
* configure.in: Check for sys/debugreg.h, asm/debugreg.h.
* i386v-nat.c: Include asm/debugreg.h, sys/debugreg.h if it is not
present.
This is to work around a conflict where the Linux 2.1.x kernel and glibc
2.0.x are not in sync; including <sys/debugreg.h> will result in an error.
With luck, these losers will get their act together and we can trash
this hack in the near future.
address range of a compilation unit without children.
* mdebugread.c (parse_partial_symbols): Fix handling of stabs
continuations, use xmalloc and xrealloc.
(cgen-run.o): New rule.
* cgen-ops.h: Delete many BI macros. Change all UBI -> BI.
* cgen-run.c (prime_cpu): New function.
* cgen-scache.c: Add pseudo-basic-block (pbb) scaching support.
(scache_option_handler, case OPTION_PROFILE_SCACHE): Handle explicitly
mentioned cpu.
(scache_flush_cpu,scache_lookup,scache_lookup_or_alloc): New fns.
* cgen-sim.h (CGEN_INSN_VIRTUAL_TYPE): New enum.
(CGEN_INSN_VIRTUAL_P): New macro.
(SEM_PC): New typedef.
(SEMANTIC_FN): Change type of result to SEM_PC.
(SEM_SET_FULL_CODE,SEM_SET_FAST_CODE,SEM_SET_CODE): New macros.
(IDESC_CTI_P,IDESC_SKIP_P): New macros.
(SCACHE_MAP): New typedef.
(CPU_SCACHE): Add pbb support.
(scace_lookup,scache_lookup_or_alloc,scache_flush_cpu): Declare.
(SEM_BRANCH_INIT_EXTRACT,SEM_BRANCH_INIT,SEM_BRANCH_FINI): New macros.
(CGEN_CPU): New members running_p,insn_count,{fast,full}_engine_fn,
max_slice_insns.
(INSN_NAME): Delete.
(cgen_insn_name): Declare.
(sim_engine_invalid_insn): Renamed from sim_engine_illegal_insn.
* cgen-trace.c (trace_buf): Shrink from 1024 to 256 bytes.
(first_insn_p): Make static.
(trace_insn): Handle virtual insns specially.
(cgen_trace_printf): Ensure we haven't overflowed the buffer.
* cgen-types.h (UBI): Delete.
(MODE_TYPE): New enum.
(HOSTINT,HOSTUINT,HOSTPTR): Delete.
* cgen-utils.c (mode_names): Delete UBI. Add INT,UINT,PTR.
(cgen_virtual_opcode_table): New global.
(cgen_insn_name): New function.
(sim_disassemble_insn): Ignore virtual insns.
* genmloop.sh: Delete top level loop generation. Add pbb support.
* sim-cpu.h (CPU_INSN_NAME_FN): New typedef.
(sim_cpu_base): New members max_insns,insn_name,model_data.
(CPU_PC_GET,CPU_PC_SET): New macros.
(sim_pc_get,sim_pc_set): Declare.
* sim-model.c (model_set): Call model init fn.
* sim-model.h (MODEL_FN): New typedef.
(INSN_TIMING): New member model_fn.
(MODEL): New members num,init.
* sim-profile.c (sim_profile_print_bar): Renamed from print_bar.
All callers updated.
(profile_insn_init): New fn.
(profile_print_insn): Update, INSN_NAME -> CPU_INSN_NAME.
Exit early if insn profiling not supported.
(profile_print_memory): Update, MAX_MODES -> MODE_TARGET_MAX.
(profile_install): Record profile_insn_init as init fn.
(profile_uninstall): Free PROFILE_INSN_COUNT if non-null.
* sim-profile.h: Update, MAX_MODES -> MODE_TARGET_MAX.
(PROFILE_DATA): Delete member exec_time.
Change insn_count to pointer to array, rather than the array.
(sim_profile_print_bar): Declare.
There should be sufficient information/hooks now to eliminate
this hack.
* exec.c (file_command): Add a new hook here to inform ui's
when the exec file has changed. Adding it here allows the
ui to be informed after symbol reading.
* gdbcore.h: Add declaration of file_changed_hook.