Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c3f50dc authored by Andreas Gampe's avatar Andreas Gampe Committed by android-build-merger
Browse files

Merge "LockAgent: Add crasher binary"

am: a6874fcc

Change-Id: Iacf6a51f14908777bd022374d90471e9e4c6a378
parents 9a9f6902 a6874fcc
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -51,11 +51,22 @@ java_library {
    installable: true,
    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 {
sh_binary {
    name: "start_with_lockagent",
    name: "start_with_lockagent",
    src: "start_with_lockagent.sh",
    src: "start_with_lockagent.sh",
    required: [
    required: [
        "liblockagent",
        "liblockagent",
        "lockagent",
        "lockagent",
        "lockagent_crasher",
    ],
    ],
}
}
+30 −0
Original line number Original line 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();
}