• Home
  • History
  • Annotate
  • only in /frameworks/base/cmds/app_process/
History log of /frameworks/base/cmds/app_process/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cc0c8f23f314516426ce72a5df211f3052539560 20-Oct-2014 Dmitriy Ivanov <dimitry@google.com> Switch to libsigchain.a

Use LOCAL_WHOLE_STATIC_LIBRARIES to instruct static linker
to export symbols from the static library.

(cherry picked from commit 5ba317cee071b718a163ab9acf2b6b4f6a337b39)

Bug: 18701723
Change-Id: Id9b567a1529574eab2225777f1f2a5ea10e540ad
ndroid.mk
igchain_proxy.cpp
07268ce3d9de8f8d307e4522c9ac685974031782 07-Oct-2014 Dmitriy Ivanov <dimitry@google.com> Link sigchain to main executable

Also export necessary symbols to preempt calls from
libart.so

Bug: 15345057
Bug: 15426766

(cherry picked from commit 96e0cfa721925550b1cc39cdfd6084a878e6ffe2)

Change-Id: I0930d96edde7dc0636e8d50d7c778f099237f748
ndroid.mk
igchain_proxy.cpp
00c0cd4a24bd0f040055f9e786e2df1fa3b7d2d3 11-Sep-2014 Jeff Brown <jeffbrown@google.com> Clean entire arg block when setting process name.

When Android processes fork from Zygote, we rewrite the command line
with a new name, eg. "system_server". When we do this, we should
fill the entire block with zeros to remove corrupted argument
information that may otherwise remain in the /proc/<pid>/cmdline buffer
and be seen in tools and stack dumps.

Fixed an issue where VM options could be overwritten after setting
the nice name if the name was too long.

Bug: 17474152
Change-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b
pp_main.cpp
55471dcd0f843e79d8665c63165720eca6a9c980 28-Aug-2014 Alex Light <allight@google.com> Change /dalvik-cache to be owned by root.

Bug: 16875245

(cherry picked from commit 79bf4007f559e194205f632b23d2bfb6f8d1e7ba)

Change-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66
pp_main.cpp
559484ed6a3ed98980579e35d12543be2835aa35 06-May-2014 Yongqin Liu <yongqin.liu@linaro.org> app_process: change app_process a symlink of primary version

Change app_process to be a symlink to the primary version
and have app_process32/app_process64 be the 32-bit/64-bit
versions respectively.

This will make it possible to use the primary zygote for
am/pm commands and other scripts that use app_process and
don't need a specific zygote.

Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
Change-Id: Ibef545994eb95ddc82101c95df613ad1d06345e6
ndroid.mk
d6183204e438a738b68301aeac452c0be41c8cb3 30-Apr-2014 Narayan Kamath <narayan@google.com> Fix x86 build in app_process.

Look for __i386__ and not __x86__.

(cherry picked from commit 47d526217b3fd0d17ba751c66d25cfaf1c6ed7cd)

Change-Id: I848ba351c378e59ab6744ca1983ae4463ae75ba4
pp_main.cpp
973cdeed8eb9aa250b1b3bd5549df0e0dc78457e 25-Apr-2014 Narayan Kamath <narayan@google.com> Create arch specific cache dirs during zygote startup.

The runtime expects them to exist before it's launched.
The boot image / art files are created during the first
zygote launch.

(cherry picked from commit da738713e4e2120a324e8ab6fd11aa0e54a3c66e)

Change-Id: I7472aa25c16a1cf95791af2bdf80ed0d73123872
pp_main.cpp
195c73c9b2c5be50ab325099dc2160215ac7562a 26-Apr-2014 Nick Kralevich <nnk@google.com> Set NO_NEW_PRIVS on zygote init

When app_process/zygote starts, make sure PR_SET_NO_NEW_PRIVS is set.
This prevents zygote spawned apps from acquiring new privileges
on exec.

In particular, this allows the CTS test
android.os.cts.SecurityFeaturesTest#testNoNewPrivs() to pass if ART is set
as the default runtime.

Change-Id: I81139cda999c7b1430242561aad28f566e9b6da0
pp_main.cpp
6bd762289b911e8876759ebbfd9e8960ba825844 24-Apr-2014 Elliott Hughes <enh@google.com> Fix a typo in an assertion.

Change-Id: I3e97bb3cb8070c0ec0c6b97769f1da3e7b4ef8f5
pp_main.cpp
90c75cf02e8e36be8679273f4ea15fd145001033 12-Apr-2014 Narayan Kamath <narayan@google.com> Don't compare String8s to NULL.

