)]}'
{
  "log": [
    {
      "commit": "31eb3c89a94d77eae9503bd635a4f056db3e3a31",
      "tree": "a3647fc0996bb1567be2aadc0393e0e780a3df71",
      "parents": [
        "a199526dcdfcd77257ea28d65bf5a454320d939a"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Aug 23 22:12:33 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Sep 05 21:45:12 2023 +0000"
      },
      "message": "Migrate String8|16.setTo to assignment operator\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I370f66c469de73064dec2e42c539dc236dd69d1e\n"
    },
    {
      "commit": "3815d34e5f941909ceee9e879e309991c3d2a1d0",
      "tree": "35344372ca85cf8916d88f1294d79e31f77a1fd6",
      "parents": [
        "6c8fb01159bf760c751e9fc3937512e4027d9699"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Aug 10 23:54:44 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Mon Aug 28 23:26:11 2023 +0000"
      },
      "message": "Use String8/16 c_str\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I538720d4de2dcc038b417048209782ff605b7e30\n"
    },
    {
      "commit": "5c0887b8f1c5c535b861441a372ca1b4d7e9f614",
      "tree": "553f5a24e34b4f1425f0054df9eeeeafa14b8fc1",
      "parents": [
        "34b915e1419a2fa18c8815d9b3193a02968c2047"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Mon Aug 14 17:59:56 2023 +0000"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Aug 24 19:13:35 2023 +0000"
      },
      "message": "Migrate from android::String isEmpty to empty [process]\n\nThis empty method is different from the old one - it aligns with\nstd::string definition.\n\nBug: 295394788\nTest: make checkbuild\nChange-Id: I1900997f36327af8c3d12b4f77971fdd96080616\n"
    },
    {
      "commit": "b523e5e6dcd85f180650d1e812f3d98863b42d8c",
      "tree": "188093a51d88df69d5a9e716db37e3dd9273597b",
      "parents": [
        "b09fa7a10668b3e157a3d0a52314820f458d8718"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 24 19:54:48 2022 +0000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Aug 24 19:54:48 2022 +0000"
      },
      "message": "app_process: Fix className check\n\nEmptyness of a String8 variable was not checked correctly.\nAs a result, even when no arguments were provided,\n`app_process` was still launching runtime.\n\nTest: adb shell app_process64\nChange-Id: Ia303edb5a74b61efad24b475008a3642a07ab789\n"
    },
    {
      "commit": "90d4d6040c23359ff8bf00358e4a8bd694fcf591",
      "tree": "96fd9dfc41170a912fce0da7bb66c8ea77f0179b",
      "parents": [
        "69538cf7f379e6b75a3df9c8573942a8d824e823"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 10 18:01:04 2022 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 10 18:01:04 2022 +0000"
      },
      "message": "Revert \"Disable pointer authentication in app processes.\"\n\nRevert \"Disable pointer authentication in app processes.\"\n\nRevert submission 1954983-master-I3030c47be9d02a27505bd4775c1982a20755758c\n\nReason for revert: PAC has shipped with S, and we\u0027re going with app compat outreach rather than regressing security.\nReverted Changes:\nI3030c47be:Disable pointer authentication in app processes.\nI3030c47be:Disable pointer authentication in app processes.\n\nChange-Id: I75c4d2d3cf59aecf99d9c9d37c6750f999e74de8\n"
    },
    {
      "commit": "69538cf7f379e6b75a3df9c8573942a8d824e823",
      "tree": "7c8fb009c4cc034e2e36d201e48235a2e019970c",
      "parents": [
        "99da93a0e7bd09576ddd8efda2020ffbd9f2103e"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jan 19 13:35:54 2022 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jan 19 13:35:54 2022 -0800"
      },
      "message": "Disable pointer authentication in app processes.\n\nUnfortunately we have discovered that some applications in the wild\nare using PAC instructions incorrectly. To keep those applications\nworking on PAC enabled devices, disable PAC in application processes\nfor now.\n\nBug: 212660282\nChange-Id: I3030c47be9d02a27505bd4775c1982a20755758c\n"
    },
    {
      "commit": "6b86dfb159bd26bff4aa74895221e09dce7b0718",
      "tree": "a12b9cb633786efd55bfe7c8bdec50bcc0030350",
      "parents": [
        "46b35eba73d02fea53214d6bf0a853fed7fd176c"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jun 04 13:24:10 2021 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Fri Jun 11 16:27:32 2021 -0700"
      },
      "message": "Stop exporting symbols from app_process\n\nAny symbols exported from the executable override everything else in\nevery linker namespace. Previously, app_process exported the\nsignal/sigchain API, but that interposition is now handled by\nlibsigchain.so.\n\nBug: http://b/190100879\nTest: `nm -D --defined-only app_process{32,64}` shows no symbols\nChange-Id: I1ab1fc700c34e91535c3e679a471debbb4eb71e3\n"
    },
    {
      "commit": "26949eca350d6b698abd2e3e7b8e4605baac8184",
      "tree": "d2d6bb9afe503ec7afefb7185e6ad64bd9ae65d2",
      "parents": [
        "45d586c66cdd099c9c9edbcd7174eb8c8b2ec6f8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Mar 05 09:48:48 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 09 13:20:20 2021 +0000"
      },
      "message": "Make libsigchain a regular shared library dependency of app_process.\n\nBug: 142944043\nTest: m, art_libsigchain_test\nChange-Id: Iecdb32d9f1906113bbc6fb4bbbe9cee086fca58d\n"
    },
    {
      "commit": "051ef786ace7a5177874fd9c2f654f0c8f041cfe",
      "tree": "79d0887efa908b754e190fa34e5d2111f1ce310a",
      "parents": [
        "80bbdfd100a4143154dfe17f4258b74806d5b749"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:07:05 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:09:57 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/base\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  apct-tests/perftests/autofill/Android.bp\n  apct-tests/perftests/blobstore/Android.bp\n  apct-tests/perftests/core/Android.bp\n  apct-tests/perftests/core/apps/overlay/Android.bp\n  apct-tests/perftests/core/apps/reources_manager/Android.bp\n  apct-tests/perftests/core/jni/Android.bp\n  apct-tests/perftests/multiuser/Android.bp\n  apct-tests/perftests/multiuser/apps/dummyapp/Android.bp\n  apct-tests/perftests/packagemanager/Android.bp\n  apct-tests/perftests/packagemanager/apps/query-all/Android.bp\n  apct-tests/perftests/textclassifier/Android.bp\n  apct-tests/perftests/utils/Android.bp\n  apct-tests/perftests/windowmanager/Android.bp\n  apex/Android.bp\n  apex/blobstore/framework/Android.bp\n  apex/blobstore/service/Android.bp\n  apex/jobscheduler/framework/Android.bp\n  apex/jobscheduler/service/Android.bp\n  apex/media/Android.bp\n  apex/media/aidl/Android.bp\n  apex/media/framework/Android.bp\n  cmds/am/Android.bp\n  cmds/app_process/Android.bp\n  cmds/appops/Android.bp\n  cmds/appwidget/Android.bp\n  cmds/backup/Android.bp\n  cmds/bmgr/Android.bp\n  cmds/bootanimation/Android.bp\n  cmds/bu/Android.bp\n  cmds/content/Android.bp\n  cmds/dpm/Android.bp\n  cmds/hid/Android.bp\n  cmds/hid/jni/Android.bp\n  cmds/idmap2/Android.bp\n  cmds/ime/Android.bp\n  cmds/incident/Android.bp\n  cmds/incident_helper/Android.bp\n  cmds/incidentd/Android.bp\n  cmds/input/Android.bp\n  cmds/interrupter/Android.bp\n  cmds/locksettings/Android.bp\n  cmds/pm/Android.bp\n  cmds/requestsync/Android.bp\n  cmds/screencap/Android.bp\n  cmds/sm/Android.bp\n  cmds/svc/Android.bp\n  cmds/telecom/Android.bp\n  cmds/uiautomator/Android.bp\n  cmds/uiautomator/cmds/uiautomator/Android.bp\n  cmds/uiautomator/instrumentation/Android.bp\n  cmds/uiautomator/library/Android.bp\n  cmds/vr/Android.bp\n  cmds/wm/Android.bp\n  config/Android.bp\n  core/java/android/service/wallpaper/Android.bp\n  core/jni/Android.bp\n  core/sysprop/Android.bp\n  core/tests/BroadcastRadioTests/Android.bp\n  core/tests/ConnectivityManagerTest/Android.bp\n  core/tests/PackageInstallerSessions/Android.bp\n  core/tests/PlatformCompatFramework/Android.bp\n  core/tests/bandwidthtests/Android.bp\n  core/tests/benchmarks/Android.bp\n  core/tests/bluetoothtests/Android.bp\n  core/tests/bugreports/Android.bp\n  core/tests/coretests/Android.bp\n  core/tests/coretests/BinderDeathRecipientHelperApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestApp/Android.bp\n  core/tests/coretests/BinderProxyCountingTestService/Android.bp\n  core/tests/coretests/BstatsTestApp/Android.bp\n  core/tests/coretests/DisabledTestApp/Android.bp\n  core/tests/coretests/EnabledTestApp/Android.bp\n  core/tests/coretests/aidl/Android.bp\n  core/tests/coretests/apks/Android.bp\n  core/tests/coretests/apks/install/Android.bp\n  core/tests/coretests/apks/install_bad_dex/Android.bp\n  core/tests/coretests/apks/install_complete_package_info/Android.bp\n  core/tests/coretests/apks/install_decl_perm/Android.bp\n  core/tests/coretests/apks/install_jni_lib/Android.bp\n  core/tests/coretests/apks/install_jni_lib_open_from_apk/Android.bp\n  core/tests/coretests/apks/install_loc_auto/Android.bp\n  core/tests/coretests/apks/install_loc_internal/Android.bp\n  core/tests/coretests/apks/install_loc_sdcard/Android.bp\n  core/tests/coretests/apks/install_loc_unspecified/Android.bp\n  core/tests/coretests/apks/install_use_perm_good/Android.bp\n  core/tests/coretests/apks/install_uses_feature/Android.bp\n  core/tests/coretests/apks/install_verifier_bad/Android.bp\n  core/tests/coretests/apks/install_verifier_good/Android.bp\n  core/tests/coretests/apks/keyset/Android.bp\n  core/tests/coretests/apks/locales/Android.bp\n  core/tests/coretests/apks/overlay_config/Android.bp\n  core/tests/coretests/apks/version/Android.bp\n  core/tests/coretests/apks/version_nosys/Android.bp\n  core/tests/featureflagtests/Android.bp\n  core/tests/hdmitests/Android.bp\n  core/tests/hosttests/test-apps/AutoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocAllPermsTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocPermsFLTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPerms/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.bp\n  core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.bp\n  core/tests/hosttests/test-apps/InternalLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests/Android.bp\n  core/tests/hosttests/test-apps/NoLocTestApp/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v1/Android.bp\n  core/tests/hosttests/test-apps/NoLocVersionedTestApp_v2/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/32/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/64/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.bp\n  core/tests/hosttests/test-apps/SharedUid/java_only/Android.bp\n  core/tests/hosttests/test-apps/SimpleTestApp/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v2_int/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v1_ext/Android.bp\n  core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v2_none/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Auto/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_External/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_Internal/Android.bp\n  core/tests/hosttests/test-apps/VersatileTestApp_None/Android.bp\n  core/tests/mockingcoretests/Android.bp\n  core/tests/notificationtests/Android.bp\n  core/tests/overlaytests/device/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayOne/Android.bp\n  core/tests/overlaytests/device/test-apps/AppOverlayTwo/Android.bp\n  core/tests/overlaytests/device/test-apps/FrameworkOverlay/Android.bp\n  core/tests/overlaytests/host/Android.bp\n  core/tests/overlaytests/remount/Android.bp\n  core/tests/overlaytests/remount/test-apps/Overlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibrary/Android.bp\n  core/tests/overlaytests/remount/test-apps/SharedLibraryOverlay/Android.bp\n  core/tests/overlaytests/remount/test-apps/Target/Android.bp\n  core/tests/packagemanagertests/Android.bp\n  core/tests/privacytests/Android.bp\n  core/tests/screenshothelpertests/Android.bp\n  core/tests/systemproperties/Android.bp\n  core/tests/utillib/Android.bp\n  core/tests/utiltests/Android.bp\n  core/tests/utiltests/jni/Android.bp\n  core/tests/uwbtests/Android.bp\n  core/xsd/Android.bp\n  core/xsd/vts/Android.bp\n  data/etc/Android.bp\n  data/etc/car/Android.bp\n  data/fonts/Android.bp\n  data/keyboards/Android.mk\n  drm/jni/Android.bp\n  errorprone/Android.bp\n  graphics/proto/Android.bp\n  keystore/Android.bp\n  keystore/tests/Android.bp\n  libs/WindowManager/Jetpack/Android.bp\n  libs/WindowManager/Shell/Android.bp\n  libs/WindowManager/Shell/tests/Android.bp\n  libs/androidfw/Android.bp\n  libs/androidfw/fuzz/resourcefile_fuzzer/Android.bp\n  libs/hostgraphics/Android.bp\n  libs/incident/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/protoutil/Android.bp\n  libs/services/Android.bp\n  libs/storage/Android.bp\n  libs/usb/tests/AccessoryChat/Android.bp\n  libs/usb/tests/AccessoryChat/accessorychat/Android.bp\n  location/lib/Android.bp\n  location/tests/Android.bp\n  location/tests/locationtests/Android.bp\n  lowpan/tests/Android.bp\n  media/Android.bp\n  media/java/Android.bp\n  media/java/android/media/tv/tunerresourcemanager/Android.bp\n  media/jni/Android.bp\n  media/jni/audioeffect/Android.bp\n  media/jni/soundpool/Android.bp\n  media/jni/soundpool/tests/Android.bp\n  media/lib/remotedisplay/Android.bp\n  media/lib/signer/Android.bp\n  media/lib/tvremote/Android.bp\n  media/lib/tvremote/tests/Android.bp\n  media/mca/filterfw/Android.bp\n  media/mca/filterfw/native/Android.bp\n  media/mca/filterpacks/Android.bp\n  media/mca/samples/CameraEffectsRecordingSample/Android.bp\n  media/mca/tests/Android.bp\n  media/native/midi/Android.bp\n  media/packages/BluetoothMidiService/Android.bp\n  media/packages/BluetoothMidiService/tests/unit/Android.bp\n  media/tests/AudioPolicyTest/Android.bp\n  media/tests/CameraBrowser/Android.bp\n  media/tests/EffectsTest/Android.bp\n  media/tests/MediaDump/Android.bp\n  media/tests/MediaFrameworkTest/Android.bp\n  media/tests/MediaRouter/Android.bp\n  media/tests/MtpTests/Android.bp\n  media/tests/ScoAudioTest/Android.bp\n  media/tests/SoundPoolTest/Android.bp\n  media/tests/TunerTest/Android.bp\n  media/tests/audiotests/Android.bp\n  media/tests/players/Android.bp\n  mime/Android.bp\n  native/android/Android.bp\n  native/graphics/jni/Android.bp\n  native/webview/loader/Android.bp\n  nfc-extras/Android.bp\n  nfc-extras/tests/Android.bp\n  packages/AppPredictionLib/Android.bp\n  packages/BackupEncryption/Android.bp\n  packages/BackupEncryption/test/robolectric-integration/Android.bp\n  packages/BackupEncryption/test/robolectric/Android.bp\n  packages/BackupEncryption/test/unittest/Android.bp\n  packages/BackupRestoreConfirmation/Android.bp\n  packages/CarSystemUI/Android.bp\n  packages/CarrierDefaultApp/Android.bp\n  packages/CarrierDefaultApp/tests/unit/Android.bp\n  packages/CompanionDeviceManager/Android.bp\n  packages/Connectivity/framework/Android.bp\n  packages/Connectivity/service/Android.bp\n  packages/CtsShim/Android.bp\n  packages/CtsShim/build/Android.bp\n  packages/CtsShim/build/jni/Android.bp\n  packages/DynamicSystemInstallationService/Android.bp\n  packages/DynamicSystemInstallationService/tests/Android.bp\n  packages/EasterEgg/Android.bp\n  packages/EncryptedLocalTransport/Android.bp\n  packages/ExtShared/Android.bp\n  packages/ExternalStorageProvider/Android.bp\n  packages/ExternalStorageProvider/tests/Android.bp\n  packages/FakeOemFeatures/Android.bp\n  packages/FusedLocation/Android.bp\n  packages/InputDevices/Android.bp\n  packages/LocalTransport/Android.bp\n  packages/PackageInstaller/Android.bp\n  packages/PrintRecommendationService/Android.bp\n  packages/PrintSpooler/Android.bp\n  packages/PrintSpooler/jni/Android.bp\n  packages/PrintSpooler/tests/outofprocess/Android.bp\n  packages/SettingsLib/ActionBarShadow/Android.bp\n  packages/SettingsLib/ActionButtonsPreference/Android.bp\n  packages/SettingsLib/AdaptiveIcon/Android.bp\n  packages/SettingsLib/Android.bp\n  packages/SettingsLib/AppPreference/Android.bp\n  packages/SettingsLib/BarChartPreference/Android.bp\n  packages/SettingsLib/DisplayDensityUtils/Android.bp\n  packages/SettingsLib/EntityHeaderWidgets/Android.bp\n  packages/SettingsLib/HelpUtils/Android.bp\n  packages/SettingsLib/LayoutPreference/Android.bp\n  packages/SettingsLib/ProgressBar/Android.bp\n  packages/SettingsLib/RadioButtonPreference/Android.bp\n  packages/SettingsLib/RestrictedLockUtils/Android.bp\n  packages/SettingsLib/SchedulesProvider/Android.bp\n  packages/SettingsLib/SearchProvider/Android.bp\n  packages/SettingsLib/SearchWidget/Android.bp\n  packages/SettingsLib/SettingsSpinner/Android.bp\n  packages/SettingsLib/SettingsTheme/Android.bp\n  packages/SettingsLib/Tile/Android.bp\n  packages/SettingsLib/Utils/Android.bp\n  packages/SettingsLib/search/Android.bp\n  packages/SettingsLib/tests/integ/Android.bp\n  packages/SettingsLib/tests/robotests/Android.bp\n  packages/SettingsProvider/Android.bp\n  packages/SharedStorageBackup/Android.bp\n  packages/Shell/Android.bp\n  packages/Shell/tests/Android.bp\n  packages/SimAppDialog/Android.bp\n  packages/SoundPicker/Android.bp\n  packages/StatementService/Android.bp\n  packages/SystemUI/Android.bp\n  packages/SystemUI/plugin/Android.bp\n  packages/SystemUI/plugin/ExamplePlugin/Android.bp\n  packages/SystemUI/plugin_core/Android.bp\n  packages/SystemUI/shared/Android.bp\n  packages/VpnDialogs/Android.bp\n  packages/WAPPushManager/Android.bp\n  packages/WAPPushManager/tests/Android.bp\n  packages/WallpaperBackup/Android.bp\n  packages/WallpaperCropper/Android.bp\n  packages/overlays/Android.mk\n  packages/overlays/tests/Android.bp\n  packages/services/PacProcessor/Android.bp\n  packages/services/PacProcessor/jni/Android.bp\n  packages/services/Proxy/Android.bp\n  proto/Android.bp\n  rs/jni/Android.mk\n  samples/demo/haptic-assessment/Android.bp\n  sax/tests/saxtests/Android.bp\n  services/Android.bp\n  services/accessibility/Android.bp\n  services/appprediction/Android.bp\n  services/appwidget/Android.bp\n  services/autofill/Android.bp\n  services/backup/Android.bp\n  services/backup/backuplib/Android.bp\n  services/companion/Android.bp\n  services/contentcapture/Android.bp\n  services/contentsuggestions/Android.bp\n  services/core/Android.bp\n  services/core/java/com/android/server/vcn/Android.bp\n  services/core/jni/Android.bp\n  services/core/xsd/Android.bp\n  services/core/xsd/vts/Android.bp\n  services/coverage/Android.bp\n  services/devicepolicy/Android.bp\n  services/incremental/Android.bp\n  services/midi/Android.bp\n  services/net/Android.bp\n  services/people/Android.bp\n  services/print/Android.bp\n  services/profcollect/Android.bp\n  services/restrictions/Android.bp\n  services/robotests/Android.bp\n  services/robotests/backup/Android.bp\n  services/systemcaptions/Android.bp\n  services/tests/PackageManagerComponentOverrideTests/Android.bp\n  services/tests/PackageManagerServiceTests/host/Android.bp\n  services/tests/PackageManagerServiceTests/host/test-apps/Android.bp\n  services/tests/mockingservicestests/Android.bp\n  services/tests/rescueparty/Android.bp\n  services/tests/servicestests/Android.bp\n  services/tests/servicestests/aidl/Android.bp\n  services/tests/servicestests/apks/Android.bp\n  services/tests/servicestests/apks/install-split-base/Android.bp\n  services/tests/servicestests/apks/install-split-feature-a/Android.bp\n  services/tests/servicestests/apks/install_intent_filters/Android.bp\n  services/tests/servicestests/apks/install_uses_sdk/Android.bp\n  services/tests/servicestests/test-apps/ConnTestApp/Android.bp\n  services/tests/servicestests/test-apps/JobTestApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParserApp/Android.bp\n  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp\n  services/tests/servicestests/test-apps/SimpleServiceTestApp/Android.bp\n  services/tests/servicestests/test-apps/SuspendTestApp/Android.bp\n  services/tests/shortcutmanagerutils/Android.bp\n  services/tests/uiservicestests/Android.bp\n  services/tests/wmtests/Android.bp\n  services/usage/Android.bp\n  services/usb/Android.bp\n  services/voiceinteraction/Android.bp\n  services/wifi/Android.bp\n  startop/apps/test/Android.bp\n  startop/iorap/Android.bp\n  startop/iorap/functional_tests/Android.bp\n  startop/iorap/stress/Android.bp\n  startop/iorap/tests/Android.bp\n  startop/view_compiler/Android.bp\n  startop/view_compiler/dex_builder_test/Android.bp\n  test-base/hiddenapi/Android.bp\n  test-mock/Android.bp\n  test-runner/tests/Android.bp\n  tests/AccessibilityEventsLogger/Android.bp\n  tests/AccessoryDisplay/common/Android.bp\n  tests/AccessoryDisplay/sink/Android.bp\n  tests/AccessoryDisplay/source/Android.bp\n  tests/ActivityManagerPerfTests/stub-app/Android.bp\n  tests/ActivityManagerPerfTests/test-app/Android.bp\n  tests/ActivityManagerPerfTests/tests/Android.bp\n  tests/ActivityManagerPerfTests/utils/Android.bp\n  tests/ActivityTests/Android.bp\n  tests/ActivityViewTest/Android.bp\n  tests/AmSlam/Android.bp\n  tests/ApkVerityTest/Android.bp\n  tests/ApkVerityTest/ApkVerityTestApp/Android.bp\n  tests/ApkVerityTest/block_device_writer/Android.bp\n  tests/AppLaunch/Android.bp\n  tests/AppLaunchWear/Android.bp\n  tests/AppResourcesLoaders/Android.bp\n  tests/AppResourcesLoaders/Overlay/Android.bp\n  tests/Assist/Android.bp\n  tests/AutoVerify/app1/Android.bp\n  tests/AutoVerify/app2/Android.bp\n  tests/AutoVerify/app3/Android.bp\n  tests/AutoVerify/app4/Android.bp\n  tests/BackgroundDexOptServiceIntegrationTests/Android.bp\n  tests/BandwidthTests/Android.bp\n  tests/BatteryWaster/Android.bp\n  tests/BiDiTests/Android.bp\n  tests/BlobStoreTestUtils/Android.bp\n  tests/BootImageProfileTest/Android.bp\n  tests/BrowserPowerTest/Android.bp\n  tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp\n  tests/CameraPrewarmTest/Android.bp\n  tests/Codegen/Android.bp\n  tests/Compatibility/Android.bp\n  tests/CoreTests/android/Android.bp\n  tests/DataIdleTest/Android.bp\n  tests/DozeTest/Android.bp\n  tests/DpiTest/Android.bp\n  tests/DynamicCodeLoggerIntegrationTests/Android.mk\n  tests/FeatureSplit/base/Android.bp\n  tests/FeatureSplit/feature1/Android.bp\n  tests/FeatureSplit/feature2/Android.bp\n  tests/FixVibrateSetting/Android.bp\n  tests/FlickerTests/Android.bp\n  tests/FlickerTests/test-apps/Android.bp\n  tests/FlickerTests/test-apps/flickerapp/Android.bp\n  tests/FrameworkPerf/Android.bp\n  tests/GamePerformance/Android.bp\n  tests/GridLayoutTest/Android.bp\n  tests/HierarchyViewerTest/Android.bp\n  tests/HugeBackup/Android.bp\n  tests/HwAccelerationTest/Android.bp\n  tests/Internal/Android.bp\n  tests/JankBench/Android.bp\n  tests/JobSchedulerPerfTests/Android.bp\n  tests/JobSchedulerTestApp/Android.bp\n  tests/LargeAssetTest/Android.bp\n  tests/LegacyAssistant/Android.bp\n  tests/LocalizationTest/Android.bp\n  tests/LocationTracker/Android.bp\n  tests/LotsOfApps/Android.bp\n  tests/LowStorageTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/Android.bp\n  tests/ManagedProfileLifecycleStressTest/app/DummyDPC/Android.bp\n  tests/MemoryUsage/Android.bp\n  tests/MirrorSurfaceTest/Android.bp\n  tests/NativeProcessesMemoryTest/Android.bp\n  tests/NetworkSecurityConfigTest/Android.bp\n  tests/NullHomeTest/Android.bp\n  tests/OdmApps/Android.bp\n  tests/OdmApps/app/Android.bp\n  tests/OdmApps/priv-app/Android.bp\n  tests/OneMedia/Android.bp\n  tests/PackageWatchdog/Android.bp\n  tests/PlatformCompatGating/Android.bp\n  tests/PlatformCompatGating/test-rules/Android.bp\n  tests/ProtoInputStreamTests/Android.bp\n  tests/RemoteDisplayProvider/Android.bp\n  tests/RenderThreadTest/Android.bp\n  tests/RollbackTest/Android.bp\n  tests/SerialChat/Android.bp\n  tests/ServiceCrashTest/Android.bp\n  tests/SharedLibrary/client/Android.bp\n  tests/SharedLibrary/lib/Android.bp\n  tests/ShowWhenLockedApp/Android.bp\n  tests/SmokeTest/Android.bp\n  tests/SmokeTest/tests/Android.bp\n  tests/SmokeTestApps/Android.bp\n  tests/SoundTriggerTestApp/Android.bp\n  tests/Split/Android.bp\n  tests/StagedInstallTest/Android.bp\n  tests/StatusBar/Android.bp\n  tests/SurfaceComposition/Android.bp\n  tests/SurfaceControlViewHostTest/Android.bp\n  tests/SystemMemoryTest/device/Android.bp\n  tests/SystemMemoryTest/host/Android.bp\n  tests/SystemUIDemoModeController/Android.bp\n  tests/TaskOrganizerTest/Android.bp\n  tests/TelephonyCommonTests/Android.bp\n  tests/TouchLatency/Android.bp\n  tests/TransformTest/Android.bp\n  tests/TtsTests/Android.bp\n  tests/UiBench/Android.bp\n  tests/UsageReportingTest/Android.bp\n  tests/UsageStatsPerfTests/Android.bp\n  tests/UsageStatsTest/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp\n  tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp\n  tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp\n  tests/UsbManagerTests/Android.bp\n  tests/UsbManagerTests/lib/Android.bp\n  tests/UsbTests/Android.bp\n  tests/UsesFeature2Test/Android.bp\n  tests/VectorDrawableTest/Android.bp\n  tests/VoiceEnrollment/Android.bp\n  tests/VoiceInteraction/Android.bp\n  tests/WallpaperTest/Android.bp\n  tests/WindowAnimationJank/Android.bp\n  tests/WindowInsetsTests/Android.bp\n  tests/appwidgets/AppWidgetHostTest/Android.bp\n  tests/appwidgets/AppWidgetProviderTest/Android.bp\n  tests/backup/Android.mk\n  tests/benchmarks/Android.bp\n  tests/libs-permissions/Android.bp\n  tests/net/Android.bp\n  tests/net/common/Android.bp\n  tests/net/deflake/Android.bp\n  tests/net/integration/Android.bp\n  tests/net/jni/Android.bp\n  tests/net/smoketest/Android.bp\n  tests/notification/Android.bp\n  tests/permission/Android.bp\n  tests/privapp-permissions/Android.bp\n  tests/testables/Android.bp\n  tests/testables/tests/Android.bp\n  tests/utils/StubIME/Android.bp\n  tests/utils/hostutils/Android.bp\n  tests/utils/testutils/Android.bp\n  tests/vcn/Android.bp\n  tools/aapt/Android.bp\n  tools/aapt2/Android.bp\n  tools/aapt2/integration-tests/AutoVersionTest/Android.bp\n  tools/aapt2/integration-tests/BasicTest/Android.bp\n  tools/aapt2/integration-tests/MergeOnlyTest/LeafLib/Android.mk\n  tools/aapt2/integration-tests/MergeOnlyTest/LocalLib/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibOne/Android.mk\n  tools/aapt2/integration-tests/NamespaceTest/LibTwo/Android.mk\n  tools/aapt2/integration-tests/StaticLibTest/App/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibOne/Android.bp\n  tools/aapt2/integration-tests/StaticLibTest/LibTwo/Android.bp\n  tools/aapt2/integration-tests/SymlinkTest/Android.bp\n  tools/bit/Android.bp\n  tools/codegen/Android.bp\n  tools/dump-coverage/Android.bp\n  tools/incident_report/Android.bp\n  tools/incident_section_gen/Android.bp\n  tools/lock_agent/Android.bp\n  tools/locked_region_code_injection/Android.bp\n  tools/obbtool/Android.bp\n  tools/powermodel/Android.bp\n  tools/preload-check/Android.bp\n  tools/preload-check/device/Android.bp\n  tools/preload/loadclass/Android.bp\n  tools/processors/staledataclass/Android.bp\n  tools/processors/view_inspector/Android.bp\n  tools/protologtool/Android.bp\n  tools/sdkparcelables/Android.bp\n  tools/split-select/Android.bp\n  tools/streaming_proto/Android.bp\n  tools/validatekeymaps/Android.bp\n  wifi/java/Android.bp\n  wifi/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  libs/hwui/Android.bp\n  native/webview/plat_support/Android.bp\n  obex/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-CC-BY SPDX-license-identifier-CPL-1.0\n    SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    SPDX-license-identifier-W3C legacy_unencumbered\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_unencumbered\nto:\n  core/java/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-CPL-1.0\nto:\n  test-base/Android.bp\n  test-runner/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL\nto:\n  core/res/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0\nto:\n  libs/usb/Android.bp\n  libs/usb/tests/accessorytest/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  tools/preload/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  api/Android.bp\n  boot/Android.bp\n  cmds/device_config/Android.bp\n  cmds/settings/Android.bp\n  core/api/Android.bp\n  core/tests/coretests/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/certs/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlaid_apex/Android.bp\n  core/tests/overlaytests/remount/test-apps/overlay_apex/Android.bp\n  libs/tracingproxy/Android.bp\n  services/startop/Android.bp\n  test-legacy/Android.mk\n  tests/ApkVerityTest/testdata/Android.bp\n  tests/TransitionTests/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: Ic44d662936d1ff0cae7fbe915932b37aa4e4869a\nMerged-in: I6e9103c3275cb2e6df5dc586588eccd7d2ab6b06\n"
    },
    {
      "commit": "17de88981f57fd6d323a1b17da5008e53f053309",
      "tree": "bcd91e73528105681f4573bd7ebcd71e1d9da7b7",
      "parents": [
        "5be93c282362abb052b6388e470becf9056dd3e4"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 13 14:37:08 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Jan 13 14:37:08 2021 -0800"
      },
      "message": "[MTE] Enable ASYNC MTE in the Zygote.\n\nThis allows applications to turn on MTE. The current design of MTE\ninside of Scudo doesn\u0027t allow us to late-enable MTE (but we can\nlate-disable it). Thus, we have to enable tagging in the Zygote in order\nto allow apps and the system_server to control their own MTE behaviour.\n\nWe intentionally use ASYNC mode so that we don\u0027t waste memory collecting\nstack traces from the zygote pre-fork. Given that the zygote is mostly\nJava code, the process itself should be pretty low risk for memory\ncorruption.\n\nBug: 135772972\nBug: 172365548\nTest: On FVP: atest -s localhost:5555 \\\ncom.android.cts.tagging.TaggingSdk30Test#testMemoryTagChecksCompatFeatureEnabled \\\ncom.android.cts.tagging.TaggingSdk30Test#testMemoryTagChecksCompatFeatureDisabled\n\nChange-Id: I9da2c33cb6022033264f443308d5508b3ff8da9e\n"
    },
    {
      "commit": "c7c462af2582117b6d2af9adcd824fbc537e37af",
      "tree": "1286a716b9a9d31ee83d207028b7d2811405bf13",
      "parents": [
        "15fb9f8c265fb9a86f3127ddb976525a35afc085"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 17 00:03:41 2020 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Apr 17 00:03:41 2020 +0100"
      },
      "message": "Move libsigchain version scripts to app_process, where they are used.\n\nThis is a temporary measure to avoid exporting filegroups in the SDK\nsnapshots. The version scripts will go away when libsigchain can be a\nshared lib.\n\nTest: Build and boot\nBug: 153338107\nBug: 142944043\nChange-Id: Id7bff041413569342cc5dcaeff144287b2ae1ef9\n"
    },
    {
      "commit": "0daed48a8840c3e611ce8cf3950dd25a74b1f673",
      "tree": "4cd8deb9125fb941d937b4df5571e6f4dc4f5db2",
      "parents": [
        "d191463bb0a528d3dc97a21b85ad83374b27c239"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:09:14 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 16:28:55 2019 +0000"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: I136e4d4459bb8c3c5abf3c0758dd5ae14d0ad2a2\n"
    },
    {
      "commit": "ef6a7da0f9770c457e6c4001830c95b87c2af7d0",
      "tree": "04ed7345257db2264086f4944db121bb88c88837",
      "parents": [
        "11d96c6de83c48e964c7a758de75b6cae67a6f2c"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 17 15:23:41 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Jun 17 15:23:41 2019 -0700"
      },
      "message": "app_process: use libhidlbase\n\nlibhwbinder symbols are moving into libhidlbase for memory/performance.\nThis change is preparing for this (and also to avoid a merge conflict).\nLater changes will be added to remove dependencies on libhwbinder once\nit is no longer required.\n\nBug: 134961554\nTest: N/A\nChange-Id: I128a007749356d4a8d75eba3e2c678c0f66c59fe\n"
    },
    {
      "commit": "7103a89d39b115624194d512abcf38dce1ddb4ff",
      "tree": "a1cc6fc058639a5b279a2d4746c1b9956c790ad1",
      "parents": [
        "79e58ad90120166ca81b9717f2a4abe915b2a647"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Jun 05 18:26:44 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jun 07 12:02:04 2019 +0100"
      },
      "message": "Use suffixes instead of stems in the definition of module `app_process`.\n\nTest: Device boot test\nChange-Id: Ibbf888383b4fe3204b71978243267765092d51c6\n"
    },
    {
      "commit": "45c0d71e774c84ec81392393a0fafad398d2838d",
      "tree": "40b86b0262b7c58c72a2be670380e56bf7fce96d",
      "parents": [
        "4ae4e50deffeddcfbaa7dcd85816c60e18011c3d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 28 22:31:35 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 29 16:35:06 2019 -0700"
      },
      "message": "Convert frameworks/base/cmds/* to Android.bp\n\nSee build/soong/README.md for more information.\n\nAlso converts the rest of frameworks/base/tools/streaming_proto.\n\nBug: 122332340\nTest: m checkbuild\nChange-Id: I87c500c5464fb1722b4b518d89065f5e1ee29a97\nMerged-In: Ieb54feb3902bddfd5a571369fbf50161ae646647\n"
    },
    {
      "commit": "a1194cb636ca058cc3d11f17200fd757302aca67",
      "tree": "558d6ddf081cb2e5d0a4a0b04026797682a59a5b",
      "parents": [
        "6941fcd88cbc10c210eb8264caa6d193404cd840"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 11:27:04 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 23 11:27:04 2018 -0700"
      },
      "message": "Use ABI_STRING.\n\nBug: N/A\nTest: builds\nChange-Id: I5a9d2a6604887f1f0e9583086e012a086042b7df\n"
    },
    {
      "commit": "8a4be2a6aebbdcfa576b82e544fc501112ebab35",
      "tree": "bae62406949249278365168872531fcc810a2bff",
      "parents": [
        "c5f089e6d57b68816b6e7201deb1af9d4132fdf5",
        "cf188f664a71c135c383143a7bb8b50a44fde64a"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Jul 12 02:54:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 12 02:54:24 2017 +0000"
      },
      "message": "Merge \"app_main: silence static analyzer warnings\"\nam: cf188f664a\n\nChange-Id: Ibad16ec8fabb4edaaa832bc43505f81fefb10ec7\n"
    },
    {
      "commit": "c29844d07236c5569663a9e0406943652b674959",
      "tree": "12a38637759f0003cfe800f2677b4384ba1a0a7d",
      "parents": [
        "ed3e6d47ffa3be00b7dadc4ac82ae5c3d49b0146"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jul 11 17:18:26 2017 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jul 11 17:28:15 2017 -0700"
      },
      "message": "app_main: silence static analyzer warnings\n\nThis silences two warnings:\n\nframeworks/base/cmds/app_process/app_main.cpp:238:11: warning: Potential\nmemory leak\n\nframeworks/base/cmds/app_process/app_main.cpp:261:9: warning: Potential\nmemory leak\n\nAs the (existing) comment notes, we nuke argv later in main(), so these\ncopies are necessary. Since these args need to live for basically the\nentire life of the process, it seems pointless to go out of our way to\nfree them.\n\nBug: 27101951\nTest: mma. Static analyzer warnings are gone.\nChange-Id: Icbfabfede9db909f6acb274b697cb6076c3fc11f\n"
    },
    {
      "commit": "b69ffdb2078e2272fa5637a8c8f2b58020946e20",
      "tree": "433c9fbd1461dfcd484c1824022254edb9bfc6ee",
      "parents": [
        "f9f8120e56caf757e4a995c6a62273f9210c041d"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Apr 19 16:40:49 2017 -0700"
      },
      "message": "Stop hwbinder threads from app_process.\n\nTo prevent it from hanging up.\n\nBug: 37500397\nBug: 34085250\nTest: DismissDialogsInstrumentation test\nChange-Id: Ia69f6a5676666bc9286272b82f242d7b1d0ee286\n"
    },
    {
      "commit": "92517e4c035f3c94f46b642798cccf24ce774135",
      "tree": "fcb90148f29a86283f1504921f952823d9ed3f83",
      "parents": [
        "b9eb093c3cb49c3ac44823d5a0d818e66b9bbcd3"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 03 13:29:03 2017 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 17 13:55:20 2017 -0800"
      },
      "message": "app_process: don\u0027t use PR_SET_NO_NEW_PRIVS.\n\nselinux should provide equivalent protection, and this prevents\ntransitioning to a helper binary for crash dumping.\n\nBug: http://b/30705528\nChange-Id: I64b05236931d418f268b193418e937ab6b0985e0\n"
    },
    {
      "commit": "2200e0973626d99d9765ec33e98d1764e4d3ae88",
      "tree": "4a78454d48a3a412f22a8bb61afd4043c58f2f96",
      "parents": [
        "273adb5257984fb4dd06753329bbd0d4ddc48ebe"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 30 16:35:32 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 30 16:35:32 2016 -0800"
      },
      "message": "App_process: Merge app_process and app_process__asan\n\nTwo birds with one stone: simplify the setup (including the modules\nrequired in PRODUCT_PACKAGES) and work around a build system issue\nwrt/ sanitized static libraries.\n\nBug: 33224213\nTest: mmma frameworks/base/cmds/app_process \u0026\u0026 \\\n      mmma SANITIZE_TARGET\u003daddress SANITIZE_LITE\u003dtrue \\\n      frameworks/base/cmds/app_process \u0026\u0026 \\\n      ls $OUT/system/bin/asanwrapper \u0026\u0026 \\\n      readelf -s $OUT/system/bin/app_process32 | grep asan \u0026\u0026 \\\n      readelf -s $OUT/system/bin/asan/app_process32 | grep asan \u0026\u0026 \\\n\nChange-Id: Ieff0ea9a2209cf74cf06f813087b55cb0bcc3896\n"
    },
    {
      "commit": "622f511f2ff29bb5a115d90a42b2870e75db68f9",
      "tree": "0e79e2e517147757b4837ba34aa1e5a90efeb651",
      "parents": [
        "827d0d76fbbbfcc1ed71b060b127c44c840a6336"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 29 19:28:13 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 30 09:46:09 2016 -0800"
      },
      "message": "App_process: Clean up sanitized binaries\n\nClean up the definition of sanitized binaries. Clean up the\nAndroid.mk to share values.\n\nBug: 33224213\nTest: mmma SANITIZE_TARGET\u003daddress SANITIZE_LITE\u003dtrue frameworks/base/cmds/app_process \u0026\u0026 ls $OUT/system/bin/asan\nChange-Id: I70f8d95ff2ec6366fc0a7d252b91dce268186910\n"
    },
    {
      "commit": "827d0d76fbbbfcc1ed71b060b127c44c840a6336",
      "tree": "18ee949bf1d760795c8dbd04030d9be060a30222",
      "parents": [
        "6063357ae69f29c415591b173cf411f241f129c6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 15 16:10:24 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 30 09:42:23 2016 -0800"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nChange-Id: I2f6a8c7f32cbf682c968a43d590d773ffb21e909\n(cherry picked from commit 3a7510bcf6089d3ef768de7cf805ca783f0aac17)\n"
    },
    {
      "commit": "4a4a8f15557e9c0724ec0a7361b7f8d5461f8f33",
      "tree": "0204093725b4db071d9efc9b5c35fc7bd166e02b",
      "parents": [
        "ec3e884e8855f3158814eb1e4cec6919b35766d4",
        "4f66cb3f534eafff335ec803caff0572d08e8aa5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 28 17:34:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 28 17:34:47 2016 +0000"
      },
      "message": "Merge \"app_process: Forward -cp/-classpath to ART.\""
    },
    {
      "commit": "c08e32e0beb52400e3957f03429b83bbee1832de",
      "tree": "cf13fdbc53e7155db98b0ee36ad8c985fa0a96f1",
      "parents": [
        "f12c6e4f5e0eecef53a75b6f3eb323018ff2ec7c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:57:17 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 07 15:57:17 2016 -0700"
      },
      "message": "Rely on the platform -std default.\n\nBug: http://b/32019064\nTest: builds\nChange-Id: I7180f1eb539ff8cbe33832d010775f053a922946\n"
    },
    {
      "commit": "4f66cb3f534eafff335ec803caff0572d08e8aa5",
      "tree": "6e884d6466b0a4a56e1f2640a0eb61293bc7e98e",
      "parents": [
        "5706a8f5353218a60d3cf104a03e79fae301c27d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 29 15:19:58 2016 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 03 11:08:42 2016 -0700"
      },
      "message": "app_process: Forward -cp/-classpath to ART.\n\n* No new functionality was added, this was already possible via\n  -Djava.class.path\u003dclasspath\n* However, this makes it a bit more compatible with other tools\n  that use -cp to invoke the main class.\n* Also update the benchmarks README for correct up-to-date vogar\n  instructions.\n\nTest: vogar --mode app_process --benchmark frameworks/base/core/tests/benchmarks/src/android/os/ParcelBenchmark.java\nBug: 31807538\nChange-Id: Idb04600fed3dd955437ccac832617dcfd1b52b63\n"
    },
    {
      "commit": "5638991c8233139ecf6207b99851116e2d2c2714",
      "tree": "6ca4d11aaa9e020a050ec663ebd0cd4a0359e9a4",
      "parents": [
        "3bc37e9cf7fb8349247d2b28673c8ada23538391"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Sep 13 16:19:33 2016 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Sep 14 10:24:20 2016 +0100"
      },
      "message": "app_main: failure to PR_SET_NO_NEW_PRIVS is always fatal.\n\nDon\u0027t make allowances for older kernels. Kernels must handle this\nproperly since it is now a CTS requirement.\n\nAlso remove some unreachable return statements.\n\nChange-Id: I280c4ed5e461d37672236747b5dbb7d1e97ecfec\n"
    },
    {
      "commit": "7310cc4880eb997697021d24c9422d520ba3c78a",
      "tree": "92f5c59c018300c164c310abc8f91826e6c5c7e4",
      "parents": [
        "c76a3ac224833e7d3542f37543cfe4f63723e3f3"
      ],
      "author": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Wed Aug 17 17:55:24 2016 -0700"
      },
      "committer": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Thu Aug 18 01:45:11 2016 +0000"
      },
      "message": "Remove unused includes.\n\nBUG: 29824203\n\nChange-Id: I795f8abe31575f70da263921c6ec13b73b24dc7b\n"
    },
    {
      "commit": "4c5281862f750cbc9d7355a07ef1a5545b9b3523",
      "tree": "78a00668509c3dc04760de948a3d977d93895d29",
      "parents": [
        "3e151273a39bf006140226490a2d9fe1fada5f65"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 14:12:38 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Aug 01 14:19:26 2016 -0700"
      },
      "message": "libsigchain: intercept bsd_signal on lp32\n\nbsd_signal is a deprecated synonym for the signal. Nevertheless\nthere are apps and libraries calling this function.\n\nlibsigchain needs to intercept these calls and handle them the same\nway it handles signal() call.\n\nBug: http://b/30562229\nTest: readelf --dyn-sym app_process32 and check that bsd_signal is exported\n      readelf --dyn-sym app_process64 and check that bsd_signal is not exported\nChange-Id: Iec584070b42bc7fa43b114c0f884aff2db5a6858\n"
    },
    {
      "commit": "f5b6e5590e0a2c1be10bc0bd0a3b141256fdf7fd",
      "tree": "fce781756ac30d5ebc344b6b6872c242be5e6672",
      "parents": [
        "8ee58b3b4eb09d5208a2c4c2b60be7d0ac99b3b8"
      ],
      "author": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Mon Jul 18 16:00:35 2016 -0700"
      },
      "committer": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Mon Jul 18 16:03:05 2016 -0700"
      },
      "message": "Handle long process names correctly.\n\npthread_setname_np() expects 16 or fewer characters for the name argument. When the process name is longer, we should trim it.\n\nChange-Id: I40be3a4212bdaab900c8eb30fa27aeeb7ed1b0d1\n"
    },
    {
      "commit": "342c7dcd022746c25dc202230a6a9390c403062f",
      "tree": "4ff7624e35da606ad4da35d90401b36c2e22b8c8",
      "parents": [
        "06561db2078241dccd473e85c7015536f365c329"
      ],
      "author": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Tue Jul 12 15:40:54 2016 -0700"
      },
      "committer": {
        "name": "Dmitriy Filchenko",
        "email": "dmitriyf@google.com",
        "time": "Tue Jul 12 15:44:55 2016 -0700"
      },
      "message": "Remove calls to set_process_name.\n\nBUG:29824203\n\nChange-Id: I67a1eb350cf9ea28c554166986df8fc251b666eb\n"
    },
    {
      "commit": "6a850b3f11cff546c962fc87ffc961a267973cd4",
      "tree": "7943a053c88cfad0abb7608becd22715367cc1b5",
      "parents": [
        "eb5866d4b05b6c000385be4a536544e27ca13335"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Apr 21 16:18:24 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Apr 27 10:22:09 2016 -0700"
      },
      "message": "zygote: Remove NativeLoader initialization step\n\nThis now done by art Runtime::Start()\n\nBug: http://b/28320913\nChange-Id: Icf9b11954b732c9f953e02bba9ae52eb91117457\n"
    },
    {
      "commit": "efab1544d09e19a2f6690c7c3715acf5e6ba635d",
      "tree": "5a7d357f55bec94ed80d40e5339cd12c24480c2f",
      "parents": [
        "4c2fd7afb06f248f3e0e1bdcfa5fc1269b573eb7"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Wed Mar 16 14:15:11 2016 -0700"
      },
      "committer": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Mar 17 11:16:32 2016 -0700"
      },
      "message": "Renamed the function initialing nativeloader\n\nBug: http://b/27546414\nChange-Id: Ia0b65540772ca4bd1cdab391973325b18cd278a0\n(cherry picked from commit bf1082e9a1ae833718321ac58ab64e281d0e3614)\n"
    },
    {
      "commit": "1da1e5cd3b12e8e56a0ccdd891abf2a1167490bc",
      "tree": "146bd41d23064297c3c4df638952ffda40be6890",
      "parents": [
        "38b839ca085f62c5ba06336461e3ae96b849a34e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 13:16:50 2016 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 13:36:20 2016 +0000"
      },
      "message": "Fix ASAN builds after app_process change.\n\nBug:27245894\n\n(cherry picked from commit 573895bbea7cf349d615606004cdb85ba2ca814d)\n\nChange-Id: I1b879f23cd2bb49070cbfee40ae1b8a586a328dc\n"
    },
    {
      "commit": "204386e1c56930cfbc304c91b9a8b4190567e524",
      "tree": "b1d1784166b776462c15170d22616f51d03e2870",
      "parents": [
        "33e7677665c38507e58245c92101acef01ff302d"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Feb 22 11:22:11 2016 -0800"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Feb 26 10:25:06 2016 +0000"
      },
      "message": "zygote to preload public native libraries\n\nPreload public native libraries when starting a zygote\nThis lets other users of libnativeloader (like dex2oat)\navoid unnecessary cold loads of libandroid.so which could\ntake up to a second.\n\nBug: http://b/27245894\n\n(cherry picked from commit b0824979be2653ba300382b52c1b1236fd44f0de)\n\nChange-Id: I04a640c104dba5b585a59d63270e81b6c9ad6f7e\n"
    },
    {
      "commit": "60a2716f720e843a7de6e7209c2021d95538711e",
      "tree": "3ca4b60b0d90d12ac04be3dda99b70efa6283258",
      "parents": [
        "069b3c19972ebed77ff65593ba3c858641d852e2",
        "3244dc229af4d4c8b764bf9ca1e108b5cd933d90"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Tue Aug 18 09:52:46 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 09:52:46 2015 +0000"
      },
      "message": "am 3244dc22: am 677cd087: am e9de1b4c: am 9a010d0a: Merge \"Allow debugging only for apps forked from zygote\" into mnc-dev\n\n* commit \u00273244dc229af4d4c8b764bf9ca1e108b5cd933d90\u0027:\n  Allow debugging only for apps forked from zygote\n"
    },
    {
      "commit": "7a09b8322cab26d6e3da1362d3c74964ae66b5d4",
      "tree": "268e2334d28f33d87c2b4d8492b9e9726094e603",
      "parents": [
        "90b030bae8cc1f13da7948fef4aff1d171a2885a"
      ],
      "author": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 10 18:55:34 2015 +0200"
      },
      "committer": {
        "name": "Sebastien Hertz",
        "email": "shertz@google.com",
        "time": "Mon Aug 10 20:39:13 2015 +0200"
      },
      "message": "Allow debugging only for apps forked from zygote\n\nWhen starting the runtime from app_process, we only pass JDWP options\nif starting zygote. It prevents from opening a JDWP connection in\nnon-zygote programs while Android apps (forked from zygote) remain\ndebuggable.\n\nBug: 23050463\nChange-Id: If8ea719063a65db4cdeed69a838b52e87b078b08\n"
    },
    {
      "commit": "7493793b2cfa8d7807388fc242cee35ae8e4c028",
      "tree": "b34b7cd49f2fa6cc5a021f13529e4cfbc0f685ec",
      "parents": [
        "635ace07294ea2508fdd3ba4194e8d6b377c2031",
        "d9f607417206552ecf48ba7a7f449321031619a7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Jun 20 00:10:11 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jun 20 00:10:11 2015 +0000"
      },
      "message": "am d9f60741: am bf30b4fd: Merge \"Add libwilhelm to app_process.\" into mnc-dev\n\n* commit \u0027d9f607417206552ecf48ba7a7f449321031619a7\u0027:\n  Add libwilhelm to app_process.\n"
    },
    {
      "commit": "ad81791641071e8daab0d27e49731975c5efcba6",
      "tree": "a96da0d30b811a4b4fb869dfc773cb808d63c704",
      "parents": [
        "90b3b93de460ccd1fc1116154f5d61bd2bc93d25"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 17 15:03:20 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 17 15:30:29 2015 -0700"
      },
      "message": "Add libwilhelm to app_process.\n\nIf an app exposes new/delete from a shared library, the libwilhelm\nshared library can wind up using the new from the app shared library,\nand the delete from libc++. It is completely legal for the app to\nexport new/delete in this way, so in order to avoid this situation,\npreload libwilhelm in the zygote. This forces libwilhelm to always\nresolve the new/delete from libc++.\n\nThis library cannot be added to android_runtime since libwilhelm\nhas a shared library which depends on android_runtime.\n\nBug: 21032018\nChange-Id: Id89c196df62d98d62855a1421f397b75a7e990a9\n"
    },
    {
      "commit": "492253742a6196e7cf86bb51c9ea63b9322a36a6",
      "tree": "6fd3df014917b7a65e750e1b92de86b664ad2990",
      "parents": [
        "88727a3c874ec2006eb5eafdf8bef155bbb9d63b",
        "3a059d2d89dd87690ccf4081097d8d069bb7f3c4"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 16 21:45:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 16 21:45:32 2015 +0000"
      },
      "message": "am 3a059d2d: am f35f66a8: Merge \"Use new sanitizer option.\"\n\n* commit \u00273a059d2d89dd87690ccf4081097d8d069bb7f3c4\u0027:\n  Use new sanitizer option.\n"
    },
    {
      "commit": "f98dae5675b62275af4c652679dc952476148681",
      "tree": "1c075865a059f803fb9af2b6cee32a6cbcdd8e9d",
      "parents": [
        "26a406063732587a667d6c389cfd055a7ceab566"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 16 14:06:49 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Jun 16 14:06:49 2015 -0700"
      },
      "message": "Use new sanitizer option.\n\nChange-Id: Iabc46da2820f252f6cd8cef8a447064890f3a76d\n"
    },
    {
      "commit": "fbb32f6440ed74a4d27eec03569520580d00da42",
      "tree": "1b2efd8333d77b3f0095f39d00e7a7a153aec968",
      "parents": [
        "2cc03e5606ad7cd473283898400506d5ac2237ba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jun 12 15:34:35 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jun 16 12:06:31 2015 +0100"
      },
      "message": "Better systrace slices for application startup.\n\nThis change adds three new timeslices :\n\n- PostFork : As soon as possible after the app forks from the\n  zygote. Can be used in conjunction with the system_server\n  \"Start proc:\" event to derive an upper bound on fork() and\n  zygote overhead.\n\n- RuntimeInit \u0026 ActivityThreadMain for ZygoteInit#runtimeInit\n  and ActivityThread#main.\n\nActivityThread#handleBindApplication and higher level functions\nare already well instrumented in systrace. handleBindApplication\nshould occur immediately after ActivityThread#main.\n\nNote that we use the Activity manager tag to make it easier to\ncorrelate these new events with surrounding events (Start proc\nand handleBindApplication) that are already using the AM tag.\n\nbug: 21632700\nChange-Id: Ibc01f1721f962c913f3c02a51763b6feb1eb6a4d\n"
    },
    {
      "commit": "5ca3afa296cdfd2a5a1086b69d09e5035969b05c",
      "tree": "9ebc6193a577cbc2c5c0ad5c8a21c55589463631",
      "parents": [
        "e9ac81745ef0c5f0d96a2c9dfcf2f84a86ccf85d"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 07 10:55:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 28 12:47:30 2015 -0700"
      },
      "message": "Update asan/app_process.\n\nBuild both 32 and 64-bit versions and don\u0027t limit it to eng.\n\nChange-Id: I5d6cc8005291100d5fe0f1385e8a0b4ba5f4d630\n(cherry picked from commit e740b17d2400ed0db17d1f7fce4f052bbbf808ab)\n"
    },
    {
      "commit": "e740b17d2400ed0db17d1f7fce4f052bbbf808ab",
      "tree": "911ceeb45b46996e92e482d38c4e4ad9c84bda67",
      "parents": [
        "f40149ff1f067193239c7b93f8fa617ceec101fe"
      ],
      "author": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 07 10:55:59 2015 -0700"
      },
      "committer": {
        "name": "Evgenii Stepanov",
        "email": "eugenis@google.com",
        "time": "Thu May 07 10:55:59 2015 -0700"
      },
      "message": "Update asan/app_process.\n\nBuild both 32 and 64-bit versions and don\u0027t limit it to eng.\n\nChange-Id: I5d6cc8005291100d5fe0f1385e8a0b4ba5f4d630\n"
    },
    {
      "commit": "b9f6b0eec3b1d331e0be352409659292cc0f0b06",
      "tree": "8eafa6099d8c71cc9f5ef9b9b0cd24f9579b9def",
      "parents": [
        "c0c8d1983c5d7c9bc9469944a9d46856aff95ab9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Apr 17 10:40:48 2015 -0700"
      },
      "message": "Explicitly use clang.\n\nThis was implicitly enabled by using ASAN.\n\nChange-Id: I562402a8191e2a3ab3eefd43860fbe7c58d441d8\n"
    },
    {
      "commit": "fc737fb76cc889d0c19bd8bf74d2b5f1fc4fbe6e",
      "tree": "da0b535aa2f0a15b68a6272fc3bcfb626715fa00",
      "parents": [
        "562c6a71f98e921fe8def18991b2a26f153c683d"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 07:36:23 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 01 16:02:32 2015 +0000"
      },
      "message": "app_main missing include for sys/stat.h\n\napp_main.c gets sys/stat.h inherited from\nprivate/android_filesystem_config.h it should\nnot rely on this in the future. The intent is\nto move fs_config function into libcutils and\nthus deprecate any need for sys/stat.h in this\ninclude file.\n\nBug: 19908228\nChange-Id: I477b825e582742113f849aaa1df50c41e496b6f6\n"
    },
    {
      "commit": "7e7c6031821e2aa55c756a9c85f97a22f4875552",
      "tree": "0469a30448b73c613136b024596ab49a83e51d05",
      "parents": [
        "93241de734c3b9cf20e8e8956e6f6ccacc5b5ef2"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Wed Dec 17 20:25:20 2014 -0800"
      },
      "committer": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Wed Dec 17 20:27:25 2014 -0800"
      },
      "message": "Add mips64 support to app_process.\n\nChange-Id: Ieb05a212606f02ebad119a0aea0ed92773ace214\n"
    },
    {
      "commit": "cfedceb8c180a2e176154d461659e0c3569dc931",
      "tree": "00de5f6ee61e72713c3b141f5a308f33f312bf53",
      "parents": [
        "59701b9ba5c453e327bc0e6873a9f6ff87a10391"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 30 21:48:18 2014 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 07 14:33:51 2014 -0800"
      },
      "message": "Frameworks/base: Turn on -Wall -Werror in cmds\n\nFix small warnings, turn on -Wall -Werror.\n\nChange-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b\n"
    },
    {
      "commit": "a0d07d49b8b0aae71beb48ec31b43f6923530d00",
      "tree": "823e7a702793c44562361155b8e9690df2b41479",
      "parents": [
        "e55300b14a20458da284cac981514bd01b345559",
        "9be7db6e3bc374efd9dcff744deab92148e20dbd"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 21 03:29:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 21 03:29:46 2014 +0000"
      },
      "message": "am 9be7db6e: am 952dd924: Merge \"Switch to libsigchain.a\"\n\n* commit \u00279be7db6e3bc374efd9dcff744deab92148e20dbd\u0027:\n  Switch to libsigchain.a\n"
    },
    {
      "commit": "5ba317cee071b718a163ab9acf2b6b4f6a337b39",
      "tree": "b342b297f9c43eb94dd3dd10c374452ee2c51b41",
      "parents": [
        "09fd5a1873fa1ab51f4e428b1b909fea35091a51"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 20 14:14:39 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Mon Oct 20 14:14:39 2014 -0700"
      },
      "message": "Switch to libsigchain.a\n\n Use LOCAL_WHOLE_STATIC_LIBRARIES to instruct static linker\n to export symbols from the static library.\n\nChange-Id: I465806dcffc777a682523f74ae6f7ab61aaa6962\n"
    },
    {
      "commit": "7f05e9118bd9b91a18994d5757ca372b05bd732c",
      "tree": "a4e6cbeae34e1eacea400015729376752d85cb30",
      "parents": [
        "21bb71e4d8f088a2716eb11d948f88bd65748bfc",
        "d1e735ef547c1720aa5bb56a446afbb7a8652599"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 14 18:21:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 14 18:21:49 2014 +0000"
      },
      "message": "am d1e735ef: am ed583f5e: Merge \"Link sigchain to main executable\"\n\n* commit \u0027d1e735ef547c1720aa5bb56a446afbb7a8652599\u0027:\n  Link sigchain to main executable\n"
    },
    {
      "commit": "96e0cfa721925550b1cc39cdfd6084a878e6ffe2",
      "tree": "40fb74227d09c3abef60b8799038c1bab8358ca1",
      "parents": [
        "ae1b6805a2609759186af8d7131c4750e011019a"
      ],
      "author": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Oct 07 13:34:42 2014 -0700"
      },
      "committer": {
        "name": "Dmitriy Ivanov",
        "email": "dimitry@google.com",
        "time": "Thu Oct 09 15:03:07 2014 -0700"
      },
      "message": "Link sigchain to main executable\n\n Also export necessary symbols to preempt calls from\n libart.so\n\nBug: 15345057\nBug: 15426766\nChange-Id: If0b7f59a59824e30aa0c33dad76c7a44932180de\n"
    },
    {
      "commit": "00c0cd4a24bd0f040055f9e786e2df1fa3b7d2d3",
      "tree": "87654f391f5e9dca11fd5e84901545890d3d5b16",
      "parents": [
        "98ff7bce66f03da14e39fa7e532a7202bde7dce6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 10 16:48:46 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 11 14:19:52 2014 -0700"
      },
      "message": "Clean entire arg block when setting process name.\n\nWhen Android processes fork from Zygote, we rewrite the command line\nwith a new name, eg. \"system_server\".  When we do this, we should\nfill the entire block with zeros to remove corrupted argument\ninformation that may otherwise remain in the /proc/\u003cpid\u003e/cmdline buffer\nand be seen in tools and stack dumps.\n\nFixed an issue where VM options could be overwritten after setting\nthe nice name if the name was too long.\n\nBug: 17474152\nChange-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b\n"
    },
    {
      "commit": "55471dcd0f843e79d8665c63165720eca6a9c980",
      "tree": "8c0c3defbd934c122861a5895d80ec7f5cd1f59e",
      "parents": [
        "371bee50f9b2e2f293bb1e1e11872ef1bd69d155"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 15:39:17 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 28 17:02:37 2014 -0700"
      },
      "message": "Change /dalvik-cache to be owned by root.\n\nBug: 16875245\n\n(cherry picked from commit 79bf4007f559e194205f632b23d2bfb6f8d1e7ba)\n\nChange-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66\n"
    },
    {
      "commit": "79bf4007f559e194205f632b23d2bfb6f8d1e7ba",
      "tree": "dba5c625b9c74e7dd9bdc3d7dc9e87b4df104157",
      "parents": [
        "2d3571cc17a5a6b1072951227d889ce14a3f88cf"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 27 15:39:17 2014 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Aug 28 11:34:50 2014 -0700"
      },
      "message": "Change /dalvik-cache to be owned by root.\n\nBug: 16875245\n\nChange-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66\n"
    },
    {
      "commit": "559484ed6a3ed98980579e35d12543be2835aa35",
      "tree": "85168a027a7d7d333488e69da6337016d82c14e6",
      "parents": [
        "b7d7cbc9c3a9315a5c5ecd85e16f5916c4bc3f3a"
      ],
      "author": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Tue May 06 23:30:40 2014 +0800"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed May 14 18:48:42 2014 +0100"
      },
      "message": "app_process: change app_process a symlink of primary version\n\nChange app_process to be a symlink to the primary version\nand have app_process32/app_process64 be the 32-bit/64-bit\nversions respectively.\n\nThis will make it possible to use the primary zygote for\nam/pm commands and other scripts that use app_process and\ndon\u0027t need a specific zygote.\n\nSigned-off-by: Yongqin Liu \u003cyongqin.liu@linaro.org\u003e\nChange-Id: Ibef545994eb95ddc82101c95df613ad1d06345e6\n"
    },
    {
      "commit": "d6183204e438a738b68301aeac452c0be41c8cb3",
      "tree": "76da5e53d9141f3689a49bb91a360d005b4183ff",
      "parents": [
        "973cdeed8eb9aa250b1b3bd5549df0e0dc78457e"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 30 16:45:07 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 11:27:49 2014 +0100"
      },
      "message": "Fix x86 build in app_process.\n\nLook for __i386__ and not __x86__.\n\n(cherry picked from commit 47d526217b3fd0d17ba751c66d25cfaf1c6ed7cd)\n\nChange-Id: I848ba351c378e59ab6744ca1983ae4463ae75ba4\n"
    },
    {
      "commit": "973cdeed8eb9aa250b1b3bd5549df0e0dc78457e",
      "tree": "dc92e8b3a7cdc7b32f14ddaf0f85298ba9abdb8e",
      "parents": [
        "fbb0ab02bed5c49159acb3dba6848a154e524169"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Apr 25 11:43:22 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu May 01 11:26:49 2014 +0100"
      },
      "message": "Create arch specific cache dirs during zygote startup.\n\nThe runtime expects them to exist before it\u0027s launched.\nThe boot image / art files are created during the first\nzygote launch.\n\n(cherry picked from commit da738713e4e2120a324e8ab6fd11aa0e54a3c66e)\n\nChange-Id: I7472aa25c16a1cf95791af2bdf80ed0d73123872\n"
    },
    {
      "commit": "195c73c9b2c5be50ab325099dc2160215ac7562a",
      "tree": "d96f10bd5467d1c3788e9393a6b9f5ee367c0b2c",
      "parents": [
        "5c220cc4e4c0584a9083529b58e30e17ab7d2d9e"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 25 15:01:24 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 29 15:10:58 2014 -0700"
      },
      "message": "Set NO_NEW_PRIVS on zygote init\n\nWhen app_process/zygote starts, make sure PR_SET_NO_NEW_PRIVS is set.\nThis prevents zygote spawned apps from acquiring new privileges\non exec.\n\nIn particular, this allows the CTS test\nandroid.os.cts.SecurityFeaturesTest#testNoNewPrivs() to pass if ART is set\nas the default runtime.\n\nChange-Id: I81139cda999c7b1430242561aad28f566e9b6da0\n"
    },
    {
      "commit": "6bd762289b911e8876759ebbfd9e8960ba825844",
      "tree": "6837055e52424d78e7c3e024e16ebc841895a59e",
      "parents": [
        "683cf1bffe33f49f26d46201f96cd2eff60e8192"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 23 16:54:33 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 23 16:54:33 2014 -0700"
      },
      "message": "Fix a typo in an assertion.\n\nChange-Id: I3e97bb3cb8070c0ec0c6b97769f1da3e7b4ef8f5\n"
    },
    {
      "commit": "90c75cf02e8e36be8679273f4ea15fd145001033",
      "tree": "8619abb2bafa9ece6622855ec829b0573d4f99bb",
      "parents": [
        "b093e485bbd790cc4d9678451c8cce4d361c2cf2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Apr 12 12:25:50 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Sat Apr 12 12:25:50 2014 +0100"
      },
      "message": "Don\u0027t compare String8s to NULL.\n\nUse String8::isEmpty instead. Note that this code path is hit\nonly if the zygote calls ::exit, and that never happens unless\nthe VM invocation fails.\n\nChange-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a\n"
    },
    {
      "commit": "d35d3e5d391b8daf20f9af2c5f01d5ff1985c1ee",
      "tree": "d5ffc966f3e4d3bf0711209213e73e03651d6749",
      "parents": [
        "09e13cc5f9f98382376eb49bfa6ceb94a50d37a1"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 12:13:06 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 10 12:15:39 2014 +0100"
      },
      "message": "Dual zygote cleanup.\n\n- Use different process names for the 32 / 64 bit zygote.\n- Pass command line arguments correctly. The first unmatched\n  argument must be passed through to the java main class.\n\nChange-Id: I952ebbdbba941f118d992354b9bd0ada2dade417\n"
    },
    {
      "commit": "c41638cb759ce569630ffae4c5c4cdee1b0f3b82",
      "tree": "06f51dec3427c6e8322816b2e43f2bb784f28fe0",
      "parents": [
        "22ec1eefa4dc8e12f7da8e8750d4770144941526"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 07 13:56:15 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:41:15 2014 +0100"
      },
      "message": "Make zygotes aware of their supported ABIs.\n\nQuery system properties for the list of ABIs and pass\nit as a command line argument to ZygoteInit.\n\nAlso add a new Zygote command that returns this list of\nABIs to peers.\n\nChange-Id: I68034c6f63fa626911122579a011a0a25a8cda94\n"
    },
    {
      "commit": "22ec1eefa4dc8e12f7da8e8750d4770144941526",
      "tree": "f5ca6c4f0055e8c4ef01cf484abc65d983ec990b",
      "parents": [
        "a5608acbd7647e0fd9aa87e5319715b0cbd6b0c0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 07 12:44:58 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Apr 09 13:39:41 2014 +0100"
      },
      "message": "Clean up argc / argv processing for runtime args.\n\n- Make copies of argc, argv before argv is potentially\n  overwritten with the process name.\n- Allow multiple command line arguments to be passed to\n  ZygoteInit (this is required for some of the 64 bit\n  zygote work).\n- Add an explanatory comment about how these argments\n  are processed.\n\nChange-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0\n"
    },
    {
      "commit": "a23fcd7be8e40078a913b1a99222cdd89229e67b",
      "tree": "9580df860d196b7b1edab40837c0c08fbc4ff6da",
      "parents": [
        "369a00574da218975718ce07ffe6abba5c17bf92"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 28 13:39:21 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Apr 03 12:29:07 2014 +0000"
      },
      "message": "Remove ProcessState::mArgc,mArgV,mArgLen\n\nThese look like historical oddities, and weren\u0027t really being\nused for anything useful.\n\nProcess:setArgV0 was being called by android.util.Process, but\nthat functionality can be moved directly into the implementation\nof that class.\n\nbug: 13647418\n\nChange-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6"
    },
    {
      "commit": "f130f0aaea58358dafbe83ccec2b5163b5bed1fb",
      "tree": "06be6d4b9de8764d34ef29e7dc2eca085833c2c4",
      "parents": [
        "5daf51c0fe6d5bea858c37291fed88bd3094d3ec"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 27 10:20:29 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 27 10:20:29 2014 -0700"
      },
      "message": "app_process: use LOCAL_MULTILIB :\u003d both\n\nUse LOCAL_MULTILIB :\u003d both to build app_process64 instead of\nduplicating the build rule.\n\nAlso causes PRODUCT_PACKAGES :\u003d app_process to install both\nversions on 64-bit platforms, as the module names for both\napp_process and app_process64 are now app_process.\n\nChange-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186\n"
    },
    {
      "commit": "2764fce3a1119599cd231545b16e6a16286e482d",
      "tree": "10afd1b4914b8e5eb448f94514221e93a2167179",
      "parents": [
        "bfc440923ecb8f32448c675095a2096049fe7ebe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 17:47:39 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 17:49:47 2014 -0700"
      },
      "message": "build app_process64 on 64-bit targets\n\nOn 64-bit platforms builds two copies of app_process, the 32-bit\napp_process and 64-bit app_process64.\n\nChange-Id: I59d739b5df398ad0bd040c954c57640ff7ab3e72\n"
    },
    {
      "commit": "d53afd2b05f428fcce5695770c04d6cb6fba7aca",
      "tree": "343b43878bcad885afde9a87252e89f628a9c3e1",
      "parents": [
        "ac39c604d6df8631922c2295b3341cd561f172a5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 18 14:29:46 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Sep 18 14:29:46 2013 -0700"
      },
      "message": "revert ADDR_COMPAT_LAYOUT workaround.\n\nStop working around bad applications by setting ADDR_COMPAT_LAYOUT.\nADDR_COMPAT_LAYOUT is undesirable because it reduces the amount of\naddress space available to an application.\n\nThe Android emulator, in both 4.3 and 4.4, does not set\nADDR_COMPAT_LAYOUT. Anyone needing to test their application on a\nversion of Android without ADDR_COMPAT_LAYOUT can use the emulator\nand reproduce the failures.\n\nChange-Id: I8f753acc205798bd7f031026c7ece12d26de562c\n"
    },
    {
      "commit": "fc8bd4d3f4deece8beee7ce3f7888078dd37c60d",
      "tree": "e45c438d4a34e40694d2f6e859adf50ce844615d",
      "parents": [
        "2ea5aebe59b72c034b32c132c35a5c75a7a2bf56",
        "35587a0c47c33a8eed7817dc705dbf502f7b5b60"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 23 17:06:58 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 23 17:06:58 2013 -0700"
      },
      "message": "am 35587a0c: Merge \"Don\\\u0027t set ADDR_COMPAT_LAYOUT on the emulator\"\n\n* commit \u002735587a0c47c33a8eed7817dc705dbf502f7b5b60\u0027:\n  Don\u0027t set ADDR_COMPAT_LAYOUT on the emulator\n"
    },
    {
      "commit": "fc17dc2548234461eb43ff83539ede4c9893a825",
      "tree": "8f8bbf8c1ab2defe9926b461fa9090222ced4275",
      "parents": [
        "be4536d214eedc3d12b50f0f30b47bba773b8dbc"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 23 15:30:45 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Apr 23 15:40:03 2013 -0700"
      },
      "message": "Don\u0027t set ADDR_COMPAT_LAYOUT on the emulator\n\nDon\u0027t work around third party app bugs on the emulator.\n\nChange-Id: I4440fcd56b72e3a74881ddec2a469f037a060525\n"
    },
    {
      "commit": "6ad0452e6301c0650f58f3991f7c523f6f279ddb",
      "tree": "0f116a6253e62bd96a4deb02c137461516cf6266",
      "parents": [
        "d12a7645a3bf3ffa83b8041bf343f1dc12a2381f"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Apr 15 18:53:24 2013 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 22:15:21 2013 +0000"
      },
      "message": "Disable tracing from Zygote\n\nThis change disables all atrace tracing in Zygote immediately after it is\ninitialized.  This is necessary because Zygote has no way to receive\nnotifications that the enabled trace tags have been changed.  Tracing is\nre-enabled when other processes fork from Zygote.\n\nChange-Id: If2983858fb0c4890ba9ab041849b1c4d98f66c13\n"
    },
    {
      "commit": "d685894212e6dbeac1fda4996903c1da115d49a6",
      "tree": "c52d05c78811e79a869afbcdbe55a906e38f2fa1",
      "parents": [
        "9fa49cc3308f6af593d780581121afc3c1d7e046"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: I746aa8258866508c3a725d0773faf4518096548f\n"
    },
    {
      "commit": "9a9350550a7ca51feb97218101ef90c2cb90be71",
      "tree": "ef9b1a88b56ca830da9309928ca59e389f086c0a",
      "parents": [
        "f7ec4e61ebde9ff6d4934bd398e9ef8a39e4c28b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 13:12:28 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 13:14:52 2013 -0700"
      },
      "message": "app_process: don\u0027t pollute the environment\n\nGive a hoot — don\u0027t pollute!\n\nChange-Id: I30d6c05cecab483f0e9d8063907f7bc0ef2bb104\n"
    },
    {
      "commit": "1fe21bd1b6ca8b94c78fbf3666a1e8e0472355de",
      "tree": "d3fe55e4014a23cc1d6991ce3110b26a2d97de83",
      "parents": [
        "1ae6ae2094fd0ab8c82ad1a347e7a8bd67d995e5"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 11:38:29 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 15 11:59:03 2013 -0700"
      },
      "message": "Never call app_main more than once\n\nDifferent kernels seem to handle ADDR_COMPAT_LAYOUT differently,\nsometimes passing it to its children, sometimes not. If it\u0027s not\npassed to its child successfully, we can end up in a restart loop.\n\nInstead of testing for the presence of ADDR_COMPAT_LAYOUT, use an\nenvironment variable instead, which is handled more predictably.\n\nBug: 8392487\nChange-Id: Ia531dd2abb4e1cd46f3430d844e644f53581f530\n"
    },
    {
      "commit": "5fa1ee779e2170fd2e3e96b1e0887f15b04b1f76",
      "tree": "bb51821e615f0a1b70dc962cbac893106ce9f024",
      "parents": [
        "f732108e86fcc9825d5ecaa0b65ee91469c4a24c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 16:31:34 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 16:31:34 2013 -0700"
      },
      "message": "Don\u0027t use ADDR_COMPAT_LAYOUT on the emulator\n\nFor the emulator, we want people to see memory as it\nactually is, not how we\u0027re hacking around buggy apps. Don\u0027t\nset ADDR_COMPAT_LAYOUT on the emulator.\n\nFor reasons that I don\u0027t understand, personality(ADDR_COMPAT_LAYOUT)\ndoes not persist across an exec on the emulator. app_main gets\ninto a tight loop restarting itself because of this. This change\nalso works around that bug.\n\nChange-Id: Ia73a7d2d623c25cf39d248145d97307945d554da\n"
    },
    {
      "commit": "8a0a929422682ba3eb6a205dc6c0638e68b909de",
      "tree": "2d97cde26c7050f159c9f20a3267ed1243783250",
      "parents": [
        "733329a2745ce703029b40afaa5dd78c7a5b620c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 13:23:52 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 14 15:21:12 2013 -0700"
      },
      "message": "Respawn app_main if ADDR_COMPAT_LAYOUT is not set\n\nBug: 8358800\nChange-Id: Id81aa26d74dfd16a49f0ee5926ea2cdb3c2106d8\n"
    },
    {
      "commit": "bb4cd8259269743fa8f0912b064961477b368c4f",
      "tree": "a2f1cece969241290b281ef3fd72db4aba469d1c",
      "parents": [
        "5e63d99ca5b292702d79ce3e144721710d7106db"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Apr 02 16:16:04 2012 +0400"
      },
      "committer": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Wed Apr 04 21:51:44 2012 +0400"
      },
      "message": "Build /system/bin/asan/app_process.\n\nChange-Id: Id3fa26a1bc0e0832bfde73dbd3acce15ecce823d\n"
    },
    {
      "commit": "5bb508fac6453c75afe8acc2fec6380bc0ebdb06",
      "tree": "2187a2a450cdf80d9b1ea10eb53d7d15b09753e6",
      "parents": [
        "cb5c734790e1e3d8496b4c75c57e8a537784c056"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Apr 04 08:12:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 08:12:46 2012 -0700"
      },
      "message": "Revert \"Build /system/bin/asan/app_process.\"\n\nThis reverts commit cb5c734790e1e3d8496b4c75c57e8a537784c056"
    },
    {
      "commit": "cb5c734790e1e3d8496b4c75c57e8a537784c056",
      "tree": "fa85c044e00d7e2c60f1cd9e2ed58170d16859d5",
      "parents": [
        "ee80082ef7c6575ab36ef63c9f11808a44c371ad"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Mon Apr 02 16:16:04 2012 +0400"
      },
      "committer": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Tue Apr 03 22:17:00 2012 +0400"
      },
      "message": "Build /system/bin/asan/app_process.\n\nChange-Id: Icdfe215a7e86466a07fe0508775c89963a0a4787\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "71f2cf116aab893e224056c38ab146bd1538dd3e",
      "tree": "75a9162a0ea00830184b12a9ca51d3a1a040a5bb",
      "parents": [
        "1da79501066a74b630c8aa138db0f86ab6c690bb"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "10e89712863f5b91a2982dc1783fbdfe39c1485d",
      "tree": "7a268e40e03cfb2b65d3764b73d0ea42172965fa",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 18:52:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 19:54:07 2011 -0700"
      },
      "message": "Eliminate single-process mode.\nBug: 5010576\n\nChange-Id: Id450dc83efed4897d1e4ff451530fed14457aace\n"
    },
    {
      "commit": "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3",
      "tree": "ae346479a6c069a3a57acecb18a0b0a563325e3f",
      "parents": [
        "cbc38e74f028d9e337eba0f3ed7c435310cc10c2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 16 17:08:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 12:01:25 2011 -0700"
      },
      "message": "Support wrapping app processes to inject debug instrumentation.\nBug: 4437846\n\nChange-Id: I4552501c693716b14714afb5c5248edaca9547ab\n"
    },
    {
      "commit": "d195e5ab401432ddac659791640a2927fc668699",
      "tree": "61169b923b4d530a097ac8ff9e3029dfe468b7cd",
      "parents": [
        "966f9e558d714d9d41189e989b21e6d5fec35047"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 13 15:39:37 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Apr 13 16:43:15 2011 -0700"
      },
      "message": "Replace a custom AndroidRuntime::findClass with a more targeted fix.\n\nThis seems simpler and more contained, and I think the comment explaining\nwhy hoop-jumping is necessary is a bit clearer now.\n\nChange-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8\n"
    },
    {
      "commit": "de6d1d889ebf15250c04a8ffc204b91af1e447e3",
      "tree": "74e7bf4e0179ab278d36d502642a3c6db2825061",
      "parents": [
        "c8b7971cb3e09dfd4480a4bb8875a32157b62192"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 07 16:02:11 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Oct 07 16:02:11 2010 -0700"
      },
      "message": "Move LOG_ALWAYS_FATAL to end of app_process\n\nSince LOG_ALWAYS_FATAL is always fatal and code after it is by\ndefinition unreachable, put the call after other diagnostic output.\n\nChange-Id: Ib3a515a04125d8e4f6e8af3a6f59226e8f0dd9cd\n"
    },
    {
      "commit": "b1bb6cfe91c97fccd720de565fa69ed787ae1cbc",
      "tree": "f57a58dd074a3846884b41320665d33a0d6553fe",
      "parents": [
        "82583b8312403ed734c30b161750d40c26086ee2"
      ],
      "author": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Sun Oct 04 19:27:57 2009 -0700"
      },
      "committer": {
        "name": "Doug Kwan",
        "email": "dougkwan@google.com",
        "time": "Sun Oct 04 19:27:57 2009 -0700"
      },
      "message": "Add back missing shared libraries used in executables in link commands.  These\nexecutables have calls to some shared libraries without explicitly linking\nthem.  Currently it works as linker links these libraries via dependencies of\nother libraries.  This is fragile and not the right thing to do.\n"
    },
    {
      "commit": "0795272aa226f4e965968a03daddc53ce30b7cda",
      "tree": "6b4e8ba5e57c5dcf2dd770c24e14c43eda42fdd7",
      "parents": [
        "25ba5b6564224dceefa086b5c439ef28dad530ca"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
