This is the mail archive of the gdb@sourceware.org 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]

TYPE_NAME memory management


On Fri, Sep 4, 2009 at 11:03 AM, Doug Evans<dje@google.com> wrote:
> On Fri, Sep 4, 2009 at 10:59 AM, Paul Pluzhnikov<ppluzhnikov@google.com> wrote:
>> On Fri, Sep 4, 2009 at 8:25 AM, Paul Pluzhnikov<ppluzhnikov@google.com> wrote:
>>
>>> I am still working on a stand-alone repro case.
>>
>> Here it is:
>>
>>[...]
>> Segmentation fault (core dumped)
>>
>> I will not be able to work on a fix before next Tuesday, so if anybody
>> fixes this before then, please let me know.

Memory management for TYPE_NAME and TYPE_TAG_NAME is a bit random.

E.g.
bash$ grep "TYPE_NAME *(.*) *= " *.c
bash$ grep "TYPE_TAG_NAME *(.*) *= " *.c

Sometimes it's a string constant, sometimes it's in malloc space,
sometimes it's on objfile's obstack, and now sometimes it can live in
mmap'd space.

Obviously one would rather not place ordering constraints on objfile
data cleanups.  All the above uses are "ok" (modulo any memory leaks
from malloc'd strings) except for the new mmap'd values, so it seems
like the thing to do for now is copy such strings onto the objfile's
obstack.
I'm not sure what the speed loss will be, but I think it's the thing
to do pending data that says something more clever is needed.


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