demangled symbol lookup fixes

This commit is contained in:
Daniel Berlin 2000-03-30 03:03:23 +00:00
parent d332c5ac7e
commit 0729fd5008
3 changed files with 139 additions and 112 deletions

View file

@ -1,3 +1,13 @@
2000-03-29 Daniel Berlin <dan@cgsoftware.com>
* minsyms.c (add_minsym_to_demangled_hash_table): New function.
(install_minimal_symbols): Fix demangled symbol problems caused by
using add_minsym_to_hash_table for the demangled names, which is
wrong. Now we use add_minsym_to_demangled_hash_table.
(lookup_minimal_symbol): Fix problems with demangled symbol lookup
caused by weird control flow.
* symtab.h: Add add_minsym_to_demangled_hash_table prototype here.
2000-03-29 Jason Merrill <jason@casey.cygnus.com> 2000-03-29 Jason Merrill <jason@casey.cygnus.com>
* configure.in: -linux-gnu*, not -linux-gnu. * configure.in: -linux-gnu*, not -linux-gnu.
@ -7,13 +17,13 @@ Tue Mar 28 18:28:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
* remote.c (remote_threads_extra_info): Replace qfThreadExtraInfo * remote.c (remote_threads_extra_info): Replace qfThreadExtraInfo
with qThreadExtraInfo. with qThreadExtraInfo.
2000-03-29 J.T. Conklin <jtc@redback.com> 2000-03-29 J.T. Conklin <jtc@redback.com>
* i386nbsd-nat.c (fetch_core_registers): Make static. * i386nbsd-nat.c (fetch_core_registers): Make static.
* m68knbsd-nat.c (fetch_core_registers): Make static. * m68knbsd-nat.c (fetch_core_registers): Make static.
(m68knbsd_core_fns, _initialize_m68knbsd_nat): Added. (m68knbsd_core_fns, _initialize_m68knbsd_nat): Added.
Wed Mar 29 13:40:40 2000 Andrew Cagney <cagney@b1.cygnus.com> Wed Mar 29 13:40:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
* TODO: Update GDB 5 status. * TODO: Update GDB 5 status.
@ -40,8 +50,8 @@ Wed Mar 29 10:16:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
* procfs.c (proc_set_watchpoint): Declare addr parameter as * procfs.c (proc_set_watchpoint): Declare addr parameter as
CORE_ADDR, to match call from procfs_set_watchpoint. CORE_ADDR, to match call from procfs_set_watchpoint.
* breakpoint.c (insert_breakpoints, do_enable_breakpoint): * breakpoint.c (insert_breakpoints, do_enable_breakpoint):
Reselect the saved frame silently after frame selection for Reselect the saved frame silently after frame selection for
watchpoint evaluation. watchpoint evaluation.
(insert_breakpoints): Add missing space in `Hardware watchpoint (insert_breakpoints): Add missing space in `Hardware watchpoint
deleted' message. Do not reinsert hardware watchpoint if it is deleted' message. Do not reinsert hardware watchpoint if it is
@ -96,7 +106,7 @@ Tue Mar 28 09:59:00 2000 Andrew Cagney <cagney@b1.cygnus.com>
* acconfig.h: Fix typo in comment describing HAVE_PTRACE_GETREGS. * acconfig.h: Fix typo in comment describing HAVE_PTRACE_GETREGS.
* config.h: Regenerate. * config.h: Regenerate.
Mon Mar 27 19:53:29 2000 Andrew Cagney <cagney@b1.cygnus.com> Mon Mar 27 19:53:29 2000 Andrew Cagney <cagney@b1.cygnus.com>
* TODO: Update. Add criteria for next release of GDB. * TODO: Update. Add criteria for next release of GDB.
@ -182,13 +192,13 @@ Sat Mar 25 18:51:50 2000 Andrew Cagney <cagney@b1.cygnus.com>
* config/tm-cygwin.h: Eliminate special frame handling. Just use * config/tm-cygwin.h: Eliminate special frame handling. Just use
normal i386 handling. normal i386 handling.
2000-03-24 J.T. Conklin <jtc@redback.com> 2000-03-24 J.T. Conklin <jtc@redback.com>
* i386/tm-nbsd.h (USE_STRUCT_CONVENTION): Define. * i386/tm-nbsd.h (USE_STRUCT_CONVENTION): Define.
* i386nbsd-nat.c (i386nbsd_use_struct_convention): New function. * i386nbsd-nat.c (i386nbsd_use_struct_convention): New function.
(fetch_core_registers): Read fp registers. (fetch_core_registers): Read fp registers.
(i386nbsd_core_fns, _initialize_i386nbsd_nat): Added. (i386nbsd_core_fns, _initialize_i386nbsd_nat): Added.
2000-03-24 Jonathan Larmour <jlarmour@redhat.co.uk> 2000-03-24 Jonathan Larmour <jlarmour@redhat.co.uk>
* arm-tdep.c (thumb_skip_prologue): Take function end addr argument * arm-tdep.c (thumb_skip_prologue): Take function end addr argument
@ -219,14 +229,14 @@ Thu Mar 23 13:18:26 2000 Philippe De Muyter <phdm@macqel.be>
`moveml to (fp + displacement)'. `moveml to (fp + displacement)'.
* m68/tm-delta68.h (IN_SIGTRAMP): New macro. * m68/tm-delta68.h (IN_SIGTRAMP): New macro.
(FRAME_SAVED_PC, FRAME_ARGS_ADDRESS): Ditto. (FRAME_SAVED_PC, FRAME_ARGS_ADDRESS): Ditto.
Fri Mar 24 13:44:57 2000 Andrew Cagney <cagney@b1.cygnus.com> Fri Mar 24 13:44:57 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Add Fernando Nasser to testsuite maintainers. * MAINTAINERS: Add Fernando Nasser to testsuite maintainers.
2000-03-23 Michael Snyder <msnyder@cleaver.cygnus.com> 2000-03-23 Michael Snyder <msnyder@cleaver.cygnus.com>
* solib.c (open_symbol_file_object): to sneak an int argument * solib.c (open_symbol_file_object): to sneak an int argument
past catch_errors, instead of casting it to a pointer, simply past catch_errors, instead of casting it to a pointer, simply
pass it by address. pass it by address.
@ -244,12 +254,12 @@ Fri Mar 24 13:44:57 2000 Andrew Cagney <cagney@b1.cygnus.com>
deprecated, warns user if appropriate. deprecated, warns user if appropriate.
(add_info), (add_info_alias), (add_com) , (add_com_alias): Changed (add_info), (add_info_alias), (add_com) , (add_com_alias): Changed
return values from void to struct cmd_list_element *. return values from void to struct cmd_list_element *.
* command.c (lookup_cmd_1): Check aliases before following link * command.c (lookup_cmd_1): Check aliases before following link
in case user needs to be warned about a deprecated alias. in case user needs to be warned about a deprecated alias.
(deprecate_cmd): new exported function for command deprecation, (deprecate_cmd): new exported function for command deprecation,
sets flags and posibly a replacement string. sets flags and posibly a replacement string.
(deprecated_cmd_warning): New exported funciton to warn user about (deprecated_cmd_warning): New exported funciton to warn user about
a deprecated command. a deprecated command.
(lookup_cmd_composition): New exported function that determines (lookup_cmd_composition): New exported function that determines
alias, prefix_command, and cmd based on a string. This is useful alias, prefix_command, and cmd based on a string. This is useful
is we want to full name of a command. is we want to full name of a command.
@ -333,17 +343,17 @@ Wed Mar 22 15:09:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (CONFIG_INITS): Do not append remote-nrom.c * configure.in (CONFIG_INITS): Do not append remote-nrom.c
2000-03-21 J.T. Conklin <jtc@redback.com> 2000-03-21 J.T. Conklin <jtc@redback.com>
* i386/nbsd.mh (NATDEPFILES): Change i386b-nat.o to i386nbsd-nat.o. * i386/nbsd.mh (NATDEPFILES): Change i386b-nat.o to i386nbsd-nat.o.
* i386nbsd-nat.c: New file. * i386nbsd-nat.c: New file.
* i386/tm-nbsd.h (NUM_REGS): Removed. * i386/tm-nbsd.h (NUM_REGS): Removed.
(HAVE_I387_REGS): Defined. (HAVE_I387_REGS): Defined.
* i386/nm-nbsd.h (FLOAT_INFO): Removed. * i386/nm-nbsd.h (FLOAT_INFO): Removed.
* tm-nbsd.h (IN_SOLIB_CALL_TRAMPOLINE): Define if not * tm-nbsd.h (IN_SOLIB_CALL_TRAMPOLINE): Define if not
SVR4_SHARED_LIBS. SVR4_SHARED_LIBS.
Wed Mar 22 11:18:59 2000 Andrew Cagney <cagney@b1.cygnus.com> Wed Mar 22 11:18:59 2000 Andrew Cagney <cagney@b1.cygnus.com>
@ -394,7 +404,7 @@ Wed Mar 22 11:18:59 2000 Andrew Cagney <cagney@b1.cygnus.com>
(bpstat_stop_status, can_use_hardware_watchpoint): Don't insert, (bpstat_stop_status, can_use_hardware_watchpoint): Don't insert,
remove, or check status of hardware watchpoints for entire structs remove, or check status of hardware watchpoints for entire structs
and arrays unless the user explicitly asked to watch that struct and arrays unless the user explicitly asked to watch that struct
or array. or array.
(insert_breakpoints): Try to insert watchpoints for all the values (insert_breakpoints): Try to insert watchpoints for all the values
on the value chain, even if some of them fail to insert. on the value chain, even if some of them fail to insert.
@ -407,7 +417,7 @@ Wed Mar 22 11:18:59 2000 Andrew Cagney <cagney@b1.cygnus.com>
Implement the extra thread info query for "info threads". Implement the extra thread info query for "info threads".
(remote_threads_info): clean up a bit. (remote_threads_info): clean up a bit.
(use_threadinfo_query, use_threadextra_query): new variables. (use_threadinfo_query, use_threadextra_query): new variables.
Control whether GDB will use the new or old protocol for Control whether GDB will use the new or old protocol for
thread info queries. thread info queries.
(remote_open_1): initialize new variables. (remote_open_1): initialize new variables.
(remote_async_open_1): ditto. (remote_async_open_1): ditto.
@ -552,7 +562,7 @@ Fri Mar 17 11:06:59 2000 Philippe De Muyter <phdm@macqel.be>
* config/i386/tm-linux.h (I386_LINUX_SIGTRAMP): No need to define * config/i386/tm-linux.h (I386_LINUX_SIGTRAMP): No need to define
this any more, since we're not enabling OS-specific code in a this any more, since we're not enabling OS-specific code in a
OS-independent file. OS-independent file.
2000-03-16 Eli Zaretskii <eliz@is.elta.co.il> 2000-03-16 Eli Zaretskii <eliz@is.elta.co.il>
* Makefile.in (go32-nat.o): Add prerequisites. * Makefile.in (go32-nat.o): Add prerequisites.
@ -590,7 +600,7 @@ Fri Mar 17 11:06:59 2000 Philippe De Muyter <phdm@macqel.be>
* solib.c (special_symbol_handling): Delete argument; it's not * solib.c (special_symbol_handling): Delete argument; it's not
used. used.
Changes from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>: Changes from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>:
* solib.c (SOLIB_EXTRACT_ADDRESS): New macro to extract addresses * solib.c (SOLIB_EXTRACT_ADDRESS): New macro to extract addresses
@ -628,27 +638,27 @@ Mon Mar 13 21:21:41 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-03-13 James Ingham <jingham@leda.cygnus.com> 2000-03-13 James Ingham <jingham@leda.cygnus.com>
Add support for a variable object that tries to evaluate itself in Add support for a variable object that tries to evaluate itself in
the currently selected frame, rather than in a fixed frame. the currently selected frame, rather than in a fixed frame.
* wrapper.c,h (gdb_parse_exp_1): Added a wrapper for * wrapper.c,h (gdb_parse_exp_1): Added a wrapper for
gdb_parse_exp_1. gdb_parse_exp_1.
* varobj.h: Added USE_CURRENT_FRAME to varobj_type & changed def'n * varobj.h: Added USE_CURRENT_FRAME to varobj_type & changed def'n
of varobj_create. of varobj_create.
* varobj.c (varobj_list): Return type indicates whether the * varobj.c (varobj_list): Return type indicates whether the
variable's type has changed (for current frame variables). variable's type has changed (for current frame variables).
(varobj_update): Handle the case where the variable's type has (varobj_update): Handle the case where the variable's type has
changed. changed.
(delete_variable_1): Allow for deletion of variables that have not (delete_variable_1): Allow for deletion of variables that have not
been installed yet. been installed yet.
(new_root_variable): Initialize use_selected_frame variable. (new_root_variable): Initialize use_selected_frame variable.
(value_of_root): This is where most of the work to handle "current (value_of_root): This is where most of the work to handle "current
frame" variables was added. Most of the complexity involves frame" variables was added. Most of the complexity involves
handling the case where the type of the variable has changed. handling the case where the type of the variable has changed.
(varobj_create): Add a "type" argument, to tell if the (varobj_create): Add a "type" argument, to tell if the
variable is one of these "current frame" variables. Also protect variable is one of these "current frame" variables. Also protect
call to parse_exp_1 from long jumping. call to parse_exp_1 from long jumping.
2000-03-13 Eli Zaretskii <eliz@is.elta.co.il> 2000-03-13 Eli Zaretskii <eliz@is.elta.co.il>
* go32-nat.c (struct env387): Remove declaration. * go32-nat.c (struct env387): Remove declaration.
@ -697,7 +707,7 @@ Mon Mar 13 18:54:42 2000 Andrew Cagney <cagney@b1.cygnus.com>
* gdbtypes.c (rank_one_type): Add comment on how to eliminate the * gdbtypes.c (rank_one_type): Add comment on how to eliminate the
#ifdef DEBUG_OLOAD. #ifdef DEBUG_OLOAD.
2000-03-11 Mark Kettenis <kettenis@gnu.org> 2000-03-11 Mark Kettenis <kettenis@gnu.org>
* gnu-nat.c: Fix the formatting where indent misinterpreted `&' as * gnu-nat.c: Fix the formatting where indent misinterpreted `&' as
@ -899,7 +909,7 @@ Sat Mar 4 10:57:25 2000 Andrew Cagney <cagney@b1.cygnus.com>
other function typedefs. Document as not be used out side of other function typedefs. Document as not be used out side of
make_cleanup code. Use in make_cleanup declarations. make_cleanup code. Use in make_cleanup declarations.
(null_cleanup): Replace PTR with void*. (null_cleanup): Replace PTR with void*.
* utils.c (make_cleanup, make_final_cleanup, make_run_cleanup, * utils.c (make_cleanup, make_final_cleanup, make_run_cleanup,
make_exec_cleanup, make_exec_error_cleanup, make_my_cleanup, make_exec_cleanup, make_exec_error_cleanup, make_my_cleanup,
null_cleanup): Change K&R definition to ISO-C using void* and null_cleanup): Change K&R definition to ISO-C using void* and
@ -924,7 +934,7 @@ Fri Mar 3 15:39:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
(all-gdbtk, clean-gdbtk): New targets. (all-gdbtk, clean-gdbtk): New targets.
(all): Add CONFIG_ALL as dependency. (all): Add CONFIG_ALL as dependency.
(clean): Add CONFIG_CLEAN as dependency. (clean): Add CONFIG_CLEAN as dependency.
* configure.in (CONFIG_ALL, CONFIG_CLEAN): Define. * configure.in (CONFIG_ALL, CONFIG_CLEAN): Define.
(LN_S): Define. Delete GDBtk's link code. (LN_S): Define. Delete GDBtk's link code.
@ -964,7 +974,7 @@ Fri Mar 3 13:12:34 2000 Andrew Cagney <cagney@b1.cygnus.com>
Thu Mar 2 09:04:46 2000 Andrew Cagney <cagney@b1.cygnus.com> Thu Mar 2 09:04:46 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Daniel Berlin is C++ maintainer. * MAINTAINERS: Daniel Berlin is C++ maintainer.
Thu Mar 2 08:55:35 2000 Andrew Cagney <cagney@b1.cygnus.com> Thu Mar 2 08:55:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
@ -974,10 +984,10 @@ Thu Mar 2 08:55:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
Solaris/x86. Solaris/x86.
Wed Mar 1 22:12:35 2000 Andrew Cagney <cagney@b1.cygnus.com> Wed Mar 1 22:12:35 2000 Andrew Cagney <cagney@b1.cygnus.com>
From Wed 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>: From Wed 23 Feb 2000 Fernando Nasser <fnasser@redhat.com>:
* remote-sim.c (gdbsim_close): Call generic_mourn_inferior. * remote-sim.c (gdbsim_close): Call generic_mourn_inferior.
* remote-rdi.c (arm_rdi_close): Ditto. * remote-rdi.c (arm_rdi_close): Ditto.
Wed Mar 1 19:31:32 2000 Andrew Cagney <cagney@b1.cygnus.com> Wed Mar 1 19:31:32 2000 Andrew Cagney <cagney@b1.cygnus.com>
@ -1073,10 +1083,10 @@ Tue Feb 29 15:14:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
as in the Linux kernel. Modified prototype to get rid of as in the Linux kernel. Modified prototype to get rid of
unused parameters. unused parameters.
(store_nw_fpe_*): Renamed to store_nwfpe_* to use the same (store_nw_fpe_*): Renamed to store_nwfpe_* to use the same
naming convention as in the Linux kernel. Fixed calls to naming convention as in the Linux kernel. Fixed calls to
fetch_nwfpe_*. fetch_nwfpe_*.
(store_fpregs): Fixed calls to store_nwfpe_*. Removed (store_fpregs): Fixed calls to store_nwfpe_*. Removed
unused variable. unused variable.
Mon Feb 28 18:24:32 2000 Andrew Cagney <cagney@b1.cygnus.com> Mon Feb 28 18:24:32 2000 Andrew Cagney <cagney@b1.cygnus.com>
@ -1188,7 +1198,7 @@ Thu Feb 24 18:42:15 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Set to * configure.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Set to
$(SUBDIR_*_INSTALL) when so configured. $(SUBDIR_*_INSTALL) when so configured.
* configure: Regenerate. * configure: Regenerate.
* Makefile.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Define using * Makefile.in (CONFIG_INSTALL, CONFIG_UNINSTALL): Define using
configure. configure.
(install-only): Add dependency on $(CONFIG_INSTALL). Delete code (install-only): Add dependency on $(CONFIG_INSTALL). Delete code
@ -1202,7 +1212,7 @@ Thu Feb 24 18:19:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.in (SUBDIR_MI_CFLAGS): Fix typo, wrong brace. * configure.in (SUBDIR_MI_CFLAGS): Fix typo, wrong brace.
* configure: Regenerate. * configure: Regenerate.
2000-02-24 Christopher Faylor <cgf@cygnus.com> 2000-02-24 Christopher Faylor <cgf@cygnus.com>
* configure.tgt: Add arm, mips, sh wince targets. * configure.tgt: Add arm, mips, sh wince targets.
@ -1256,7 +1266,7 @@ Mon Feb 21 13:57:27 2000 Andrew Cagney <cagney@b1.cygnus.com>
interface. interface.
* configure: Regenerate. * configure: Regenerate.
* Makefile.in (SUBDIR_MI_OBS, SUBDIR_MI_SRCS, SUBDIR_MI_DEPS, * Makefile.in (SUBDIR_MI_OBS, SUBDIR_MI_SRCS, SUBDIR_MI_DEPS,
SUBDIR_MI_INITS, SUBDIR_MI_LDFLAGS, SUBDIR_MI_CFLAGS): New macros. SUBDIR_MI_INITS, SUBDIR_MI_LDFLAGS, SUBDIR_MI_CFLAGS): New macros.
(CONFIG_OBS, CONFIG_SRCS, CONFIG_DEPS, CONFIG_INITS, (CONFIG_OBS, CONFIG_SRCS, CONFIG_DEPS, CONFIG_INITS,
@ -1377,7 +1387,7 @@ Mon Feb 21 11:03:01 2000 Andrew Cagney <cagney@b1.cygnus.com>
Andrew Cagney, Elena Zannoni and Fernando Nasser; Web pages - Jim Andrew Cagney, Elena Zannoni and Fernando Nasser; Web pages - Jim
Kingdon. Kingdon.
* MAINTAINERS: Add Nick Clifton to write after approval list. * MAINTAINERS: Add Nick Clifton to write after approval list.
Mon Feb 21 10:30:39 2000 Andrew Cagney <cagney@b1.cygnus.com> Mon Feb 21 10:30:39 2000 Andrew Cagney <cagney@b1.cygnus.com>
* MAINTAINERS: Add note on multiple maintainers. * MAINTAINERS: Add note on multiple maintainers.
@ -1474,7 +1484,7 @@ Wed Feb 16 19:00:02 2000 Andrew Cagney <cagney@b1.cygnus.com>
code to also handle the PowerOpen ABI. code to also handle the PowerOpen ABI.
(ppc_push_return_address): Enable for all ports. (ppc_push_return_address): Enable for all ports.
* config/powerpc/tm-ppc-aix.h (USE_GENERIC_DUMMY_FRAMES, * config/powerpc/tm-ppc-aix.h (USE_GENERIC_DUMMY_FRAMES,
PUSH_DUMMY_FRAME, PUSH_RETURN_ADDRESS, GET_SAVED_REGISTER, PUSH_DUMMY_FRAME, PUSH_RETURN_ADDRESS, GET_SAVED_REGISTER,
CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LOCATION, CALL_DUMMY_BREAKPOINT_OFFSET, CALL_DUMMY_LOCATION,
CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET): Override defaults CALL_DUMMY_ADDRESS, CALL_DUMMY_START_OFFSET): Override defaults
provided by generic RS6000 definitions so that call dummies provided by generic RS6000 definitions so that call dummies
@ -1497,7 +1507,7 @@ Wed Feb 16 19:00:02 2000 Andrew Cagney <cagney@b1.cygnus.com>
2000-02-15 Jesper Skov <jskov@cygnus.co.uk> 2000-02-15 Jesper Skov <jskov@cygnus.co.uk>
Patch applied by Kevin Buettner <kevinb@redhat.com> Patch applied by Kevin Buettner <kevinb@redhat.com>
* rs6000-tdep.c (skip_prologue): skip copying of argument * rs6000-tdep.c (skip_prologue): skip copying of argument
registers to local variable registers. registers to local variable registers.
@ -1538,7 +1548,7 @@ Mon Feb 14 15:20:26 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure.tgt (i[3456]86-*-netbsd*): add gdbserver to * configure.tgt (i[3456]86-*-netbsd*): add gdbserver to
configdirs. configdirs.
* gdbserver/low-nbsd.c: New file. * gdbserver/low-nbsd.c: New file.
* gdbserver/Makefile.in: convert to autoconf. * gdbserver/Makefile.in: convert to autoconf.
* gdbserver/configure.in: likewise. * gdbserver/configure.in: likewise.
* gdbserver/configure: generate. * gdbserver/configure: generate.
@ -1744,7 +1754,7 @@ Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com>
* ui-file.c, ui-file.h: Rename gdb-file.h, gdb-file.c. Rename * ui-file.c, ui-file.h: Rename gdb-file.h, gdb-file.c. Rename
``struct gdb_file'' to ``struct ui_file''. Delete typedef ``struct gdb_file'' to ``struct ui_file''. Delete typedef
GDB_FILE. GDB_FILE.
* Makefile.in: Update. * Makefile.in: Update.
* ax-gdb.c, ax-general.c, ax.h, buildsym.c, c-lang.c, c-lang.h, * ax-gdb.c, ax-general.c, ax.h, buildsym.c, c-lang.c, c-lang.h,
@ -1805,7 +1815,7 @@ Mon Jan 31 17:14:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush, tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush,
fputs_unfiltered_hook): fputs_unfiltered_hook):
Moved to tui/tui-file.c and tui/tui-file.h. Moved to tui/tui-file.c and tui/tui-file.h.
* Makefile.in (COMMON_OBS): Add gdb-file.o, tui-file.o. * Makefile.in (COMMON_OBS): Add gdb-file.o, tui-file.o.
(tui-file.o, gdb-file.o): Add dependencies. (tui-file.o, gdb-file.o): Add dependencies.
(corefile.o, main.o, utils.o, simmisc.o): Update dependencies. (corefile.o, main.o, utils.o, simmisc.o): Update dependencies.
@ -1954,11 +1964,11 @@ Mon Jan 31 17:14:52 2000 Andrew Cagney <cagney@b1.cygnus.com>
* infrun.c (normal_stop): Use enum values rather than integers for the * infrun.c (normal_stop): Use enum values rather than integers for the
source_flag to be passed to show_and_print_stack_frame(). source_flag to be passed to show_and_print_stack_frame().
Update copyright. Update copyright.
* frame.h (print_what): New enum for 'source' argument to * frame.h (print_what): New enum for 'source' argument to
print_frame_info_base(). Use this instead of obscure numbers. print_frame_info_base(). Use this instead of obscure numbers.
Update copyright. Update copyright.
Sun Jan 16 17:58:00 2000 David Taylor <taylor@texas.cygnus.com> Sun Jan 16 17:58:00 2000 David Taylor <taylor@texas.cygnus.com>
* event-top.c (stdin_event_handler): call quit_command rather than * event-top.c (stdin_event_handler): call quit_command rather than
@ -2072,7 +2082,7 @@ Thu Jan 13 23:34:17 EST 2000 Nicholas Duffek <nsd@cygnus.com>
(proc_flags): combine flags that UnixWare splits into two locations. (proc_flags): combine flags that UnixWare splits into two locations.
(proc_modify_flag): add support for PR_KLC (kill on last close). (proc_modify_flag): add support for PR_KLC (kill on last close).
(proc_[un]set_kill_on_last_close): new functions. (proc_[un]set_kill_on_last_close): new functions.
2000-01-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com> 2000-01-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* infrun.c (normal_stop): Print out thread id when we stop. * infrun.c (normal_stop): Print out thread id when we stop.

