Loading tools/lock_agent/Android.bp +11 −0 Original line number Diff line number Diff line Loading @@ -51,11 +51,22 @@ java_library { installable: true, } cc_binary { name: "lockagent_crasher", srcs: ["crasher.cpp"], static_libs: ["libbase_ndk"], shared_libs: ["liblog"], sdk_version: "current", stl: "c++_static", compile_multilib: "first", } sh_binary { name: "start_with_lockagent", src: "start_with_lockagent.sh", required: [ "liblockagent", "lockagent", "lockagent_crasher", ], } tools/lock_agent/crasher.cpp 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <android-base/logging.h> // Simple binary that will just crash with the message given as the first parameter. // // This is helpful in cases the caller does not want to crash itself, e.g., fork+crash // instead, as LOG(FATAL) might not be safe (for example in a multi-threaded environment). int main(int argc, char *argv[]) { if (argc != 2) { LOG(FATAL) << "Need one argument for abort message"; __builtin_unreachable(); } LOG(FATAL) << argv[1]; __builtin_unreachable(); } Loading
tools/lock_agent/Android.bp +11 −0 Original line number Diff line number Diff line Loading @@ -51,11 +51,22 @@ java_library { installable: true, } cc_binary { name: "lockagent_crasher", srcs: ["crasher.cpp"], static_libs: ["libbase_ndk"], shared_libs: ["liblog"], sdk_version: "current", stl: "c++_static", compile_multilib: "first", } sh_binary { name: "start_with_lockagent", src: "start_with_lockagent.sh", required: [ "liblockagent", "lockagent", "lockagent_crasher", ], }
tools/lock_agent/crasher.cpp 0 → 100644 +30 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include <android-base/logging.h> // Simple binary that will just crash with the message given as the first parameter. // // This is helpful in cases the caller does not want to crash itself, e.g., fork+crash // instead, as LOG(FATAL) might not be safe (for example in a multi-threaded environment). int main(int argc, char *argv[]) { if (argc != 2) { LOG(FATAL) << "Need one argument for abort message"; __builtin_unreachable(); } LOG(FATAL) << argv[1]; __builtin_unreachable(); }