Em Mon, Sep 29, 2014 at 01:30:07PM -0400, Waiman Long escreveu:
On 09/28/2014 11:54 PM, Namhyung Kim wrote:Yes, I think that if we have already how to obtain the head/root where
On Fri, 26 Sep 2014 11:06:25 -0300, Arnaldo Carvalho de Melo wrote:There are 2 dsos at the machine structure level - user_dsos and kernel_dsos.
Em Wed, Sep 24, 2014 at 11:45:39AM -0400, Waiman Long escreveu:But it seems we can use map->groups->machine to find out the head/root
This is a precursor patch to enable long name searching of DSOsArgh, yeah, that is unfortunate that we need to add entries that deep
using the rbtree. In this patch, a new dsos structure is created
which contains only a list head structure for the moment. The new
dsos structure is used, in turn, in the machine structure for the
user_dsos and kernel_dsos fields. Only the following 3 dsos functions
are modified to accept the new dsos structure parameter instead
of list_head:
- dsos__add()
- dsos__find()
- __dsos__findnew()
Because of the need to find out the corresponding dsos structure to
properly call dsos__add() in dso__load_sym() of util/symbol-elf.c,
a new dsos field is also added to the dso structure.
inside dso__load_syms() :-\
of the dsos..
In this particular case, it should be kernel_dsos. I can remove the dsos
pointer and hardcode it to use the kernel_dsos if you guys think it is
acceptable.
we want to insert things from structures present at that point in the
code, no need to add it to the per-dso data structure.
Thanks to Namhyung for finding an existing way of getting to the needed
data structures.
- Arnaldo