View file

@ -123,6 +123,20 @@ add_minsym_to_hash_table (struct minimal_symbol *sym,
} }
} }
/* Add the minimal symbol SYM to an objfile's minsym demangled hash table,
TABLE. */
static void
add_minsym_to_demangled_hash_table (struct minimal_symbol *sym,
struct minimal_symbol **table)
{
if (sym->demangled_hash_next == NULL)
{
unsigned int hash = msymbol_hash_iw (SYMBOL_DEMANGLED_NAME (sym));
sym->demangled_hash_next = table[hash];
table[hash] = sym;
}
}
/* Look through all the current minimal symbol tables and find the /* Look through all the current minimal symbol tables and find the
first minimal symbol that matches NAME. If OBJF is non-NULL, limit first minimal symbol that matches NAME. If OBJF is non-NULL, limit
@ -167,60 +181,60 @@ lookup_minimal_symbol (name, sfile, objf)
{ {
/* Do two passes: the first over the ordinary hash table, /* Do two passes: the first over the ordinary hash table,
and the second over the demangled hash table. */ and the second over the demangled hash table. */
int pass = 1; int pass;
msymbol = objfile->msymbol_hash[hash]; for (pass = 1; pass <= 2 && found_symbol == NULL; pass++)
while (msymbol != NULL && found_symbol == NULL)
{ {
if (SYMBOL_MATCHES_NAME (msymbol, name)) /* Select hash list according to pass. */
if (pass == 1)
msymbol = objfile->msymbol_hash[hash];
else
msymbol = objfile->msymbol_demangled_hash[dem_hash];
while (msymbol != NULL && found_symbol == NULL)
{ {
switch (MSYMBOL_TYPE (msymbol)) if (SYMBOL_MATCHES_NAME (msymbol, name))
{ {
case mst_file_text: switch (MSYMBOL_TYPE (msymbol))
case mst_file_data: {
case mst_file_bss: case mst_file_text:
case mst_file_data:
case mst_file_bss:
#ifdef SOFUN_ADDRESS_MAYBE_MISSING #ifdef SOFUN_ADDRESS_MAYBE_MISSING
if (sfile == NULL || STREQ (msymbol->filename, sfile)) if (sfile == NULL || STREQ (msymbol->filename, sfile))
found_file_symbol = msymbol; found_file_symbol = msymbol;
#else #else
/* We have neither the ability nor the need to /* We have neither the ability nor the need to
deal with the SFILE parameter. If we find deal with the SFILE parameter. If we find
more than one symbol, just return the latest more than one symbol, just return the latest
one (the user can't expect useful behavior in one (the user can't expect useful behavior in
that case). */ that case). */
found_file_symbol = msymbol; found_file_symbol = msymbol;
#endif #endif
break; break;
case mst_solib_trampoline: case mst_solib_trampoline:
/* If a trampoline symbol is found, we prefer to /* If a trampoline symbol is found, we prefer to
keep looking for the *real* symbol. If the keep looking for the *real* symbol. If the
actual symbol is not found, then we'll use the actual symbol is not found, then we'll use the
trampoline entry. */ trampoline entry. */
if (trampoline_symbol == NULL) if (trampoline_symbol == NULL)
trampoline_symbol = msymbol; trampoline_symbol = msymbol;
break; break;
case mst_unknown: case mst_unknown:
default: default:
found_symbol = msymbol; found_symbol = msymbol;
break; break;
}
} }
}
/* Find the next symbol on the hash chain. At the end /* Find the next symbol on the hash chain. */
of the first pass, try the demangled hash list. */ if (pass == 1)
if (pass == 1) msymbol = msymbol->hash_next;
msymbol = msymbol->hash_next; else
else msymbol = msymbol->demangled_hash_next;
msymbol = msymbol->demangled_hash_next;
if (msymbol == NULL)
{
++pass;
if (pass == 2)
msymbol = objfile->msymbol_demangled_hash[dem_hash];
} }
} }
} }
@ -934,8 +948,8 @@ install_minimal_symbols (objfile)
{ {
SYMBOL_INIT_DEMANGLED_NAME (msymbols, &objfile->symbol_obstack); SYMBOL_INIT_DEMANGLED_NAME (msymbols, &objfile->symbol_obstack);
if (SYMBOL_DEMANGLED_NAME (msymbols) != NULL) if (SYMBOL_DEMANGLED_NAME (msymbols) != NULL)
add_minsym_to_hash_table (msymbols, add_minsym_to_demangled_hash_table (msymbols,
objfile->msymbol_demangled_hash); objfile->msymbol_demangled_hash);
} }
} }
} }

