[Lldb-commits] [lldb] r327318 - Improve prologue handling to support functions with multiple entry points.

Vedant Kumar via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 12 13:38:46 PDT 2018


I needed to revert this in r327327 to get the bots going again.

vedant

> On Mar 12, 2018, at 1:26 PM, Vedant Kumar via lldb-commits <lldb-commits at lists.llvm.org> wrote:
> 
> Hi Jim,
> 
> I think this breaks the Xcode bot: http://green.lab.llvm.org/green/job/lldb-xcode/5430/ <http://green.lab.llvm.org/green/job/lldb-xcode/5430/>. The CMake build looks broken too. Mind taking a look or reverting?
> 
> CompileC build/lldb.build/Release/lldb-core.build/Objects-normal/x86_64/ArchitecturePPC64.o source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
>     cd /Users/buildslave/jenkins/workspace/lldb-xcode/lldb
>     export LANG=en_US.US-ASCII
>     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++11 -stdlib=libc++ -Wno-trigraphs -fpascal-strings -Os -fno-common -Wmissing-field-initializers -Wno-missing-prototypes -Wunreachable-code -Wnon-virtual-dtor -Woverloaded-virtual -Wno-exit-time-destructors -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DLLDB_CONFIGURATION_RELEASE -DLLDB_VERSION_STRING=lldb-360.99.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.12 -g -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -iquote /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/liblldb-core-generated-files.hmap -I/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/liblldb-core-own-target-headers.hmap -I/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/liblldb-core-all-target-headers.hmap -iquote /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/liblldb-core-project-headers.hmap -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/include -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/source -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/llvm/include -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/llvm/tools/clang/include -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/llvm-build/Release+Asserts/x86_64/include -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/llvm-build/Release+Asserts/x86_64/tools/clang/include -iquote/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/llvm-build/Release+Asserts/x86_64/lib/Target/ARM -I/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/Release/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 -I/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/DerivedSources/x86_64 -I/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/DerivedSources -Wreorder -F/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/Release -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/PrivateFrameworks -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fno-rtti -Wglobal-constructors -Wparentheses -DHAVE_LIBZ=1 -Wimplicit-fallthrough -DLLDB_USE_BUILTIN_DEMANGLER -DLIBXML2_DEFINED -MMD -MT dependencies -MF /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/Objects-normal/x86_64/ArchitecturePPC64.d --serialize-diagnostics /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/Objects-normal/x86_64/ArchitecturePPC64.dia -c /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp -o /Users/buildslave/jenkins/workspace/lldb-xcode/lldb/build/lldb.build/Release/lldb-core.build/Objects-normal/x86_64/ArchitecturePPC64.o
> clang: error: no such file or directory: '/Users/buildslave/jenkins/workspace/lldb-xcode/lldb/source/Plugins/Architecture/PPC64/ArchitecturePPC64.cpp'
> clang: error: no input files
> 
> thanks,
> vedant
> 
>> On Mar 12, 2018, at 12:21 PM, Jim Ingham via lldb-commits <lldb-commits at lists.llvm.org <mailto:lldb-commits at lists.llvm.org>> wrote:
>> 
>> Author: jingham
>> Date: Mon Mar 12 12:21:59 2018
>> New Revision: 327318
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=327318&view=rev <http://llvm.org/viewvc/llvm-project?rev=327318&view=rev>
>> Log:
>> Improve prologue handling to support functions with multiple entry points.
>> 
>> https://reviews.llvm.org/D42582 <https://reviews.llvm.org/D42582>
>> 
>> Patch from Leandro Lupori.
>> 
>> Modified:
>>    lldb/trunk/include/lldb/Core/Architecture.h
>>    lldb/trunk/lit/lit.cfg
>>    lldb/trunk/lldb.xcodeproj/project.pbxproj
>>    lldb/trunk/source/API/SystemInitializerFull.cpp
>>    lldb/trunk/source/Breakpoint/BreakpointResolverName.cpp
>>    lldb/trunk/source/Plugins/Architecture/CMakeLists.txt
>>    lldb/trunk/source/Target/ThreadPlanStepInRange.cpp
>>    lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp
>>    lldb/trunk/tools/lldb-test/lldb-test.cpp
>> 
>> Modified: lldb/trunk/include/lldb/Core/Architecture.h
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/Architecture.h?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/include/lldb/Core/Architecture.h (original)
>> +++ lldb/trunk/include/lldb/Core/Architecture.h Mon Mar 12 12:21:59 2018
>> @@ -33,6 +33,40 @@ public:
>>   //------------------------------------------------------------------
>>   virtual void OverrideStopInfo(Thread &thread) = 0;
>> 
>> +  //------------------------------------------------------------------
>> +  /// This method is used to get the number of bytes that should be
>> +  /// skipped, from function start address, to reach the first
>> +  /// instruction after the prologue. If overrode, it must return
>> +  /// non-zero only if the current address matches one of the known
>> +  /// function entry points.
>> +  ///
>> +  /// This method is called only if the standard platform-independent
>> +  /// code fails to get the number of bytes to skip, giving the plugin
>> +  /// a chance to try to find the missing info.
>> +  ///
>> +  /// This is specifically used for PPC64, where functions may have
>> +  /// more than one entry point, global and local, so both should
>> +  /// be compared with current address, in order to find out the
>> +  /// number of bytes that should be skipped, in case we are stopped
>> +  /// at either function entry point.
>> +  //------------------------------------------------------------------
>> +  virtual size_t GetBytesToSkip(Symbol &func, const Address &curr_addr) const {
>> +    return 0;
>> +  }
>> +
>> +  //------------------------------------------------------------------
>> +  /// Adjust function breakpoint address, if needed. In some cases,
>> +  /// the function start address is not the right place to set the
>> +  /// breakpoint, specially in functions with multiple entry points.
>> +  ///
>> +  /// This is specifically used for PPC64, for functions that have
>> +  /// both a global and a local entry point. In this case, the
>> +  /// breakpoint is adjusted to the first function address reached
>> +  /// by both entry points.
>> +  //------------------------------------------------------------------
>> +  virtual void AdjustBreakpointAddress(const Symbol &func,
>> +                                       Address &addr) const {}
>> +
>> private:
>>   Architecture(const Architecture &) = delete;
>>   void operator=(const Architecture &) = delete;
>> 
>> Modified: lldb/trunk/lit/lit.cfg
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/lit.cfg?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/lit/lit.cfg (original)
>> +++ lldb/trunk/lit/lit.cfg Mon Mar 12 12:21:59 2018
>> @@ -155,6 +155,8 @@ if re.search(r'ARM', llvm_config_output_
>>     config.available_features.add('arm')
>> if re.search(r'Mips', llvm_config_output_list[2]):
>>     config.available_features.add('mips')
>> +if re.search(r'PowerPC', llvm_config_output_list[2]):
>> +    config.available_features.add('powerpc')
>> if re.search(r'X86', llvm_config_output_list[2]):
>>     config.available_features.add('x86')
>> llvm_config_cmd.wait()
>> 
>> Modified: lldb/trunk/lldb.xcodeproj/project.pbxproj
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/lldb.xcodeproj/project.pbxproj (original)
>> +++ lldb/trunk/lldb.xcodeproj/project.pbxproj Mon Mar 12 12:21:59 2018
>> @@ -712,6 +712,7 @@
>> 		49F811F31E931B2100F4E163 /* CPlusPlusNameParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49F811EF1E931B1500F4E163 /* CPlusPlusNameParser.cpp */; };
>> 		4C0083401B9F9BA900D5CF24 /* UtilityFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C00833F1B9F9BA900D5CF24 /* UtilityFunction.cpp */; };
>> 		4C05332B1F62121E00DED368 /* SBBreakpointOptionCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C0533291F6211FB00DED368 /* SBBreakpointOptionCommon.cpp */; };
>> +		4C14CEF020570AA300DEEF94 /* ArchitecturePPC64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C14CEEE20570AA300DEEF94 /* ArchitecturePPC64.cpp */; };
>> 		4C2479BD1BA39295009C9A7B /* FunctionCaller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C0083321B9A5DE200D5CF24 /* FunctionCaller.cpp */; };
>> 		4C3ADCD61810D88B00357218 /* BreakpointResolverFileRegex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4CAA56141422D986001FFA01 /* BreakpointResolverFileRegex.cpp */; };
>> 		4C4EB7811E6A4DCC002035C0 /* DumpDataExtractor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C4EB77F1E6A4DB8002035C0 /* DumpDataExtractor.cpp */; };
>> @@ -2541,6 +2542,8 @@
>> 		4C08CDEB11C81F1E001610A8 /* ThreadSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ThreadSpec.h; path = include/lldb/Target/ThreadSpec.h; sourceTree = "<group>"; };
>> 		4C09CB73116BD98B00C7A725 /* CommandCompletions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandCompletions.h; path = include/lldb/Interpreter/CommandCompletions.h; sourceTree = "<group>"; };
>> 		4C09CB74116BD98B00C7A725 /* CommandCompletions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandCompletions.cpp; path = source/Commands/CommandCompletions.cpp; sourceTree = "<group>"; };
>> +		4C14CEED20570AA300DEEF94 /* ArchitecturePPC64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArchitecturePPC64.h; path = PPC64/ArchitecturePPC64.h; sourceTree = "<group>"; };
>> +		4C14CEEE20570AA300DEEF94 /* ArchitecturePPC64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArchitecturePPC64.cpp; path = PPC64/ArchitecturePPC64.cpp; sourceTree = "<group>"; };
>> 		4C2479BE1BA39843009C9A7B /* ExpressionParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ExpressionParser.h; path = include/lldb/Expression/ExpressionParser.h; sourceTree = "<group>"; };
>> 		4C29E77D1BA2403F00DFF855 /* ExpressionTypeSystemHelper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ExpressionTypeSystemHelper.h; path = include/lldb/Expression/ExpressionTypeSystemHelper.h; sourceTree = "<group>"; };
>> 		4C2FAE2E135E3A70001EDE44 /* SharedCluster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SharedCluster.h; path = include/lldb/Utility/SharedCluster.h; sourceTree = "<group>"; };
>> @@ -5963,6 +5966,15 @@
>> 			name = Clang;
>> 			sourceTree = "<group>";
>> 		};
>> +		4C14CEEC20570A7D00DEEF94 /* PPC64 */ = {
>> +			isa = PBXGroup;
>> +			children = (
>> +				4C14CEEE20570AA300DEEF94 /* ArchitecturePPC64.cpp */,
>> +				4C14CEED20570AA300DEEF94 /* ArchitecturePPC64.h */,
>> +			);
>> +			name = PPC64;
>> +			sourceTree = "<group>";
>> +		};
>> 		4CC7C64B1D5298AB0076FF94 /* OCaml */ = {
>> 			isa = PBXGroup;
>> 			children = (
>> @@ -6600,6 +6612,7 @@
>> 		AF2E029F1FA2CE8A00A86C34 /* Architecture */ = {
>> 			isa = PBXGroup;
>> 			children = (
>> +				4C14CEEC20570A7D00DEEF94 /* PPC64 */,
>> 				AF2E02A01FA2CE9900A86C34 /* Arm */,
>> 			);
>> 			path = Architecture;
>> @@ -7611,6 +7624,7 @@
>> 				943BDEFE1AA7B2F800789CE8 /* LLDBAssert.cpp in Sources */,
>> 				26474CB418D0CB180073DEBA /* RegisterContextLinux_x86_64.cpp in Sources */,
>> 				2689006613353E0E00698AC0 /* DWARFExpression.cpp in Sources */,
>> +				4C14CEF020570AA300DEEF94 /* ArchitecturePPC64.cpp in Sources */,
>> 				2689006713353E0E00698AC0 /* ASTDumper.cpp in Sources */,
>> 				AFC234091AF85CE100CDE8B6 /* CommandObjectLanguage.cpp in Sources */,
>> 				2689006813353E0E00698AC0 /* ASTResultSynthesizer.cpp in Sources */,
>> 
>> Modified: lldb/trunk/source/API/SystemInitializerFull.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.cpp?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/API/SystemInitializerFull.cpp (original)
>> +++ lldb/trunk/source/API/SystemInitializerFull.cpp Mon Mar 12 12:21:59 2018
>> @@ -43,6 +43,7 @@
>> #include "Plugins/ABI/SysV-s390x/ABISysV_s390x.h"
>> #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h"
>> #include "Plugins/Architecture/Arm/ArchitectureArm.h"
>> +#include "Plugins/Architecture/PPC64/ArchitecturePPC64.h"
>> #include "Plugins/Disassembler/llvm/DisassemblerLLVMC.h"
>> #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h"
>> #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h"
>> @@ -308,6 +309,7 @@ void SystemInitializerFull::Initialize()
>>   ABISysV_s390x::Initialize();
>> 
>>   ArchitectureArm::Initialize();
>> +  ArchitecturePPC64::Initialize();
>> 
>>   DisassemblerLLVMC::Initialize();
>> 
>> 
>> Modified: lldb/trunk/source/Breakpoint/BreakpointResolverName.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Breakpoint/BreakpointResolverName.cpp?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Breakpoint/BreakpointResolverName.cpp (original)
>> +++ lldb/trunk/source/Breakpoint/BreakpointResolverName.cpp Mon Mar 12 12:21:59 2018
>> @@ -16,11 +16,13 @@
>> #include "Plugins/Language/CPlusPlus/CPlusPlusLanguage.h"
>> #include "Plugins/Language/ObjC/ObjCLanguage.h"
>> #include "lldb/Breakpoint/BreakpointLocation.h"
>> +#include "lldb/Core/Architecture.h"
>> #include "lldb/Core/Module.h"
>> #include "lldb/Symbol/Block.h"
>> #include "lldb/Symbol/Function.h"
>> #include "lldb/Symbol/Symbol.h"
>> #include "lldb/Symbol/SymbolContext.h"
>> +#include "lldb/Target/Target.h"
>> #include "lldb/Utility/Log.h"
>> #include "lldb/Utility/StreamString.h"
>> 
>> @@ -365,6 +367,12 @@ BreakpointResolverName::SearchCallback(S
>>                 sc.symbol->GetPrologueByteSize();
>>             if (prologue_byte_size)
>>               break_addr.SetOffset(break_addr.GetOffset() + prologue_byte_size);
>> +            else {
>> +              Architecture *arch =
>> +                  m_breakpoint->GetTarget().GetArchitecturePlugin();
>> +              if (arch)
>> +                arch->AdjustBreakpointAddress(*sc.symbol, break_addr);
>> +            }
>>           }
>>         }
>> 
>> 
>> Modified: lldb/trunk/source/Plugins/Architecture/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Architecture/CMakeLists.txt?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Plugins/Architecture/CMakeLists.txt (original)
>> +++ lldb/trunk/source/Plugins/Architecture/CMakeLists.txt Mon Mar 12 12:21:59 2018
>> @@ -1 +1,2 @@
>> add_subdirectory(Arm)
>> +add_subdirectory(PPC64)
>> 
>> Modified: lldb/trunk/source/Target/ThreadPlanStepInRange.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/ThreadPlanStepInRange.cpp?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/source/Target/ThreadPlanStepInRange.cpp (original)
>> +++ lldb/trunk/source/Target/ThreadPlanStepInRange.cpp Mon Mar 12 12:21:59 2018
>> @@ -12,11 +12,13 @@
>> // Other libraries and framework includes
>> // Project includes
>> #include "lldb/Target/ThreadPlanStepInRange.h"
>> +#include "lldb/Core/Architecture.h"
>> #include "lldb/Core/Module.h"
>> #include "lldb/Symbol/Function.h"
>> #include "lldb/Symbol/Symbol.h"
>> #include "lldb/Target/Process.h"
>> #include "lldb/Target/RegisterContext.h"
>> +#include "lldb/Target/SectionLoadList.h"
>> #include "lldb/Target/Target.h"
>> #include "lldb/Target/Thread.h"
>> #include "lldb/Target/ThreadPlanStepOut.h"
>> @@ -277,6 +279,17 @@ bool ThreadPlanStepInRange::ShouldStop(E
>>             bytes_to_skip = sc.symbol->GetPrologueByteSize();
>>         }
>> 
>> +        if (bytes_to_skip == 0 && sc.symbol) {
>> +          TargetSP target = m_thread.CalculateTarget();
>> +          Architecture *arch = target->GetArchitecturePlugin();
>> +          if (arch) {
>> +            Address curr_sec_addr;
>> +            target->GetSectionLoadList().ResolveLoadAddress(curr_addr,
>> +                                                            curr_sec_addr);
>> +            bytes_to_skip = arch->GetBytesToSkip(*sc.symbol, curr_sec_addr);
>> +          }
>> +        }
>> +
>>         if (bytes_to_skip != 0) {
>>           func_start_address.Slide(bytes_to_skip);
>>           log = lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_STEP);
>> 
>> Modified: lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp (original)
>> +++ lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp Mon Mar 12 12:21:59 2018
>> @@ -33,6 +33,7 @@
>> #include "Plugins/ABI/SysV-s390x/ABISysV_s390x.h"
>> #include "Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h"
>> #include "Plugins/Architecture/Arm/ArchitectureArm.h"
>> +#include "Plugins/Architecture/PPC64/ArchitecturePPC64.h"
>> #include "Plugins/Disassembler/llvm/DisassemblerLLVMC.h"
>> #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h"
>> #include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h"
>> @@ -162,6 +163,7 @@ void SystemInitializerTest::Initialize()
>>   ABISysV_s390x::Initialize();
>> 
>>   ArchitectureArm::Initialize();
>> +  ArchitecturePPC64::Initialize();
>> 
>>   DisassemblerLLVMC::Initialize();
>> 
>> 
>> Modified: lldb/trunk/tools/lldb-test/lldb-test.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-test/lldb-test.cpp?rev=327318&r1=327317&r2=327318&view=diff
>> ==============================================================================
>> --- lldb/trunk/tools/lldb-test/lldb-test.cpp (original)
>> +++ lldb/trunk/tools/lldb-test/lldb-test.cpp Mon Mar 12 12:21:59 2018
>> @@ -98,9 +98,12 @@ void opts::breakpoint::dumpState(const B
>>       AutoIndent Indent(P, 2);
>>       P.formatLine("Enabled: {0}", Loc->IsEnabled());
>>       P.formatLine("Resolved: {0}", Loc->IsResolved());
>> -      P.formatLine("Address: {0}+{1:x}",
>> -                   Loc->GetAddress().GetSection()->GetName(),
>> -                   Loc->GetAddress().GetOffset());
>> +      SymbolContext sc;
>> +      Loc->GetAddress().CalculateSymbolContext(&sc);
>> +      lldb_private::StreamString S;
>> +      sc.DumpStopContext(&S, BP->GetTarget().GetProcessSP().get(),
>> +                         Loc->GetAddress(), false, true, false, true, true);
>> +      P.formatLine("Address: {0}", S.GetString());
>>     }
>>   }
>>   P.NewLine();
>> 
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
> 
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180312/9f1af412/attachment-0001.html>


More information about the lldb-commits mailing list