OSDN Git Service

Do not add arcs to the soinfo graph on dlopen
authorBjorn Andersson <bjorn.andersson@sonymobile.com>
Fri, 23 May 2014 00:53:01 +0000 (17:53 -0700)
committerDmitriy Ivanov <dimitry@google.com>
Fri, 23 May 2014 02:08:14 +0000 (19:08 -0700)
commit3c005d60194aadd92584258118c06782c9deab11
tree2b86b3c85f0f518237e7d92068c702fd5d34afe0
parent0b10ffb40f3b426a7b5e734f90c41f56351729a0
Do not add arcs to the soinfo graph on dlopen

While introducing RTLD_NOLOAD in b648a8a5 a change in how soinfo structs are
connected was also introduced. When calling dlopen the library that is loaded
is added as a child to the soinfo from which the caller comes - i.e. building a
dependency graph.

Unfortunately this shows issues upon unloading, such as blowing the stack if
there are loops in the graph.

This change reverts that part of b648a8a5, keeping everything as a child of the
root soinfo.

Change-Id: I604ee9210613b19f693a568158e69707620a95db
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
linker/linker.cpp