View file

@ -311,7 +311,7 @@ struct minimal_symbol
so it doesn't have to rederive the info constantly (over a serial line). so it doesn't have to rederive the info constantly (over a serial line).
It is initialized to zero and stays that way until target-dependent code It is initialized to zero and stays that way until target-dependent code
sets it. Storage for any data pointed to by this field should be allo- sets it. Storage for any data pointed to by this field should be allo-
cated on the symbol_obstack for the associated objfile. cated on the symbol_obstack for the associated objfile.
The type would be "void *" except for reasons of compatibility with older The type would be "void *" except for reasons of compatibility with older
compilers. This field is optional. compilers. This field is optional.
@ -738,7 +738,7 @@ struct symbol
symbols whose types we have not parsed yet. For functions, it also symbols whose types we have not parsed yet. For functions, it also
contains their memory address, so we can find them from a PC value. contains their memory address, so we can find them from a PC value.
Each partial_symbol sits in a partial_symtab, all of which are chained Each partial_symbol sits in a partial_symtab, all of which are chained
on a partial symtab list and which points to the corresponding on a partial symtab list and which points to the corresponding
normal symtab once the partial_symtab has been referenced. */ normal symtab once the partial_symtab has been referenced. */
struct partial_symbol struct partial_symbol
@ -837,7 +837,7 @@ struct section_offsets
(sizeof (struct section_offsets) \ (sizeof (struct section_offsets) \
+ sizeof (((struct section_offsets *) 0)->offsets) * (SECT_OFF_MAX-1)) + sizeof (((struct section_offsets *) 0)->offsets) * (SECT_OFF_MAX-1))
/* Each source file or header is represented by a struct symtab. /* Each source file or header is represented by a struct symtab.
These objects are chained through the `next' field. */ These objects are chained through the `next' field. */
struct symtab struct symtab
@ -1032,7 +1032,7 @@ struct partial_symtab
/* The virtual function table is now an array of structures which have the /* The virtual function table is now an array of structures which have the
form { int16 offset, delta; void *pfn; }. form { int16 offset, delta; void *pfn; }.
In normal virtual function tables, OFFSET is unused. In normal virtual function tables, OFFSET is unused.
DELTA is the amount which is added to the apparent object's base DELTA is the amount which is added to the apparent object's base
@ -1240,6 +1240,9 @@ extern unsigned int msymbol_hash PARAMS ((const char *));
extern void extern void
add_minsym_to_hash_table (struct minimal_symbol *sym, add_minsym_to_hash_table (struct minimal_symbol *sym,
struct minimal_symbol **table); struct minimal_symbol **table);
extern void
add_minsym_to_demangled_hash_table (struct minimal_symbol *sym,
struct minimal_symbol **table);
extern struct minimal_symbol * extern struct minimal_symbol *
lookup_minimal_symbol PARAMS ((const char *, const char *, struct objfile *)); lookup_minimal_symbol PARAMS ((const char *, const char *, struct objfile *));