github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git-clang-format --diff 80c0e8d572d3b1c34d66faffc42bcfc9432583ec 5b2cf0ab7e382e41ff3dfe88e4d7e35ddc99afd5 --extensions cpp,h,c -- lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h lldb/test/API/macosx/abort_with_payload/main.c lldb/include/lldb/Target/Process.h lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp lldb/source/Target/Process.cpp `````````` </details> <details> <summary> View the diff from clang-format here. </summary> ``````````diff diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h index ffff84bbd8..e1be76d494 100644 --- a/lldb/include/lldb/Target/Process.h +++ b/lldb/include/lldb/Target/Process.h @@ -2569,14 +2569,14 @@ void PruneThreadPlans(); /// A StructuredDataSP object which, if non-empty, will contain the /// information related to the process. virtual StructuredData::DictionarySP GetMetadata() { return nullptr; } - + /// Fetch extended crash information held by the process. This will never be /// an empty shared pointer, it will always have a dict, though it may be /// empty. StructuredData::DictionarySP GetExtendedCrashInfoDict() { - return m_crash_info_dict_sp; + return m_crash_info_dict_sp; } - + void ResetExtendedCrashInfoDict() { // StructuredData::Dictionary is add only, so we have to make a new one: m_crash_info_dict_sp.reset(new StructuredData::Dictionary()); @@ -3197,8 +3197,8 @@ protected: /// Per process source file cache. SourceManager::SourceFileCache m_source_file_cache; - - /// A repository for extra crash information, consulted in + + /// A repository for extra crash information, consulted in /// GetExtendedCrashInformation. StructuredData::DictionarySP m_crash_info_dict_sp; diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp index 398b44c293..3d22e7122d 100644 --- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp @@ -856,15 +856,15 @@ PlatformDarwin::ParseVersionBuildDir(llvm::StringRef dir) { } llvm::Expected<StructuredData::DictionarySP> -PlatformDarwin:: -FetchExtendedCrashInformation(Process &process) { +PlatformDarwin::FetchExtendedCrashInformation(Process &process) { static constexpr llvm::StringLiteral crash_info_key("Crash-Info Annotations"); - static constexpr llvm::StringLiteral asi_info_key("Application Specific Information"); + static constexpr llvm::StringLiteral asi_info_key( + "Application Specific Information"); // We cache the information we find in the process extended info dict: - StructuredData::DictionarySP process_dict_sp - = process.GetExtendedCrashInfoDict(); - StructuredData::Array *annotations = nullptr; + StructuredData::DictionarySP process_dict_sp = + process.GetExtendedCrashInfoDict(); + StructuredData::Array *annotations = nullptr; StructuredData::ArraySP new_annotations_sp; if (!process_dict_sp->GetValueForKeyAsArray(crash_info_key, annotations)) { new_annotations_sp = ExtractCrashInfoAnnotations(process); @@ -876,15 +876,15 @@ FetchExtendedCrashInformation(Process &process) { StructuredData::Dictionary *app_specific_info; StructuredData::DictionarySP new_app_specific_info_sp; - if (!process_dict_sp->GetValueForKeyAsDictionary(asi_info_key, app_specific_info)) - { + if (!process_dict_sp->GetValueForKeyAsDictionary(asi_info_key, + app_specific_info)) { new_app_specific_info_sp = ExtractAppSpecificInfo(process); if (new_app_specific_info_sp && new_app_specific_info_sp->GetSize()) { process_dict_sp->AddItem(asi_info_key, new_app_specific_info_sp); app_specific_info = new_app_specific_info_sp.get(); } } - + // Now get anything else that was in the process info dict, and add it to the // return here: return process_dict_sp->GetSize() ? process_dict_sp : nullptr; diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp b/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp index 7f2aecd148..5434601f54 100644 --- a/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp +++ b/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp @@ -1,4 +1,4 @@ - //===-- AbortWithPayloadFrameRecognizer.cpp -------------------------------===// +//===-- AbortWithPayloadFrameRecognizer.cpp -------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -26,26 +26,25 @@ using namespace lldb_private; namespace lldb_private { void RegisterAbortWithPayloadFrameRecognizer(Process *process) { - // There are two user-level API's that this recognizer captures, + // There are two user-level API's that this recognizer captures, // abort_with_reason and abort_with_payload. But they both call the private // __abort_with_payload, the abort_with_reason call fills in a null payload. static ConstString module_name("libsystem_kernel.dylib"); static ConstString sym_name("__abort_with_payload"); - + if (!process) return; - ConstString sym_arr[1]= {sym_name}; - + ConstString sym_arr[1] = {sym_name}; + process->GetTarget().GetFrameRecognizerManager().AddRecognizer( - std::make_shared<AbortWithPayloadFrameRecognizer>(), - module_name, sym_arr, - /*first_instruction_only*/ false); + std::make_shared<AbortWithPayloadFrameRecognizer>(), module_name, sym_arr, + /*first_instruction_only*/ false); } RecognizedStackFrameSP AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { // We have two jobs: - // 1) to add the data passed to abort_with_payload to the + // 1) to add the data passed to abort_with_payload to the // ExtraCrashInformation dictionary. // 2) To make up faux arguments for this frame. static constexpr llvm::StringLiteral namespace_key("namespace"); @@ -55,7 +54,7 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { static constexpr llvm::StringLiteral reason_key("reason"); static constexpr llvm::StringLiteral flags_key("flags"); static constexpr llvm::StringLiteral info_key("abort_with_payload"); - + // We are fetching the data from registers. Thread *thread = frame_sp->GetThread().get(); Process *process = thread->GetProcess().get(); @@ -69,10 +68,10 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { if (!scratch_ts_sp) return {}; - // The abort_with_payload signature is: - // abort_with_payload(uint32_t reason_namespace, uint64_t reason_code, - // void* payload, uint32_t payload_size, - // const char* reason_string, uint64_t reason_flags); + // The abort_with_payload signature is: + // abort_with_payload(uint32_t reason_namespace, uint64_t reason_code, + // void* payload, uint32_t payload_size, + // const char* reason_string, uint64_t reason_flags); ValueList arg_values; Value input_value_32; @@ -93,7 +92,7 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { CompilerType clang_char_star_type = scratch_ts_sp->GetBuiltinTypeForEncodingAndBitSize(lldb::eEncodingUint, 64); - + input_value_32.SetValueType(Value::ValueType::Scalar); input_value_32.SetCompilerType(clang_uint32_type); input_value_64.SetValueType(Value::ValueType::Scalar); @@ -102,7 +101,7 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { input_value_void_ptr.SetCompilerType(clang_void_ptr_type); input_value_char_ptr.SetValueType(Value::ValueType::Scalar); input_value_char_ptr.SetCompilerType(clang_char_ptr_type); - + arg_values.PushValue(input_value_32); arg_values.PushValue(input_value_64); arg_values.PushValue(input_value_void_ptr); @@ -119,10 +118,10 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { StackFrame *frame = frame_sp.get(); ValueObjectListSP arguments_sp = ValueObjectListSP(new ValueObjectList()); - auto add_to_arguments = [&](llvm::StringRef name, Value *value, bool dynamic) - { - ValueObjectSP cur_valobj_sp = ValueObjectConstResult::Create(frame, *value, - ConstString(name)); + auto add_to_arguments = [&](llvm::StringRef name, Value *value, + bool dynamic) { + ValueObjectSP cur_valobj_sp = + ValueObjectConstResult::Create(frame, *value, ConstString(name)); cur_valobj_sp = ValueObjectRecognizerSynthesizedValue::Create( *cur_valobj_sp, eValueTypeVariableArgument); ValueObjectSP dyn_valobj_sp; @@ -133,19 +132,19 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { } arguments_sp->Append(cur_valobj_sp); }; - + // Decode the arg_values: - + uint32_t namespace_val = 0; cur_value = arg_values.GetValueAtIndex(0); add_to_arguments(namespace_key, cur_value, false); namespace_val = cur_value->GetScalar().UInt(namespace_val); - + uint32_t code_val = 0; cur_value = arg_values.GetValueAtIndex(1); add_to_arguments(code_key, cur_value, false); code_val = cur_value->GetScalar().UInt(code_val); - + lldb::addr_t payload_addr = LLDB_INVALID_ADDRESS; cur_value = arg_values.GetValueAtIndex(2); add_to_arguments(payload_addr_key, cur_value, true); @@ -155,16 +154,17 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { cur_value = arg_values.GetValueAtIndex(3); add_to_arguments(payload_size_key, cur_value, false); payload_size = cur_value->GetScalar().UInt(payload_size); - + lldb::addr_t reason_addr = LLDB_INVALID_ADDRESS; cur_value = arg_values.GetValueAtIndex(4); add_to_arguments(reason_key, cur_value, false); reason_addr = cur_value->GetScalar().ULongLong(payload_addr); - + // For the reason string, we want the string not the address, so fetch that. std::string reason_string; Status error; - size_t str_len = process->ReadCStringFromMemory(reason_addr, reason_string, error); + size_t str_len = + process->ReadCStringFromMemory(reason_addr, reason_string, error); if (error.Fail()) return {}; @@ -183,19 +183,19 @@ AbortWithPayloadFrameRecognizer::RecognizeFrame(lldb::StackFrameSP frame_sp) { abort_dict_sp->AddStringItem(reason_key, reason_string); abort_dict_sp->AddIntegerItem(flags_key, flags_val); - // This will overwrite any information in the dictionary already. + // This will overwrite any information in the dictionary already. // But we can only crash on abort_with_payload once, so that shouldn't matter. process->GetExtendedCrashInfoDict()->AddItem(info_key, abort_dict_sp); - - return RecognizedStackFrameSP(new AbortWithPayloadRecognizedStackFrame(frame_sp, arguments_sp)); + + return RecognizedStackFrameSP( + new AbortWithPayloadRecognizedStackFrame(frame_sp, arguments_sp)); } AbortWithPayloadRecognizedStackFrame::AbortWithPayloadRecognizedStackFrame( - lldb::StackFrameSP &frame_sp, ValueObjectListSP &args_sp) : - RecognizedStackFrame() { - m_arguments = args_sp; - m_stop_desc = "abort with payload or reason"; + lldb::StackFrameSP &frame_sp, ValueObjectListSP &args_sp) + : RecognizedStackFrame() { + m_arguments = args_sp; + m_stop_desc = "abort with payload or reason"; } } // namespace lldb_private - diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h b/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h index 25053a4322..6f3538647a 100644 --- a/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h +++ b/lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h @@ -21,17 +21,17 @@ void RegisterAbortWithPayloadFrameRecognizer(Process *process); class AbortWithPayloadRecognizedStackFrame : public RecognizedStackFrame { public: - AbortWithPayloadRecognizedStackFrame(lldb::StackFrameSP &frame_sp, + AbortWithPayloadRecognizedStackFrame(lldb::StackFrameSP &frame_sp, lldb::ValueObjectListSP &args_sp); }; -class AbortWithPayloadFrameRecognizer: public StackFrameRecognizer { - public: - std::string GetName() override { - return "abort_with_payload StackFrame Recognizer"; } +class AbortWithPayloadFrameRecognizer : public StackFrameRecognizer { +public: + std::string GetName() override { + return "abort_with_payload StackFrame Recognizer"; + } lldb::RecognizedStackFrameSP - RecognizeFrame(lldb::StackFrameSP frame_sp) override; - + RecognizeFrame(lldb::StackFrameSP frame_sp) override; }; } // namespace lldb_private diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp b/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp index 999b81b49e..0556b87777 100644 --- a/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp +++ b/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp @@ -28,8 +28,8 @@ #include "lldb/Utility/Log.h" #include "lldb/Utility/StreamString.h" -#include "SystemRuntimeMacOSX.h" #include "AbortWithPayloadFrameRecognizer.h" +#include "SystemRuntimeMacOSX.h" #include <memory> @@ -92,7 +92,7 @@ SystemRuntimeMacOSX::SystemRuntimeMacOSX(Process *process) m_libdispatch_tsd_indexes(), m_dispatch_voucher_offsets_addr(LLDB_INVALID_ADDRESS), m_libdispatch_voucher_offsets() { - + RegisterAbortWithPayloadFrameRecognizer(process); } diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index c72852d2af..728f9aadef 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -477,7 +477,7 @@ Process::Process(lldb::TargetSP target_sp, ListenerSP listener_sp, m_clear_thread_plans_on_stop(false), m_force_next_event_delivery(false), m_last_broadcast_state(eStateInvalid), m_destroy_in_process(false), m_can_interpret_function_calls(false), m_run_thread_plan_lock(), - m_can_jit(eCanJITDontKnow), + m_can_jit(eCanJITDontKnow), m_crash_info_dict_sp(new StructuredData::Dictionary()) { CheckInWithManager(); diff --git a/lldb/test/API/macosx/abort_with_payload/main.c b/lldb/test/API/macosx/abort_with_payload/main.c index aabe21b9cb..a10a6cf65f 100644 --- a/lldb/test/API/macosx/abort_with_payload/main.c +++ b/lldb/test/API/macosx/abort_with_payload/main.c @@ -2,29 +2,32 @@ #include <stdint.h> #include <string.h> -extern void abort_with_payload(uint32_t reason_namespace, uint64_t reason_code, void* payload, uint32_t payload_size, const char* reason_string, uint64_t reason_flags); +extern void abort_with_payload(uint32_t reason_namespace, uint64_t reason_code, + void *payload, uint32_t payload_size, + const char *reason_string, + uint64_t reason_flags); -extern void abort_with_reason(uint32_t reason_namespace, uint64_t reason_code, const char* reason_string, uint64_t reason_flags); +extern void abort_with_reason(uint32_t reason_namespace, uint64_t reason_code, + const char *reason_string, uint64_t reason_flags); -#define OS_REASON_FLAG_FROM_USERSPACE 0x4 -#define OS_REASON_FLAG_NO_CRASH_REPORT 0x1 -#define OS_REASON_FLAG_ONE_TIME_FAILURE 0x80 +#define OS_REASON_FLAG_FROM_USERSPACE 0x4 +#define OS_REASON_FLAG_NO_CRASH_REPORT 0x1 +#define OS_REASON_FLAG_ONE_TIME_FAILURE 0x80 -#define MY_REASON_FLAGS OS_REASON_FLAG_FROM_USERSPACE|OS_REASON_FLAG_NO_CRASH_REPORT|OS_REASON_FLAG_ONE_TIME_FAILURE -#define OS_REASON_TEST 5 +#define MY_REASON_FLAGS \ + OS_REASON_FLAG_FROM_USERSPACE | OS_REASON_FLAG_NO_CRASH_REPORT | \ + OS_REASON_FLAG_ONE_TIME_FAILURE +#define OS_REASON_TEST 5 -int -main(int argc, char **argv) -{ +int main(int argc, char **argv) { const char *reason_string = "This is the reason string"; - const char *payload_string = "This is a payload that happens to be a string"; + const char *payload_string = "This is a payload that happens to be a string"; size_t payload_string_len = strlen(payload_string) + 1; if (argc == 1) // Stop here before abort - abort_with_payload(OS_REASON_TEST, 100, (void *) payload_string , payload_string_len, - reason_string, MY_REASON_FLAGS); - else + abort_with_payload(OS_REASON_TEST, 100, (void *)payload_string, + payload_string_len, reason_string, MY_REASON_FLAGS); + else abort_with_reason(OS_REASON_TEST, 100, reason_string, MY_REASON_FLAGS); return 0; - } `````````` </details> https://github.com/llvm/llvm-project/pull/101365 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits