summaryrefslogtreecommitdiff
path: root/libnativeloader/library_namespaces.cpp
diff options
context:
space:
mode:
author Victor Hsieh <victorhsieh@google.com> 2021-06-14 12:48:10 -0700
committer Treehugger Robot <treehugger-gerrit@google.com> 2021-06-16 16:52:52 +0000
commitb3a4e01448a32b2dc53cad8a981ed7c75d12d2cc (patch)
tree6bf28066ed85e965d1bc141abcdac5c3a5a72a7f /libnativeloader/library_namespaces.cpp
parent0be3da60fa382ded4a3f9b714d9da4e22667e15a (diff)
odrefresh: Support option to run dex2oat in PVM
pvm_exec is an executable to run a command remotely, assuming the code is also in the VM. Since the input files may not be available in the VM, pvm_exec internally takes over the FDs and becomes a file server. In the remote execution setup, dex2oat receives the same FD numbers, and relies on "authfs", a FUSE client that talkes to the file server, to translate the read/write. By wrapping dex2oat with pvm_exec, this change makes it possible run dex2oat remotely, though not necessarily securely. For example, a command is not a secure interface since it allows unlimited numbers of combination of input paramters (or even allow manipulating the compilation, e.g. by adjusting Java property). We'll need to change the interface later. But in the meantime, this change will allow us to iterate more easily. Bug: 187346876 Test: 1. Start a PVM with ART and CompOS apex mounted 2. /apex/com.android.art/bin/odrefresh --use-compos=$CID \ --force-compile # odrefresh returns successfully (though much slower right now) Change-Id: I722e5290246e180a89f6d42d9a6bc10c79dc0d1a
Diffstat (limited to 'libnativeloader/library_namespaces.cpp')
0 files changed, 0 insertions, 0 deletions