Add a new ashmem_init function that only dlopens libashmemd_client.
This allows the library to be preloaded in the zygote.
Test: boots, works
Bug: 129543489
Change-Id: Ie106791edf381654f085203c266c9f9c0df35cfc
- Rename SparseBuilder to ImageBuilder, WriteSplitSparseFiles
to WriteSplitImageFiles, WriteToSparseFile to WriteToImageFile, etc.
- Add sparsify argument to ImageBuilder, WriteToImageFile, and
WriteSplitImageFiles
This allows lpmake to write non-sparse super image directly. Virtual
devices needs non-sparse images to work on.
Test: lpmake without --sparse
Test: liblp_test
Bug: 120041578
Change-Id: I76ee09efd02df7caaa8abd37a55ae0bebf9cfa29
Merged-In: I76ee09efd02df7caaa8abd37a55ae0bebf9cfa29
- If file is unlinked, the mmapped region is still there.
- If file is truncated, a SIGBUS will be seen, and holding
the fd doesn't help.
Test: boots (sanity)
Bug: 123664216
Change-Id: I6683804bc795fab6798891a4471e5fe58fbffe13
Merged-In: I6683804bc795fab6798891a4471e5fe58fbffe13
This is required for read() to function correctly
in Windows since it behaves differently in text mode and
binary mode and may cause unpredictable behavior depending
on the contents of the image file.
Bug: 129281908
Test: fastboot.exe flashall
Change-Id: I64370af44a050bafea60ff1b0b2be18cc531480a
Merged-In: I64370af44a050bafea60ff1b0b2be18cc531480a
(cherry picked from commit 1a6f6feff4)
Update unit tests and add new build id displaying in offline unwinds.
Bug: 129873279
Test: All unit tests pass.
Test: Verify that debuggerd displays build id properly.
Change-Id: I97f4a204842447a20c812f535a458155b937d5e1
Merged-In: I97f4a204842447a20c812f535a458155b937d5e1
(cherry picked from commit 1760b45709)
am: 10f7835736 -s ours
am skip reason: change_id I47c46ca9ba5c1fbf3f9f7a1b185dc48b058b1e32 with SHA1 eecba5c11d is in history
Change-Id: I55e5a8c5e71ff037bb391909a167d3b3db69d37a
am: 794f523b80 -s ours
am skip reason: change_id I23c3ece44816e4e213f9630b915e19978a259823 with SHA1 169a3e6095 is in history
Change-Id: I27ec2c2dce10b2bbf6929f6b4b4c2ef8fe823e0c
am: 30559a8a00 -s ours
am skip reason: change_id I635d9885db62e82f37421f6d20f59c84a6f4cbb2 with SHA1 fad638c82d is in history
Change-Id: I531a2cc66c5374ad0a8ffdd0bb4e6b2294bfbf51
am: 818d7e3678 -s ours
am skip reason: change_id If5e2301a1b65c3f6a51a1661cfeeed4e299f634e with SHA1 1a0996a308 is in history
Change-Id: If71b56793a251a5c318787d680df32be6c9e294e
am: e7f9de2cc7 -s ours
am skip reason: change_id I941dc0c415e2b22ae663d43e30dc7a464687325e with SHA1 bd623a4ce0 is in history
Change-Id: Ifec90c82d6e1c58be8c6e1328cb858e6d3a8edcb
am: 6dc78dc56f -s ours
am skip reason: change_id I9c13c0528461758154e23cbab3a94ade7fb351ee with SHA1 d895647095 is in history
Change-Id: I9233b271e03ec67ff7bfa3ef728d227cc6aef01d
am: e470498138 -s ours
am skip reason: change_id Iaf6199f759a6264590b13ca7ba6d7f576c3ed56a with SHA1 f4212744ed is in history
Change-Id: Ibcd0a74102a606e7dccc7f65f58cb56968d01fbb
Use the LL-NDK library to read cgroup.rc.
As a side-effect, the CgroupController class is changed
to a wrapper of ACgroupController* from the library. The
class itself essentially becomes the pointer, and can be
trivially copied. Modify all client code for this change.
Test: builds and boots
Bug: 123664216
Change-Id: I635d9885db62e82f37421f6d20f59c84a6f4cbb2
Merged-In: I635d9885db62e82f37421f6d20f59c84a6f4cbb2
Use CgroupController definition from libcgrouprc_format, not
libprocessgroup, because the wire format will be removed
from libprocessgroup later.
Bug: 123664216
Test: builds
Change-Id: If5e2301a1b65c3f6a51a1661cfeeed4e299f634e
Merged-In: If5e2301a1b65c3f6a51a1661cfeeed4e299f634e
Only init uses SetupCgroups. This functionality is
moved from libprocessgroup to its own library, and only
init links to it.
Also, merge CgroupSetupCgroups() with CgroupMap::SetupCgroups()
because the former is just an alias of the latter, and
CgroupMap does not belong to libcgrouprc_setup.
Test: boots
Bug: 123664216
Change-Id: I941dc0c415e2b22ae663d43e30dc7a464687325e
Merged-In: I941dc0c415e2b22ae663d43e30dc7a464687325e
This module is an LL-NDK library that can be loaded by
modules that link to libprocessgroup (which is in VNDK).
This module defines APIs that reads cgroups.rc file
programatically. Internally, it uses libcgrouprc_format to
do so.
Test: builds
Bug: 123664216
Change-Id: I9c13c0528461758154e23cbab3a94ade7fb351ee
Merged-In: I9c13c0528461758154e23cbab3a94ade7fb351ee
This module defines the wire format of the mmap()ed cgroup.rc
file.
Test: builds
Bug: 123664216
Change-Id: Iaf6199f759a6264590b13ca7ba6d7f576c3ed56a
Merged-In: Iaf6199f759a6264590b13ca7ba6d7f576c3ed56a