unsigned long section_size,
unsigned long total_sent,
unsigned long total_size);
-void (*pre_add_symbol_hook) (const char *);
-void (*post_add_symbol_hook) (void);
+void (*deprecated_pre_add_symbol_hook) (const char *);
+void (*deprecated_post_add_symbol_hook) (void);
void (*deprecated_target_new_objfile_hook) (struct objfile *);
static void clear_symtab_users_cleanup (void *ignore);
return sap;
}
+
+/* Return a freshly allocated copy of ADDRS. The section names, if
+ any, are also freshly allocated copies of those in ADDRS. */
+struct section_addr_info *
+copy_section_addr_info (struct section_addr_info *addrs)
+{
+ struct section_addr_info *copy
+ = alloc_section_addr_info (addrs->num_sections);
+ int i;
+
+ copy->num_sections = addrs->num_sections;
+ for (i = 0; i < addrs->num_sections; i++)
+ {
+ copy->other[i].addr = addrs->other[i].addr;
+ if (addrs->other[i].name)
+ copy->other[i].name = xstrdup (addrs->other[i].name);
+ else
+ copy->other[i].name = NULL;
+ copy->other[i].sectindex = addrs->other[i].sectindex;
+ }
+
+ return copy;
+}
+
+
+
/* Build (allocate and populate) a section_addr_info struct from
an existing section table. */
bfd_map_over_sections (objfile->obfd, find_lowest_section,
&lower_sect);
if (lower_sect == NULL)
- warning ("no loadable sections found in added symbol-file %s",
+ warning (_("no loadable sections found in added symbol-file %s"),
objfile->name);
else
if ((bfd_get_section_flags (objfile->obfd, lower_sect) & SEC_CODE) == 0)
- warning ("Lowest section in %s is %s at %s",
+ warning (_("Lowest section in %s is %s at %s"),
objfile->name,
bfd_section_name (objfile->obfd, lower_sect),
paddr (bfd_section_vma (objfile->obfd, lower_sect)));
}
else
{
- warning ("section %s not found in %s",
+ warning (_("section %s not found in %s"),
addrs->other[i].name,
objfile->name);
addrs->other[i].addr = 0;
struct objfile *objfile;
struct partial_symtab *psymtab;
char *debugfile;
- struct section_addr_info *orig_addrs;
+ struct section_addr_info *orig_addrs = NULL;
struct cleanup *my_cleanups;
const char *name = bfd_get_filename (abfd);
&& mainline
&& from_tty
&& !query ("Load new symbol table from \"%s\"? ", name))
- error ("Not confirmed.");
+ error (_("Not confirmed."));
objfile = allocate_objfile (abfd, flags);
discard_cleanups (my_cleanups);
- orig_addrs = alloc_section_addr_info (bfd_count_sections (abfd));
- my_cleanups = make_cleanup (xfree, orig_addrs);
if (addrs)
{
- int i;
- orig_addrs->num_sections = addrs->num_sections;
- for (i = 0; i < addrs->num_sections; i++)
- orig_addrs->other[i] = addrs->other[i];
+ orig_addrs = copy_section_addr_info (addrs);
+ make_cleanup_free_section_addr_info (orig_addrs);
}
/* We either created a new mapped symbol table, mapped an existing
performed, or need to read an unmapped symbol table. */
if (from_tty || info_verbose)
{
- if (pre_add_symbol_hook)
- pre_add_symbol_hook (name);
+ if (deprecated_pre_add_symbol_hook)
+ deprecated_pre_add_symbol_hook (name);
else
{
printf_unfiltered ("Reading symbols from %s...", name);
if (!have_partial_symbols () && !have_full_symbols ())
{
wrap_here ("");
- printf_unfiltered ("(no debugging symbols found)...");
+ printf_filtered ("(no debugging symbols found)");
+ if (from_tty || info_verbose)
+ printf_filtered ("...");
+ else
+ printf_filtered ("\n");
wrap_here ("");
}
if (from_tty || info_verbose)
{
- if (post_add_symbol_hook)
- post_add_symbol_hook ();
+ if (deprecated_post_add_symbol_hook)
+ deprecated_post_add_symbol_hook ();
else
{
printf_unfiltered ("done.\n");
if (deprecated_target_new_objfile_hook)
deprecated_target_new_objfile_hook (objfile);
+ bfd_cache_close_all ();
return (objfile);
}
&& from_tty
&& !query ("Discard symbol table from `%s'? ",
symfile_objfile->name))
- error ("Not confirmed.");
+ error (_("Not confirmed."));
free_all_objfiles ();
/* solib descriptors may have handles to objfiles. Since their
if (strcmp (*argv, "-readnow") == 0)
flags |= OBJF_READNOW;
else if (**argv == '-')
- error ("unknown option `%s'", *argv);
+ error (_("unknown option `%s'"), *argv);
else
{
name = *argv;
if (name == NULL)
{
- error ("no symbol file name was specified");
+ error (_("no symbol file name was specified"));
}
do_cleanups (cleanups);
}
name = tilde_expand (name); /* Returns 1st new malloc'd copy */
/* Look down path for it, allocate 2nd new malloc'd copy. */
- desc = openp (getenv ("PATH"), 1, name, O_RDONLY | O_BINARY, 0, &absolute_name);
+ desc = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, name, O_RDONLY | O_BINARY,
+ 0, &absolute_name);
#if defined(__GO32__) || defined(_WIN32) || defined (__CYGWIN__)
if (desc < 0)
{
char *exename = alloca (strlen (name) + 5);
strcat (strcpy (exename, name), ".exe");
- desc = openp (getenv ("PATH"), 1, exename, O_RDONLY | O_BINARY,
- 0, &absolute_name);
+ desc = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, exename,
+ O_RDONLY | O_BINARY, 0, &absolute_name);
}
#endif
if (desc < 0)
{
close (desc);
make_cleanup (xfree, name);
- error ("\"%s\": can't open to read symbols: %s.", name,
+ error (_("\"%s\": can't open to read symbols: %s."), name,
bfd_errmsg (bfd_get_error ()));
}
bfd_set_cacheable (sym_bfd, 1);
bfd). */
bfd_close (sym_bfd); /* This also closes desc */
make_cleanup (xfree, name);
- error ("\"%s\": can't read symbols: %s.", name,
+ error (_("\"%s\": can't read symbols: %s."), name,
bfd_errmsg (bfd_get_error ()));
}
return (sym_bfd);
return;
}
}
- error ("I'm sorry, Dave, I can't do that. Symbol format `%s' unknown.",
+ error (_("I'm sorry, Dave, I can't do that. Symbol format `%s' unknown."),
bfd_get_target (objfile->obfd));
}
\f
make_cleanup (xfree, check);
if (target_read_memory (lma, check, len) != 0)
- error ("Download verify read failed at 0x%s",
+ error (_("Download verify read failed at 0x%s"),
paddr (lma));
if (memcmp (buffer, check, len) != 0)
- error ("Download verify compare failed at 0x%s",
+ error (_("Download verify compare failed at 0x%s"),
paddr (lma));
do_cleanups (verify_cleanups);
}
if (quit_flag
|| (deprecated_ui_load_progress_hook != NULL
&& deprecated_ui_load_progress_hook (sect_name, sent)))
- error ("Canceled the download");
+ error (_("Canceled the download"));
if (deprecated_show_load_progress != NULL)
deprecated_show_load_progress (sect_name, sent, size,
while (sent < size);
if (err != 0)
- error ("Memory access error while loading section %s.", sect_name);
+ error (_("Memory access error while loading section %s."), sect_name);
do_cleanups (old_chain);
}
cbdata.load_offset = strtoul (offptr, &endptr, 0);
if (offptr == endptr)
- error ("Invalid download offset:%s\n", offptr);
+ error (_("Invalid download offset:%s."), offptr);
*offptr = '\0';
}
else
if (!bfd_check_format (loadfile_bfd, bfd_object))
{
- error ("\"%s\" is not an object file: %s", filename,
+ error (_("\"%s\" is not an object file: %s"), filename,
bfd_errmsg (bfd_get_error ()));
}
to a comment from remote-mips.c (where a call to symbol_file_add
was commented out), making the call confuses GDB if more than one
file is loaded in. Some targets do (e.g., remote-vx.c) but
- others don't (or didn't - perhaphs they have all been deleted). */
+ others don't (or didn't - perhaps they have all been deleted). */
print_transfer_performance (gdb_stdout, cbdata.data_count,
cbdata.write_count, end_time - start_time);
dont_repeat ();
if (args == NULL)
- error ("add-symbol-file takes a file name and an address");
+ error (_("add-symbol-file takes a file name and an address"));
/* Make a copy of the string that we can safely write into. */
args = xstrdup (args);
}
}
else
- error ("USAGE: add-symbol-file <filename> <textaddress> [-mapped] [-readnow] [-s <secname> <addr>]*");
+ error (_("USAGE: add-symbol-file <filename> <textaddress> [-mapped] [-readnow] [-s <secname> <addr>]*"));
}
}
argcnt++;
/* Print the prompt for the query below. And save the arguments into
a sect_addr_info structure to be passed around to other
functions. We have to split this up into separate print
- statements because local_hex_string returns a local static
+ statements because hex_string returns a local static
string. */
printf_unfiltered ("add symbol table from file \"%s\" at\n", filename);
section_addrs->other[sec_num].name = sec;
section_addrs->other[sec_num].addr = addr;
printf_unfiltered ("\t%s_addr = %s\n",
- sec,
- local_hex_string ((unsigned long)addr));
+ sec, hex_string ((unsigned long)addr));
sec_num++;
/* The object's sections are initialized when a
}
if (from_tty && (!query ("%s", "")))
- error ("Not confirmed.");
+ error (_("Not confirmed."));
symbol_file_add (filename, from_tty, section_addrs, 0, flags);
#ifdef ADD_SHARED_SYMBOL_FILES
ADD_SHARED_SYMBOL_FILES (args, from_tty);
#else
- error ("This command is not available in this configuration of GDB.");
+ error (_("This command is not available in this configuration of GDB."));
#endif
}
\f
BFD without closing the descriptor. */
obfd_filename = bfd_get_filename (objfile->obfd);
if (!bfd_close (objfile->obfd))
- error ("Can't close BFD for %s: %s", objfile->name,
+ error (_("Can't close BFD for %s: %s"), objfile->name,
bfd_errmsg (bfd_get_error ()));
objfile->obfd = bfd_openr (obfd_filename, gnutarget);
if (objfile->obfd == NULL)
- error ("Can't open %s to read symbols.", objfile->name);
+ error (_("Can't open %s to read symbols."), objfile->name);
/* bfd_openr sets cacheable to true, which is what we want. */
if (!bfd_check_format (objfile->obfd, bfd_object))
- error ("Can't read symbols from %s: %s.", objfile->name,
+ error (_("Can't read symbols from %s: %s."), objfile->name,
bfd_errmsg (bfd_get_error ()));
/* Save the offsets, we will nuke them with the rest of the
/* FIXME: Do we have to free a whole linked list, or is this
enough? */
if (objfile->global_psymbols.list)
- xmfree (objfile->md, objfile->global_psymbols.list);
+ xfree (objfile->global_psymbols.list);
memset (&objfile->global_psymbols, 0,
sizeof (objfile->global_psymbols));
if (objfile->static_psymbols.list)
- xmfree (objfile->md, objfile->static_psymbols.list);
+ xfree (objfile->static_psymbols.list);
memset (&objfile->static_psymbols, 0,
sizeof (objfile->static_psymbols));
objfile->free_psymtabs = NULL;
objfile->cp_namespace_symtab = NULL;
objfile->msymbols = NULL;
- objfile->sym_private = NULL;
+ objfile->deprecated_sym_private = NULL;
objfile->minimal_symbol_count = 0;
memset (&objfile->msymbol_hash, 0,
sizeof (objfile->msymbol_hash));
obstack_init (&objfile->objfile_obstack);
if (build_objfile_section_table (objfile))
{
- error ("Can't find the file sections in `%s': %s",
+ error (_("Can't find the file sections in `%s': %s"),
objfile->name, bfd_errmsg (bfd_get_error ()));
}
terminate_minimal_symbol_table (objfile);
/* First arg is filename extension, starting with '.' */
if (*cp != '.')
- error ("'%s': Filename extension must begin with '.'", ext_args);
+ error (_("'%s': Filename extension must begin with '.'"), ext_args);
/* Find end of first arg. */
while (*cp && !isspace (*cp))
cp++;
if (*cp == '\0')
- error ("'%s': two arguments required -- filename extension and language",
+ error (_("'%s': two arguments required -- filename extension and language"),
ext_args);
/* Null-terminate first arg */
cp++;
if (*cp == '\0')
- error ("'%s': two arguments required -- filename extension and language",
+ error (_("'%s': two arguments required -- filename extension and language"),
ext_args);
/* Lookup the language from among those we know. */
add_filename_language (".pas", language_pascal);
add_filename_language (".p", language_pascal);
add_filename_language (".pp", language_pascal);
+ add_filename_language (".adb", language_ada);
+ add_filename_language (".ads", language_ada);
+ add_filename_language (".a", language_ada);
+ add_filename_language (".ada", language_ada);
}
}
|| BLOCK_NSYMS (BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK))
|| BLOCK_NSYMS (BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK)))
{
- complaint (&symfile_complaints, "Replacing old symbols for `%s'",
+ complaint (&symfile_complaints, _("Replacing old symbols for `%s'"),
name);
clear_symtab_users_queued++;
make_cleanup (clear_symtab_users_once, 0);
blewit = 1;
}
else
- {
- complaint (&symfile_complaints, "Empty symbol table found for `%s'",
- name);
- }
+ complaint (&symfile_complaints, _("Empty symbol table found for `%s'"),
+ name);
free_symtab (s);
}
if (objfile->global_psymbols.list)
{
- xmfree (objfile->md, objfile->global_psymbols.list);
+ xfree (objfile->global_psymbols.list);
}
if (objfile->static_psymbols.list)
{
- xmfree (objfile->md, objfile->static_psymbols.list);
+ xfree (objfile->static_psymbols.list);
}
/* Current best guess is that approximately a twentieth
{
objfile->global_psymbols.next =
objfile->global_psymbols.list = (struct partial_symbol **)
- xmmalloc (objfile->md, (objfile->global_psymbols.size
- * sizeof (struct partial_symbol *)));
+ xmalloc ((objfile->global_psymbols.size
+ * sizeof (struct partial_symbol *)));
}
if (objfile->static_psymbols.size > 0)
{
objfile->static_psymbols.next =
objfile->static_psymbols.list = (struct partial_symbol **)
- xmmalloc (objfile->md, (objfile->static_psymbols.size
- * sizeof (struct partial_symbol *)));
+ xmalloc ((objfile->static_psymbols.size
+ * sizeof (struct partial_symbol *)));
}
}
asection *bfdsec;
if (!overlay_debugging)
- error ("\
+ error (_("\
Overlay debugging not enabled. Use either the 'overlay auto' or\n\
-the 'overlay manual' command.");
+the 'overlay manual' command."));
if (args == 0 || *args == 0)
- error ("Argument required: name of an overlay section");
+ error (_("Argument required: name of an overlay section"));
/* First, find a section matching the user supplied argument */
ALL_OBJSECTIONS (objfile, sec)
}
return;
}
- error ("No overlay section called %s", args);
+ error (_("No overlay section called %s"), args);
}
/* Function: unmap_overlay_command
struct obj_section *sec;
if (!overlay_debugging)
- error ("\
+ error (_("\
Overlay debugging not enabled. Use either the 'overlay auto' or\n\
-the 'overlay manual' command.");
+the 'overlay manual' command."));
if (args == 0 || *args == 0)
- error ("Argument required: name of an overlay section");
+ error (_("Argument required: name of an overlay section"));
/* First, find a section matching the user supplied argument */
ALL_OBJSECTIONS (objfile, sec)
if (!strcmp (bfd_section_name (objfile->obfd, sec->the_bfd_section), args))
{
if (!sec->ovly_mapped)
- error ("Section %s is not mapped", args);
+ error (_("Section %s is not mapped"), args);
sec->ovly_mapped = 0;
return;
}
- error ("No overlay section called %s", args);
+ error (_("No overlay section called %s"), args);
}
/* Function: overlay_auto_command
if (target_overlay_update)
(*target_overlay_update) (NULL);
else
- error ("This target does not know how to read its overlay state.");
+ error (_("This target does not know how to read its overlay state."));
}
/* Function: overlay_command
novlys_msym = lookup_minimal_symbol ("_novlys", NULL, NULL);
if (! novlys_msym)
{
- error ("Error reading inferior's overlay table: "
+ error (_("Error reading inferior's overlay table: "
"couldn't find `_novlys' variable\n"
- "in inferior. Use `overlay manual' mode.");
+ "in inferior. Use `overlay manual' mode."));
return 0;
}
ovly_table_msym = lookup_minimal_symbol ("_ovly_table", NULL, NULL);
if (! ovly_table_msym)
{
- error ("Error reading inferior's overlay table: couldn't find "
+ error (_("Error reading inferior's overlay table: couldn't find "
"`_ovly_table' array\n"
- "in inferior. Use `overlay manual' mode.");
+ "in inferior. Use `overlay manual' mode."));
return 0;
}
for access from GDB.", &cmdlist);
set_cmd_completer (c, filename_completer);
- add_show_from_set
+ deprecated_add_show_from_set
(add_set_cmd ("symbol-reloading", class_support, var_boolean,
(char *) &symbol_reloading,
"Set dynamic symbol table reloading multiple times in one run.",
add_info ("extensions", info_ext_lang_command,
"All filename extensions associated with a source language.");
- add_show_from_set
+ deprecated_add_show_from_set
(add_set_cmd ("download-write-size", class_obscure,
var_integer, (char *) &download_write_size,
"Set the write size used when downloading a program.\n"
"and lastly at the path of the directory of the binary with\n"
"the global debug-file directory prepended\n",
&setlist));
- add_show_from_set (c, &showlist);
+ deprecated_add_show_from_set (c, &showlist);
set_cmd_completer (c, filename_completer);
}