used in GDB (perhaps "set mapped on", "set readnow on" would be
better), (3) the order of options matters, which is contrary to GNU
conventions (because it is confusing and inconvenient). */
+/* Note: ezannoni 2000-04-17. This function used to have support for
+ rombug (see remote-os9k.c). It consisted of a call to target_link()
+ (target.c) to get the address of the text segment from the target,
+ and pass that to symbol_file_add(). This is no longer supported. */
void
symbol_file_command (args, from_tty)
{
char **argv;
char *name = NULL;
- CORE_ADDR text_relocation = 0; /* text_relocation */
struct cleanup *cleanups;
int flags = OBJF_USERLOADED;
symfile_objfile = NULL;
if (from_tty)
- {
printf_unfiltered ("No symbol file now.\n");
- }
#ifdef HPUXHPPA
RESET_HP_UX_GLOBALS ();
#endif
while (*argv != NULL)
{
if (STREQ (*argv, "-mapped"))
- {
- flags |= OBJF_MAPPED;
- }
- else if (STREQ (*argv, "-readnow"))
- {
+ flags |= OBJF_MAPPED;
+ else
+ if (STREQ (*argv, "-readnow"))
flags |= OBJF_READNOW;
- }
- else if (**argv == '-')
- {
- error ("unknown option `%s'", *argv);
- }
- else
- {
- char *p;
-
- name = *argv;
-
- /* this is for rombug remote only, to get the text relocation by
- using link command */
- p = strrchr (name, '/');
- if (p != NULL)
- p++;
+ else
+ if (**argv == '-')
+ error ("unknown option `%s'", *argv);
else
- p = name;
-
- target_link (p, &text_relocation);
-
- if (text_relocation == (CORE_ADDR) 0)
- return;
- else if (text_relocation == (CORE_ADDR) -1)
{
+ name = *argv;
symbol_file_add (name, from_tty, NULL, 1, flags);
#ifdef HPUXHPPA
RESET_HP_UX_GLOBALS ();
#endif
- }
- else
- {
- struct section_addr_info section_addrs;
- memset (§ion_addrs, 0, sizeof (section_addrs));
- section_addrs.text_addr = (CORE_ADDR) text_relocation;
- symbol_file_add (name, from_tty, §ion_addrs, 0, flags);
- }
+ /* Getting new symbols may change our opinion about
+ what is frameless. */
+ reinit_frame_cache ();
- /* Getting new symbols may change our opinion about what is
- frameless. */
- reinit_frame_cache ();
-
- set_initial_language ();
- }
+ set_initial_language ();
+ }
argv++;
}