llvm-project/lldb/source/Target
Ulrich Weigand 0501eebda6 Miscellaneous fixes for big-endian systems
This patch fixes a bunch of issues that show up on big-endian systems:

- The gnu_libstdcpp.py script doesn't follow the way libstdc++ encodes
  bit vectors: it should identify the enclosing *word* and then access
  the appropriate bit within that word.  Instead, the script simply
  operates on bytes.  This gives the same result on little-endian
  systems, but not on big-endian.

- lldb_private::formatters::WCharSummaryProvider always assumes wchar_t
  is UTF16, even though it could also be UTF8 or UTF32.  This is mostly
  not an issue on little-endian systems, but immediately fails on BE.
  Fixed by checking the size of wchar_t like WCharStringSummaryProvider
  already does.

- ClangASTContext::GetChildCompilerTypeAtIndex uses uint32_t to access
  the virtual base offset stored in the vtable, even though the size
  of this field matches the target pointer size according to the C++
  ABI.  Again, this is mostly not visible on LE, but fails on BE.

- Process::ReadStringFromMemory uses strncmp to search for a terminator
  consisting of multiple zero bytes.  This doesn't work since strncmp
  will stop already at the first zero byte.  Use memcmp instead.

Differential Revision: http://reviews.llvm.org/D18983

llvm-svn: 266313
2016-04-14 14:33:47 +00:00
..
ABI.cpp Add new ABI callback to provide fallback unwind register locations 2016-04-14 14:25:20 +00:00
CMakeLists.txt [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
CPPLanguageRuntime.cpp Move more functionality from the LanguageRuntimes to the Languages. 2015-09-02 01:59:14 +00:00
ExecutionContext.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
FileAction.cpp Refactor many file functions to use FileSpec over strings. 2015-05-29 19:52:29 +00:00
InstrumentationRuntime.cpp Provide more information in ThreadSanitizer's JSON data. Move remaining TSan logic from SBThread to InstrumentationRuntime plugin. 2016-04-10 18:57:38 +00:00
InstrumentationRuntimeStopInfo.cpp LLDB AddressSanitizer instrumentation runtime plugin, breakpint on error and report data extraction 2014-10-10 23:43:03 +00:00
JITLoader.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
JITLoaderList.cpp Create a Process::ModulesDidLoad() method to handle process-related tasks, as suggested by Jim Ingham. Make JITLoader instances use this to probe only new modules for relevant JIT symbols. Also re-enable the JITLoader hooks in Process. 2014-03-13 09:37:02 +00:00
Language.cpp Make it possible for language plugins to provide additional custom help for 'type lookup' 2016-03-24 23:06:42 +00:00
LanguageRuntime.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
Memory.cpp Fixed MemoryCache L1 cache flush 2016-03-11 13:50:10 +00:00
MemoryHistory.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
ObjCLanguageRuntime.cpp Now that SymbolFileDWARF supports having types in completely separate .pcm file with "-fmodules -gmodules", each SymbolFileDWARF can reference module DWARF info by looking in other DWARF files. Then if you have 1000 .o files that each reference one or more .pcm files in their debug info, a simple Module::FindTypes(...) call can end up searching the same .pcm file over and over and over. Now all internal FindTypes methods in classes (ModuleList, Module, SymbolFile) now take an extra argument: 2016-02-10 21:28:13 +00:00
OperatingSystem.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
PathMappingList.cpp Add reverse file remapping for breakpoint set 2016-03-04 11:26:44 +00:00
Platform.cpp Support Linux on SystemZ as platform 2016-04-14 14:28:34 +00:00
Process.cpp Miscellaneous fixes for big-endian systems 2016-04-14 14:33:47 +00:00
ProcessInfo.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00
ProcessLaunchInfo.cpp Improve the way LLDB escapes arguments before passing them to the shell 2016-04-04 22:46:38 +00:00
Queue.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00
QueueItem.cpp Correctly add the QueueID to a pending block's extended thread backtrace thread. 2014-03-10 08:42:03 +00:00
QueueList.cpp Add new Queue, QueueItem, Queuelist, SBQueue, SBQueueItem classes to represent 2013-12-13 00:29:16 +00:00
RegisterContext.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-02-18 00:10:17 +00:00
SectionLoadHistory.cpp Fix typos. 2014-07-01 21:22:11 +00:00
SectionLoadList.cpp Fixed a couple of places where we were getting the module from a 2016-01-29 20:21:33 +00:00
StackFrame.cpp Improve the 'type lookup' command such that it guesses to use the current's frame language as the one to start searching from. 2016-03-15 21:50:51 +00:00
StackFrameList.cpp Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break. 2016-02-26 01:20:20 +00:00
StackID.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00
StopInfo.cpp This change introduces a "ExpressionExecutionThread" to the ThreadList. 2016-03-12 02:45:34 +00:00
SystemRuntime.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00
Target.cpp Make sure to update Target arch if environment changed 2016-04-05 17:27:52 +00:00
TargetList.cpp Change over the broadcaster/listener process to hold shared or weak pointers 2016-03-07 21:50:25 +00:00
Thread.cpp Support Linux on SystemZ as platform 2016-04-14 14:28:34 +00:00
ThreadCollection.cpp [lldb] Abstract a superclass for a generic thread container. 2014-09-05 19:13:15 +00:00
ThreadList.cpp This change introduces a "ExpressionExecutionThread" to the ThreadList. 2016-03-12 02:45:34 +00:00
ThreadPlan.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanBase.cpp Improve logging a bit by printing the exception or signal type description. 2014-02-27 19:35:12 +00:00
ThreadPlanCallFunction.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanCallFunctionUsingABI.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanCallUserExpression.cpp Add a DiagnosticManager replace error streams in the expression parser. 2016-03-19 00:03:59 +00:00
ThreadPlanPython.cpp Don't #include "lldb-python.h" from anywhere. 2015-05-29 17:41:47 +00:00
ThreadPlanRunToAddress.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanShouldStopHere.cpp Re-apply r257117 (reverted in r257138 temporarily), 2016-01-08 21:40:11 +00:00
ThreadPlanStepInRange.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanStepInstruction.cpp The SetStopInfo from a Mach Exception was setting the stop 2016-02-03 19:45:31 +00:00
ThreadPlanStepOut.cpp Re-apply r257117 (reverted in r257138 temporarily), 2016-01-08 21:40:11 +00:00
ThreadPlanStepOverBreakpoint.cpp Move lldb-log.cpp to core/Logging.cpp 2015-03-18 18:20:42 +00:00
ThreadPlanStepOverRange.cpp Re-apply r257117 (reverted in r257138 temporarily), 2016-01-08 21:40:11 +00:00
ThreadPlanStepRange.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanStepThrough.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanStepUntil.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadPlanTracer.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
ThreadSpec.cpp Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr warnings in some files in source/Target/. 2015-12-15 01:33:19 +00:00
UnixSignals.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00
UnwindAssembly.cpp Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Target; other minor fixes. 2016-02-18 18:52:47 +00:00