Use String8::isEmpty instead. Note that this code path is hit
only if the zygote calls ::exit, and that never happens unless
the VM invocation fails.

Change-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a
pp_main.cpp
d35d3e5d391b8daf20f9af2c5f01d5ff1985c1ee 10-Apr-2014 Narayan Kamath <narayan@google.com> Dual zygote cleanup.

- Use different process names for the 32 / 64 bit zygote.
- Pass command line arguments correctly. The first unmatched
argument must be passed through to the java main class.

Change-Id: I952ebbdbba941f118d992354b9bd0ada2dade417
pp_main.cpp
c41638cb759ce569630ffae4c5c4cdee1b0f3b82 07-Apr-2014 Narayan Kamath <narayan@google.com> Make zygotes aware of their supported ABIs.

Query system properties for the list of ABIs and pass
it as a command line argument to ZygoteInit.

Also add a new Zygote command that returns this list of
ABIs to peers.

Change-Id: I68034c6f63fa626911122579a011a0a25a8cda94
pp_main.cpp
22ec1eefa4dc8e12f7da8e8750d4770144941526 07-Apr-2014 Narayan Kamath <narayan@google.com> Clean up argc / argv processing for runtime args.

- Make copies of argc, argv before argv is potentially
overwritten with the process name.
- Allow multiple command line arguments to be passed to
ZygoteInit (this is required for some of the 64 bit
zygote work).
- Add an explanatory comment about how these argments
are processed.

Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
pp_main.cpp
a23fcd7be8e40078a913b1a99222cdd89229e67b 28-Mar-2014 Narayan Kamath <narayan@google.com> Remove ProcessState::mArgc,mArgV,mArgLen

These look like historical oddities, and weren't really being
used for anything useful.

Process:setArgV0 was being called by android.util.Process, but
that functionality can be moved directly into the implementation
of that class.

bug: 13647418

Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
pp_main.cpp
f130f0aaea58358dafbe83ccec2b5163b5bed1fb 27-Mar-2014 Colin Cross <ccross@android.com> app_process: use LOCAL_MULTILIB := both

Use LOCAL_MULTILIB := both to build app_process64 instead of
duplicating the build rule.

Also causes PRODUCT_PACKAGES := app_process to install both
versions on 64-bit platforms, as the module names for both
app_process and app_process64 are now app_process.

Change-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186
ndroid.mk
2764fce3a1119599cd231545b16e6a16286e482d 20-Mar-2014 Colin Cross <ccross@android.com> build app_process64 on 64-bit targets

On 64-bit platforms builds two copies of app_process, the 32-bit
app_process and 64-bit app_process64.

Change-Id: I59d739b5df398ad0bd040c954c57640ff7ab3e72
ndroid.mk
d53afd2b05f428fcce5695770c04d6cb6fba7aca 18-Sep-2013 Nick Kralevich <nnk@google.com> revert ADDR_COMPAT_LAYOUT workaround.

Stop working around bad applications by setting ADDR_COMPAT_LAYOUT.
ADDR_COMPAT_LAYOUT is undesirable because it reduces the amount of
address space available to an application.

The Android emulator, in both 4.3 and 4.4, does not set
ADDR_COMPAT_LAYOUT. Anyone needing to test their application on a
version of Android without ADDR_COMPAT_LAYOUT can use the emulator
and reproduce the failures.

Change-Id: I8f753acc205798bd7f031026c7ece12d26de562c
pp_main.cpp
fc8bd4d3f4deece8beee7ce3f7888078dd37c60d 24-Apr-2013 Nick Kralevich <nnk@google.com> am 35587a0c: Merge "Don\'t set ADDR_COMPAT_LAYOUT on the emulator"

* commit '35587a0c47c33a8eed7817dc705dbf502f7b5b60':
Don't set ADDR_COMPAT_LAYOUT on the emulator
fc17dc2548234461eb43ff83539ede4c9893a825 24-Apr-2013 Nick Kralevich <nnk@google.com> Don't set ADDR_COMPAT_LAYOUT on the emulator

Don't work around third party app bugs on the emulator.

Change-Id: I4440fcd56b72e3a74881ddec2a469f037a060525
pp_main.cpp
6ad0452e6301c0650f58f3991f7c523f6f279ddb 16-Apr-2013 Jamie Gennis <jgennis@google.com> Disable tracing from Zygote

This change disables all atrace tracing in Zygote immediately after it is
initialized. This is necessary because Zygote has no way to receive
notifications that the enabled trace tags have been changed. Tracing is
re-enabled when other processes fork from Zygote.

