Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [rfa] allocate_objfile(NULL, 0)
@ 2003-01-10 23:41 David Carlton
  2003-01-11  0:00 ` Elena Zannoni
  0 siblings, 1 reply; 8+ messages in thread
From: David Carlton @ 2003-01-10 23:41 UTC (permalink / raw)
  To: gdb-patches

The function allocate_objfile takes some care to return a useful
objfile if its first argument (the bfd) is NULL.  But it doesn't set
objfile->name in that case; there is code in GDB that loops over all
the objfiles and examines their names, which breaks in this case.
(See, for example, symbol_add_stub.)

I ran into this problem when imitating the dynamics objfile in
jv-lang.c.  So I'm pretty sure that, currently, if anybody tries to
debug Java code that requires that objfile to exist, GDB will seg
fault.

The enclosed patch modifies allocate_objfile to set the name to
"<<anonymous objfile>>" in that situation.  It removes the seg fault
that I saw.  I ran the test suite on i686-pc-linux-gnu/GCC 3.1/DWARF-2
and saw no new regressions.

Is this patch okay?  I don't know offhand who the appropriate
maintainer is.

David Carlton
carlton@math.stanford.edu

2003-01-10  David Carlton  <carlton@math.stanford.edu>

	* objfiles.c (allocate_objfile): Always set name.

Index: objfiles.c
===================================================================
RCS file: /cvs/src/src/gdb/objfiles.c,v
retrieving revision 1.22
diff -u -p -r1.22 objfiles.c
--- objfiles.c	29 Jul 2002 22:55:26 -0000	1.22
+++ objfiles.c	10 Jan 2003 23:31:56 -0000
@@ -305,6 +305,10 @@ allocate_objfile (bfd *abfd, int flags)
 		 objfile->name, bfd_errmsg (bfd_get_error ()));
 	}
     }
+  else
+    {
+      objfile->name = "<<anonymous objfile>>";
+    }
 
   /* Initialize the section indexes for this objfile, so that we can
      later detect if they are used w/o being properly assigned to. */


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-02-04 22:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-10 23:41 [rfa] allocate_objfile(NULL, 0) David Carlton
2003-01-11  0:00 ` Elena Zannoni
2003-01-11  0:12   ` David Carlton
2003-01-17 23:32     ` Tom Tromey
2003-02-04 18:02       ` Elena Zannoni
2003-02-04 18:07         ` Tom Tromey
2003-02-04 18:04     ` Elena Zannoni
2003-02-04 22:21       ` David Carlton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox