<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core/libnativeloader, branch replicant-10</title>
<subtitle>Fork of system/core
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/'/>
<entry>
<title>Nativeloader: Restrict anonymous namespace creation</title>
<updated>2019-04-29T17:42:38+00:00</updated>
<author>
<name>Andreas Gampe</name>
<email>agampe@google.com</email>
</author>
<published>2019-04-26T15:51:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=0c3f120fc67a3cea8d706ea5cfeef85f6c8ad2bc'/>
<id>0c3f120fc67a3cea8d706ea5cfeef85f6c8ad2bc</id>
<content type='text'>
Create the anonymous namespace only from a non-empty library path.

This is a better heuristic than the current "first-come" one. It
allows creating classloaders that are not directly related to an
app's "main" classloader, that is, do not have any library path.
This is the case, for example, for shared libraries, including
preloaded ones.

Longer-term, the anonymous namespace creation should be made
explicit, so that the framework can have full control.

(cherry picked from commit b9df7d936c7dfd1741b56e722065a46ac1e50607)

Bug: 130623656
Test: m
Test: manual
Merged-In: I8251363b372e365d10ae09d23df93d76388ac7f9
Change-Id: I8251363b372e365d10ae09d23df93d76388ac7f9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create the anonymous namespace only from a non-empty library path.

This is a better heuristic than the current "first-come" one. It
allows creating classloaders that are not directly related to an
app's "main" classloader, that is, do not have any library path.
This is the case, for example, for shared libraries, including
preloaded ones.

Longer-term, the anonymous namespace creation should be made
explicit, so that the framework can have full control.

(cherry picked from commit b9df7d936c7dfd1741b56e722065a46ac1e50607)

Bug: 130623656
Test: m
Test: manual
Merged-In: I8251363b372e365d10ae09d23df93d76388ac7f9
Change-Id: I8251363b372e365d10ae09d23df93d76388ac7f9
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Add dependency on libdl_android"</title>
<updated>2019-03-28T09:05:53+00:00</updated>
<author>
<name>Dimitry Ivanov</name>
<email>dimitry@google.com</email>
</author>
<published>2019-03-28T09:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=f6fd41c423ff6835f2a298ec84c57943980ac99e'/>
<id>f6fd41c423ff6835f2a298ec84c57943980ac99e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not fail when there is no vndk namespace</title>
<updated>2019-03-25T04:48:43+00:00</updated>
<author>
<name>Kiyoung Kim</name>
<email>kiyoungkim@google.com</email>
</author>
<published>2019-03-21T07:56:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=ddbb6ed7e7e56cc2829356b4b7a0b7d9141ae423'/>
<id>ddbb6ed7e7e56cc2829356b4b7a0b7d9141ae423</id>
<content type='text'>
Some of the legacy devices may not have vndk namespace. To make this
work, libnativeloader should not fail when it fails to search for vndk
namespace.

Bug: 129011845
Test: m -j
Change-Id: Id9147d4aeee9ba2b301b6893dea5884dce9c14fa
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some of the legacy devices may not have vndk namespace. To make this
work, libnativeloader should not fail when it fails to search for vndk
namespace.

Bug: 129011845
Test: m -j
Change-Id: Id9147d4aeee9ba2b301b6893dea5884dce9c14fa
</pre>
</div>
</content>
</entry>
<entry>
<title>Add dependency on libdl_android</title>
<updated>2019-03-20T11:26:41+00:00</updated>
<author>
<name>dimitry</name>
<email>dimitry@google.com</email>
</author>
<published>2019-03-19T11:29:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=e3d0383d38fbac339a6a2ef02403836e41a11cd3'/>
<id>e3d0383d38fbac339a6a2ef02403836e41a11cd3</id>
<content type='text'>
platform private symbols have been moved to libdl_android.so
since they are not intended to be accessible from apps.