Change-Id: If2983858fb0c4890ba9ab041849b1c4d98f66c13
pp_main.cpp
d685894212e6dbeac1fda4996903c1da115d49a6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I746aa8258866508c3a725d0773faf4518096548f
ndroid.mk
9a9350550a7ca51feb97218101ef90c2cb90be71 15-Mar-2013 Nick Kralevich <nnk@google.com> app_process: don't pollute the environment

Give a hoot — don't pollute!

Change-Id: I30d6c05cecab483f0e9d8063907f7bc0ef2bb104
pp_main.cpp
1fe21bd1b6ca8b94c78fbf3666a1e8e0472355de 15-Mar-2013 Nick Kralevich <nnk@google.com> Never call app_main more than once

Different kernels seem to handle ADDR_COMPAT_LAYOUT differently,
sometimes passing it to its children, sometimes not. If it's not
passed to its child successfully, we can end up in a restart loop.

Instead of testing for the presence of ADDR_COMPAT_LAYOUT, use an
environment variable instead, which is handled more predictably.

Bug: 8392487
Change-Id: Ia531dd2abb4e1cd46f3430d844e644f53581f530
pp_main.cpp
5fa1ee779e2170fd2e3e96b1e0887f15b04b1f76 15-Mar-2013 Nick Kralevich <nnk@google.com> Don't use ADDR_COMPAT_LAYOUT on the emulator

For the emulator, we want people to see memory as it
actually is, not how we're hacking around buggy apps. Don't
set ADDR_COMPAT_LAYOUT on the emulator.

For reasons that I don't understand, personality(ADDR_COMPAT_LAYOUT)
does not persist across an exec on the emulator. app_main gets
into a tight loop restarting itself because of this. This change
also works around that bug.

Change-Id: Ia73a7d2d623c25cf39d248145d97307945d554da
pp_main.cpp
8a0a929422682ba3eb6a205dc6c0638e68b909de 14-Mar-2013 Nick Kralevich <nnk@google.com> Respawn app_main if ADDR_COMPAT_LAYOUT is not set

Bug: 8358800
Change-Id: Id81aa26d74dfd16a49f0ee5926ea2cdb3c2106d8
pp_main.cpp
bb4cd8259269743fa8f0912b064961477b368c4f 02-Apr-2012 Evgeniy Stepanov <eugenis@google.com> Build /system/bin/asan/app_process.

Change-Id: Id3fa26a1bc0e0832bfde73dbd3acce15ecce823d
ndroid.mk
5bb508fac6453c75afe8acc2fec6380bc0ebdb06 04-Apr-2012 Stephen Hines <srhines@google.com> Revert "Build /system/bin/asan/app_process."

This reverts commit cb5c734790e1e3d8496b4c75c57e8a537784c056
ndroid.mk
cb5c734790e1e3d8496b4c75c57e8a537784c056 02-Apr-2012 Evgeniy Stepanov <eugenis@google.com> Build /system/bin/asan/app_process.

Change-Id: Icdfe215a7e86466a07fe0508775c89963a0a4787
ndroid.mk
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
pp_main.cpp
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
pp_main.cpp
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
pp_main.cpp
ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
pp_main.cpp
d195e5ab401432ddac659791640a2927fc668699 14-Apr-2011 Elliott Hughes <enh@google.com> Replace a custom AndroidRuntime::findClass with a more targeted fix.

This seems simpler and more contained, and I think the comment explaining
why hoop-jumping is necessary is a bit clearer now.

Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
pp_main.cpp
de6d1d889ebf15250c04a8ffc204b91af1e447e3 08-Oct-2010 Brian Carlstrom <bdc@google.com> Move LOG_ALWAYS_FATAL to end of app_process

Since LOG_ALWAYS_FATAL is always fatal and code after it is by
definition unreachable, put the call after other diagnostic output.

Change-Id: Ib3a515a04125d8e4f6e8af3a6f59226e8f0dd9cd
pp_main.cpp
b1bb6cfe91c97fccd720de565fa69ed787ae1cbc 05-Oct-2009 Doug Kwan <dougkwan@google.com> Add back missing shared libraries used in executables in link commands. These
executables have calls to some shared libraries without explicitly linking
them. Currently it works as linker links these libraries via dependencies of
other libraries. This is fragile and not the right thing to do.
ndroid.mk
0795272aa226f4e965968a03daddc53ce30b7cda 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
pp_main.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ODULE_LICENSE_APACHE2
OTICE
pp_main.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ODULE_LICENSE_APACHE2
OTICE
pp_main.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ndroid.mk
ODULE_LICENSE_APACHE2
OTICE
pp_main.cpp