mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 14:06:33 +00:00
Refactor CrashpadHandlerMain into its own target
Currently crashpad's CrashpadHandlerMain can not be overridden. Change it to be in its own target so that implementers can override it if they so choose. Bug: chromium:973167 Change-Id: Ie44eac24c54948154ff550072560732faf621739 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1682932 Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org> Reviewed-by: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
parent
137506bf1e
commit
b946fdd438
@ -88,6 +88,20 @@ static_library("handler") {
|
||||
}
|
||||
}
|
||||
|
||||
if (crashpad_is_android) {
|
||||
# CrashpadHandlerMain is defined in a separate target so that it can be
|
||||
# overriden by implementers
|
||||
source_set("crashpad_handler_main") {
|
||||
sources = [
|
||||
"crashpad_handler_main.cc",
|
||||
]
|
||||
|
||||
deps = [
|
||||
":handler",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
source_set("handler_test") {
|
||||
testonly = true
|
||||
|
||||
|
33
handler/crashpad_handler_main.cc
Normal file
33
handler/crashpad_handler_main.cc
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright 2019 The Crashpad Authors. All rights reserved.
|
||||
//
|
||||
// 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 "handler/handler_main.h"
|
||||
|
||||
namespace crashpad {
|
||||
|
||||
extern "C" {
|
||||
//! \brief The `main()` entry point for Android libraries.
|
||||
//!
|
||||
//! This symbol is the entry point for crashpad when it is dynamically loaded
|
||||
//! using /system/bin/linker.
|
||||
//!
|
||||
//! \sa CrashpadClient::StartHandlerWithLinkerAtCrash()
|
||||
__attribute__((visibility("default"), used)) int CrashpadHandlerMain(
|
||||
int argc,
|
||||
char* argv[]) {
|
||||
return HandlerMain(argc, argv, nullptr);
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
} // namespace crashpad
|
@ -506,18 +506,6 @@ class ScopedStoppable {
|
||||
|
||||
} // namespace
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
|
||||
extern "C" {
|
||||
__attribute__((visibility("default"), used)) int CrashpadHandlerMain(
|
||||
int argc,
|
||||
char* argv[]) {
|
||||
return HandlerMain(argc, argv, nullptr);
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
#endif // OS_ANDROID
|
||||
|
||||
int HandlerMain(int argc,
|
||||
char* argv[],
|
||||
const UserStreamDataSources* user_stream_sources) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user