ada symbol lookup cache: disable for 7.9?
Joel Brobecker
brobecker@adacore.com
Mon Jan 19 15:04:00 GMT 2015
> It turns out that ada-lang.c accidently never uses its symbol lookup
> cache (AFAICT!).
> Rather, it will create a new one for each lookup, not recording the
> cache in pspace_data,
> and leaking the memory.
Indeed!
Attached is a patch that fixes this issue. I've tested on x86_64-linux,
after having applied your testscase update
(https://www.sourceware.org/ml/gdb-patches/2015-01/msg00510.html),
as well as the fix you posted in PR 17855
(https://sourceware.org/bugzilla/show_bug.cgi?id=17855).
No regression.
As to whether we should deactivate it entirely for 7.9, I would
personally prefer we tried to fix the bug(s), and see where we get.
It used to work fine until I accidently botched the initialization
of that cache when I tried to make it per-program-space. That's
what I'll do anyway for AdaCore's version. However, if you think
it's better to disable it entirely for the FSF version, I will
accept that.
gdb/ChangeLog:
PR gdb/17854:
* ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache
when allocating a new one.
We need your fix from PR 17855 before we can commit this one, because
your testcase update reveals a regression as soon as the cache gets
activated (I tested your patch on x86_64-linux as part of this testing).
I'll start looking at re-caching entries obtained from cache. It seems
that it's a real waste of memory, but not bad enough to actually cause
a functional issue?
Thanks,
--
Joel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Ada-pspace_data-sym_cache-is-always-NULL.patch
Type: text/x-diff
Size: 1878 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20150119/57e8022d/attachment.bin>
More information about the Gdb-patches
mailing list