New flag OBJF_NOT_FILENAME
gdb/ 2013-10-09 Jan Kratochvil <jan.kratochvil@redhat.com> New flag OBJF_NOT_FILENAME. * auto-load.c (auto_load_objfile_script): Check also OBJF_NOT_FILENAME. * jit.c (jit_object_close_impl): Use OBJF_NOT_FILENAME for allocate_objfile. (jit_bfd_try_read_symtab): Use OBJF_NOT_FILENAME for symbol_file_add_from_bfd. * jv-lang.c (get_dynamics_objfile): Use OBJF_NOT_FILENAME for allocate_objfile. * objfiles.c (allocate_objfile): Assert OBJF_NOT_FILENAME if NAME is NULL. * objfiles.h (OBJF_NOT_FILENAME): New.
This commit is contained in:
parent
86879d8871
commit
40135bb14b
6 changed files with 26 additions and 4 deletions
|
@ -1,3 +1,17 @@
|
||||||
|
2013-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
New flag OBJF_NOT_FILENAME.
|
||||||
|
* auto-load.c (auto_load_objfile_script): Check also OBJF_NOT_FILENAME.
|
||||||
|
* jit.c (jit_object_close_impl): Use OBJF_NOT_FILENAME for
|
||||||
|
allocate_objfile.
|
||||||
|
(jit_bfd_try_read_symtab): Use OBJF_NOT_FILENAME for
|
||||||
|
symbol_file_add_from_bfd.
|
||||||
|
* jv-lang.c (get_dynamics_objfile): Use OBJF_NOT_FILENAME for
|
||||||
|
allocate_objfile.
|
||||||
|
* objfiles.c (allocate_objfile): Assert OBJF_NOT_FILENAME if NAME is
|
||||||
|
NULL.
|
||||||
|
* objfiles.h (OBJF_NOT_FILENAME): New.
|
||||||
|
|
||||||
2013-10-08 Tom Tromey <tromey@redhat.com>
|
2013-10-08 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* Makefile.in (SFILES): Add build-id.c.
|
* Makefile.in (SFILES): Add build-id.c.
|
||||||
|
|
|
@ -840,7 +840,7 @@ auto_load_objfile_script (struct objfile *objfile,
|
||||||
void
|
void
|
||||||
load_auto_scripts_for_objfile (struct objfile *objfile)
|
load_auto_scripts_for_objfile (struct objfile *objfile)
|
||||||
{
|
{
|
||||||
if (!global_auto_load)
|
if (!global_auto_load || (objfile->flags & OBJF_NOT_FILENAME) != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (auto_load_gdb_scripts)
|
if (auto_load_gdb_scripts)
|
||||||
|
|
|
@ -785,7 +785,8 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb,
|
||||||
|
|
||||||
priv_data = cb->priv_data;
|
priv_data = cb->priv_data;
|
||||||
|
|
||||||
objfile = allocate_objfile (NULL, "<< JIT compiled code >>", 0);
|
objfile = allocate_objfile (NULL, "<< JIT compiled code >>",
|
||||||
|
OBJF_NOT_FILENAME);
|
||||||
objfile->per_bfd->gdbarch = target_gdbarch ();
|
objfile->per_bfd->gdbarch = target_gdbarch ();
|
||||||
|
|
||||||
terminate_minimal_symbol_table (objfile);
|
terminate_minimal_symbol_table (objfile);
|
||||||
|
@ -926,7 +927,7 @@ JITed symbol file is not an object file, ignoring it.\n"));
|
||||||
/* This call does not take ownership of SAI. */
|
/* This call does not take ownership of SAI. */
|
||||||
make_cleanup_bfd_unref (nbfd);
|
make_cleanup_bfd_unref (nbfd);
|
||||||
objfile = symbol_file_add_from_bfd (nbfd, bfd_get_filename (nbfd), 0, sai,
|
objfile = symbol_file_add_from_bfd (nbfd, bfd_get_filename (nbfd), 0, sai,
|
||||||
OBJF_SHARED, NULL);
|
OBJF_SHARED | OBJF_NOT_FILENAME, NULL);
|
||||||
|
|
||||||
do_cleanups (old_cleanups);
|
do_cleanups (old_cleanups);
|
||||||
add_objfile_entry (objfile, entry_addr);
|
add_objfile_entry (objfile, entry_addr);
|
||||||
|
|
|
@ -118,7 +118,8 @@ get_dynamics_objfile (struct gdbarch *gdbarch)
|
||||||
|
|
||||||
/* Mark it as shared so that it is cleared when the inferior is
|
/* Mark it as shared so that it is cleared when the inferior is
|
||||||
re-run. */
|
re-run. */
|
||||||
dynamics_objfile = allocate_objfile (NULL, NULL, OBJF_SHARED);
|
dynamics_objfile = allocate_objfile (NULL, NULL,
|
||||||
|
OBJF_SHARED | OBJF_NOT_FILENAME);
|
||||||
dynamics_objfile->per_bfd->gdbarch = gdbarch;
|
dynamics_objfile->per_bfd->gdbarch = gdbarch;
|
||||||
|
|
||||||
data = XCNEW (struct jv_per_objfile_data);
|
data = XCNEW (struct jv_per_objfile_data);
|
||||||
|
|
|
@ -289,6 +289,7 @@ allocate_objfile (bfd *abfd, const char *name, int flags)
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
{
|
{
|
||||||
gdb_assert (abfd == NULL);
|
gdb_assert (abfd == NULL);
|
||||||
|
gdb_assert ((flags & OBJF_NOT_FILENAME) != 0);
|
||||||
name = "<<anonymous objfile>>";
|
name = "<<anonymous objfile>>";
|
||||||
}
|
}
|
||||||
objfile->original_name = obstack_copy0 (&objfile->objfile_obstack, name,
|
objfile->original_name = obstack_copy0 (&objfile->objfile_obstack, name,
|
||||||
|
|
|
@ -429,6 +429,11 @@ struct objfile
|
||||||
|
|
||||||
#define OBJF_MAINLINE (1 << 5)
|
#define OBJF_MAINLINE (1 << 5)
|
||||||
|
|
||||||
|
/* ORIGINAL_NAME and OBFD->FILENAME correspond to text description unrelated to
|
||||||
|
filesystem names. It can be for example "<image in memory>". */
|
||||||
|
|
||||||
|
#define OBJF_NOT_FILENAME (1 << 6)
|
||||||
|
|
||||||
/* Declarations for functions defined in objfiles.c */
|
/* Declarations for functions defined in objfiles.c */
|
||||||
|
|
||||||
extern struct objfile *allocate_objfile (bfd *, const char *name, int);
|
extern struct objfile *allocate_objfile (bfd *, const char *name, int);
|
||||||
|
|
Loading…
Reference in a new issue