This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New target method returning the name of the malloc function?


On Fri, Sep 06, 2002 at 09:17:11AM +0200, Pierre Muller wrote:
> At 02:23 06/09/2002 , Joel Brobecker a écrit:
> >Hello,
> >
> >The name of the function used to allocate some memory in the inferior is
> >currently hard-coded to "malloc" in valops.c:
> >
> >      struct value *
> >      value_allocate_space_in_inferior (int len)
> >      {
> >        struct value *blocklen;
> >        struct value *val = find_function_in_inferior ("malloc");
> >                                                        ^^^^^^
> >
> >Unfortunately, on interix, the malloc function is not always there.
> >Quoting Donn Terry:
> ><<
> >malloc() won't necessarily be present; the way our namespace pollution
> >prevention stuff works, if the user application doesn't call an entry
> >point at all, it just won't be there.  However, _malloc is always
> >present (at least in any real program) because it's called from within
> >the library.
> > >>
> >
> >May I suggest a new architecture method called for instance
> >NAME_OF_MALLOC or MALLOC_FUNCTION_NAME? The default would be to return
> >"malloc", but we could then change it to "_malloc" for the interix
> >target.
> That would be great !
> Because Pascal also does not define malloc...
> By the way, how is this allocated memory freed after the call to the 
> inferior function ?
> Does it use another C function for this, or how is it done.
> if it also need to find free then we should 
> also add a NAME_OF_FREE.

It doesn't release the memory.  There's some comments in the code about
why not - we have no way of knowing whether the called function stored
a pointer in a global variable somewhere.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]