1800b99b8Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd. 2800b99b8Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3800b99b8Sopenharmony_ci# you may not use this file except in compliance with the License. 4800b99b8Sopenharmony_ci# You may obtain a copy of the License at 5800b99b8Sopenharmony_ci# 6800b99b8Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7800b99b8Sopenharmony_ci# 8800b99b8Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9800b99b8Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10800b99b8Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11800b99b8Sopenharmony_ci# See the License for the specific language governing permissions and 12800b99b8Sopenharmony_ci# limitations under the License. 13800b99b8Sopenharmony_ci 14800b99b8Sopenharmony_ciimport("//base/hiviewdfx/faultloggerd/faultloggerd.gni") 15800b99b8Sopenharmony_ci 16800b99b8Sopenharmony_ciif (defined(ohos_lite)) { 17800b99b8Sopenharmony_ci executable("crasher_cpp") { 18800b99b8Sopenharmony_ci cflags = [ 19800b99b8Sopenharmony_ci "-funwind-tables", 20800b99b8Sopenharmony_ci "-Wno-frame-larger-than", 21800b99b8Sopenharmony_ci ] 22800b99b8Sopenharmony_ci defines = [ "is_ohos_lite" ] 23800b99b8Sopenharmony_ci visibility = [ "*:*" ] 24800b99b8Sopenharmony_ci include_dirs = [ 25800b99b8Sopenharmony_ci ".", 26800b99b8Sopenharmony_ci "$faultloggerd_interfaces_path/common", 27800b99b8Sopenharmony_ci "$faultloggerd_interfaces_path/innerkits/async_stack/include", 28800b99b8Sopenharmony_ci "$hilog_lite_include_path", 29800b99b8Sopenharmony_ci ] 30800b99b8Sopenharmony_ci sources = [ "dfx_crasher.cpp" ] 31800b99b8Sopenharmony_ci deps = [ 32800b99b8Sopenharmony_ci "$faultloggerd_interfaces_path/innerkits/async_stack:libasync_stack", 33800b99b8Sopenharmony_ci "$hilog_lite_deps_path", 34800b99b8Sopenharmony_ci ] 35800b99b8Sopenharmony_ci 36800b99b8Sopenharmony_ci external_deps = [ "bounds_checking_function:libsec_shared" ] 37800b99b8Sopenharmony_ci } 38800b99b8Sopenharmony_ci} else { 39800b99b8Sopenharmony_ci config("crasher_config") { 40800b99b8Sopenharmony_ci visibility = [ ":*" ] 41800b99b8Sopenharmony_ci 42800b99b8Sopenharmony_ci include_dirs = [ 43800b99b8Sopenharmony_ci ".", 44800b99b8Sopenharmony_ci "$faultloggerd_interfaces_path/common", 45800b99b8Sopenharmony_ci ] 46800b99b8Sopenharmony_ci 47800b99b8Sopenharmony_ci cflags = [ 48800b99b8Sopenharmony_ci "-DHAS_HITRACE", 49800b99b8Sopenharmony_ci "-DHAS_CRASH_EXAMPLES", 50800b99b8Sopenharmony_ci "-Wno-frame-larger-than", 51800b99b8Sopenharmony_ci "-Wno-frame-address", 52800b99b8Sopenharmony_ci ] 53800b99b8Sopenharmony_ci cflags_c = [ "-Wno-frame-larger-than" ] 54800b99b8Sopenharmony_ci cflags_cc = [ 55800b99b8Sopenharmony_ci "-Wno-frame-larger-than", 56800b99b8Sopenharmony_ci "-o0", 57800b99b8Sopenharmony_ci ] 58800b99b8Sopenharmony_ci ldflags = [ "-Wno-frame-larger-than" ] 59800b99b8Sopenharmony_ci } 60800b99b8Sopenharmony_ci 61800b99b8Sopenharmony_ci ohos_executable("crasher_cpp") { 62800b99b8Sopenharmony_ci configs = [ 63800b99b8Sopenharmony_ci ":crasher_config", 64800b99b8Sopenharmony_ci "$faultloggerd_path/common/build:coverage_flags", 65800b99b8Sopenharmony_ci ] 66800b99b8Sopenharmony_ci 67800b99b8Sopenharmony_ci sources = [ "dfx_crasher.cpp" ] 68800b99b8Sopenharmony_ci sources += [ 69800b99b8Sopenharmony_ci "faults/ipc_issues.cpp", 70800b99b8Sopenharmony_ci "faults/multi_thread_container_access.cpp", 71800b99b8Sopenharmony_ci "faults/nullpointer_dereference.cpp", 72800b99b8Sopenharmony_ci "faults/parcel_sample.cpp", 73800b99b8Sopenharmony_ci "faults/remote_object_interface_proxy.cpp", 74800b99b8Sopenharmony_ci "faults/remote_object_interface_stub.cpp", 75800b99b8Sopenharmony_ci ] 76800b99b8Sopenharmony_ci 77800b99b8Sopenharmony_ci branch_protector_ret = "pac_ret" 78800b99b8Sopenharmony_ci 79800b99b8Sopenharmony_ci deps = 80800b99b8Sopenharmony_ci [ "$faultloggerd_interfaces_path/innerkits/async_stack:libasync_stack" ] 81800b99b8Sopenharmony_ci 82800b99b8Sopenharmony_ci external_deps = [ 83800b99b8Sopenharmony_ci "c_utils:utils", 84800b99b8Sopenharmony_ci "ffrt:libffrt", 85800b99b8Sopenharmony_ci "hilog:libhilog", 86800b99b8Sopenharmony_ci "hitrace:libhitracechain", 87800b99b8Sopenharmony_ci "ipc:ipc_single", 88800b99b8Sopenharmony_ci "libuv:uv", 89800b99b8Sopenharmony_ci ] 90800b99b8Sopenharmony_ci 91800b99b8Sopenharmony_ci part_name = "faultloggerd" 92800b99b8Sopenharmony_ci subsystem_name = "hiviewdfx" 93800b99b8Sopenharmony_ci } 94800b99b8Sopenharmony_ci} 95