Test: make
Change-Id: I883a6d2ca588a258dd43efa766fad4e07428594e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
platform private symbols have been moved to libdl_android.so
since they are not intended to be accessible from apps.

Test: make
Change-Id: I883a6d2ca588a258dd43efa766fad4e07428594e
</pre>
</div>
</content>
</entry>
<entry>
<title>Add product apk support from libnativeloader</title>
<updated>2019-03-07T03:01:23+00:00</updated>
<author>
<name>Kiyoung Kim</name>
<email>kiyoungkim@google.com</email>
</author>
<published>2019-02-20T09:04:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=cd8b96cb7c6b9d47a30a0198a807e4ae4494be6d'/>
<id>cd8b96cb7c6b9d47a30a0198a807e4ae4494be6d</id>
<content type='text'>
Currently libnativeloader appends vendor lib path if apk is from vendor
partition. Similar to this, as part of mainline core, we should add
product lib path if apk if from product partition.

Bug: 124705551
Test: m -j &amp;&amp; tested from crosshatch with product apps (such as Wallpaper)
Change-Id: I8690167ca8098015c8ae4bbb4f028404c5e94dc0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently libnativeloader appends vendor lib path if apk is from vendor
partition. Similar to this, as part of mainline core, we should add
product lib path if apk if from product partition.

Bug: 124705551
Test: m -j &amp;&amp; tested from crosshatch with product apps (such as Wallpaper)
Change-Id: I8690167ca8098015c8ae4bbb4f028404c5e94dc0
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid runtime namespace becoming parent for classloader-namespace.</title>
<updated>2019-02-23T03:46:27+00:00</updated>
<author>
<name>Martin Stjernholm</name>
<email>mast@google.com</email>
</author>
<published>2019-02-23T02:10:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=7888b5cdd7dd62e07d39204dc8036a23e4ab2e5b'/>
<id>7888b5cdd7dd62e07d39204dc8036a23e4ab2e5b</id>
<content type='text'>
Passing nullptr as parent namespace to android_create_namespace makes it use
the namespace of the caller as parent, which typically is the runtime
namespace. That in turn causes classloader-namespace to inherit any
libraries in the shared group of the runtime namespace, i.e. any libraries
that have been loaded in it with RTLD_GLOBAL or DF_1_GLOBAL up to that
point.

Let's instead pass the platform namespace from the linker config as fallback
when a parent namespace cannot be found. That is also what happened before
libnativeloader moved into the runtime namespace.

Test: Flash and boot
Test: atest CtsJniTestCases (on cuttlefish and taimen)
Bug: 124501296
Change-Id: If2faee74e2bdcf95d19516faec340fedcdd07e29
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing nullptr as parent namespace to android_create_namespace makes it use
the namespace of the caller as parent, which typically is the runtime
namespace. That in turn causes classloader-namespace to inherit any
libraries in the shared group of the runtime namespace, i.e. any libraries
that have been loaded in it with RTLD_GLOBAL or DF_1_GLOBAL up to that
point.

Let's instead pass the platform namespace from the linker config as fallback
when a parent namespace cannot be found. That is also what happened before
libnativeloader moved into the runtime namespace.

Test: Flash and boot
Test: atest CtsJniTestCases (on cuttlefish and taimen)
Bug: 124501296
Change-Id: If2faee74e2bdcf95d19516faec340fedcdd07e29
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dependency on libcutils</title>
<updated>2019-02-22T08:55:48+00:00</updated>
<author>
<name>Orion Hodson</name>
<email>oth@google.com</email>
</author>
<published>2019-02-21T17:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=34b126b98b4677fb432c20a76e7592e4d6a53039'/>
<id>34b126b98b4677fb432c20a76e7592e4d6a53039</id>
<content type='text'>
libnativeloader is in the Runtime Module, libcutils is not.

Dependency was on property_get so moving to libbase equivalent.

Bug: b/125323247
Test: m -j100
Change-Id: I295ffa14b475a193a851db89dbb3b4c9cc0183d2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libnativeloader is in the Runtime Module, libcutils is not.

Dependency was on property_get so moving to libbase equivalent.

Bug: b/125323247
Test: m -j100
Change-Id: I295ffa14b475a193a851db89dbb3b4c9cc0183d2
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge changes from topic "dup_icu4c"</title>
<updated>2019-02-19T10:14:31+00:00</updated>
<author>
<name>vichang</name>
<email>vichang@google.com</email>
</author>
<published>2019-02-19T10:14:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=ce912aadda68e6f3f4261d78bb9564cdad7513ba'/>
<id>ce912aadda68e6f3f4261d78bb9564cdad7513ba</id>
<content type='text'>
* changes:
  Linker namespace changes for moving ICU4C to APEX
  Remove the public libs in runtime namespace
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* changes:
  Linker namespace changes for moving ICU4C to APEX
  Remove the public libs in runtime namespace
</pre>
</div>
</content>
</entry>
<entry>
<title>shim libraries for libnativeloader and libnativebridge</title>
<updated>2019-02-12T10:35:45+00:00</updated>
<author>
<name>Jiyong Park</name>
<email>jiyong@google.com</email>
</author>
<published>2019-01-28T15:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=00f2ebe9cc33a17c40936f2a2d4f795edcb395b5'/>
<id>00f2ebe9cc33a17c40936f2a2d4f795edcb395b5</id>
<content type='text'>
libnativeloader_lazy and libnativebridge_lazy are shim libraries for
libnativeloader and libnativebridge, respectively.

The shim libraries provides the same APIs as their counterparts, but
when the APIs are called, the APIs from the real libraries are
loaded/linked/and executed using dlopen/dlsym.

Bug: 123403798
Bug: 124250621
Test: m
Test: device boots to the UI
Test: mma under system/core/libnativebridge with aosp_cf_x86
adb sync; execute all tests under
/data/nativetest/libnativebridge-lazy-tests
All passes except NativeBridgeTest.V2_Signal which is also failing
in /data/nativetest/libnativebridge-tests.

Change-Id: Ic6484784eaa7872dcdd2decbb30943fb34c1abd7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libnativeloader_lazy and libnativebridge_lazy are shim libraries for
libnativeloader and libnativebridge, respectively.

The shim libraries provides the same APIs as their counterparts, but
when the APIs are called, the APIs from the real libraries are
loaded/linked/and executed using dlopen/dlsym.

Bug: 123403798
Bug: 124250621
Test: m
Test: device boots to the UI
Test: mma under system/core/libnativebridge with aosp_cf_x86
adb sync; execute all tests under
/data/nativetest/libnativebridge-lazy-tests
All passes except NativeBridgeTest.V2_Signal which is also failing
in /data/nativetest/libnativebridge-tests.

Change-Id: Ic6484784eaa7872dcdd2decbb30943fb34c1abd7
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the public libs in runtime namespace</title>
<updated>2019-02-08T13:34:09+00:00</updated>
<author>
<name>Victor Chang</name>
<email>vichang@google.com</email>
</author>
<published>2019-02-01T20:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=f70a2fe4c1149ba94105b1ed64903f0d6758b2cc'/>
<id>f70a2fe4c1149ba94105b1ed64903f0d6758b2cc</id>
<content type='text'>
These libs are listed in public.android.txt, but not exposed in the default namespace

Bug: 120786417
Bug: 121372395
Test: app can still DT_NEEDED libicuuc.so
Change-Id: I03dc51f04e29c2d15679c4daf82b05a812efb2db
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These libs are listed in public.android.txt, but not exposed in the default namespace

Bug: 120786417
Bug: 121372395
Test: app can still DT_NEEDED libicuuc.so
Change-Id: I03dc51f04e29c2d15679c4daf82b05a812efb2db
</pre>
</div>
</content>
</entry>
</feed>
