llvm-project/lldb/source/Interpreter
Pavel Labath 50251fc715 Make sure DataBufferLLVM contents are writable
Summary:
We sometimes need to write to the object file we've mapped into memory,
generally to apply relocations to debug info sections. We've had that
ability before, but with the introduction of DataBufferLLVM, we have
lost it, as the underlying llvm class (MemoryBuffer) only supports
read-only mappings.

This switches DataBufferLLVM to use the new llvm::WritableMemoryBuffer
class as a back-end, as this one guarantees to return a writable buffer.

This removes the need for the "Private" flag to the DataBufferLLVM
creation functions, as it was really used to mean "writable". The LLVM
function also does not have the NullTerminate flag, so I've modified our
clients to not require this feature and removed that flag as well.

Reviewers: zturner, clayborg, jingham

Subscribers: emaste, aprantl, arichardson, krytarowski, lldb-commits

Differential Revision: https://reviews.llvm.org/D40079

llvm-svn: 321255
2017-12-21 10:54:30 +00:00
..
Args.cpp Add a StringList constructor to Args class 2017-12-11 14:22:30 +00:00
CMakeLists.txt [CMake] Add accurate dependency specifications 2017-01-31 20:43:05 +00:00
CommandAlias.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
CommandHistory.cpp Fix !N and !-N commands and add a test case. 2017-04-19 23:21:04 +00:00
CommandInterpreter.cpp Implement interactive command interruption 2017-10-05 23:41:28 +00:00
CommandObject.cpp Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
CommandObjectRegexCommand.cpp Make CommandObject help getters/setters use StringRef. 2016-11-12 20:41:02 +00:00
CommandObjectScript.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CommandObjectScript.h *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CommandOptionValidators.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CommandReturnObject.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupArchitecture.cpp Invert ArchSpec<->Platform dependency 2017-10-31 10:56:03 +00:00
OptionGroupBoolean.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupFile.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupFormat.cpp Move ArchSpec to the Utility module 2017-11-13 16:16:33 +00:00
OptionGroupOutputFile.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupPlatform.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupString.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupUInt64.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupUUID.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupValueObjectDisplay.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupVariable.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionGroupWatchpoint.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValue.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueArch.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueArgs.cpp Rewrite all Property related functions in terms of StringRef. 2016-11-17 18:08:12 +00:00
OptionValueArray.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueBoolean.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueChar.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueDictionary.cpp [Interpreter] Remove unused variable usage. NFCI. 2017-11-01 23:46:21 +00:00
OptionValueEnumeration.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueFileSpec.cpp Make sure DataBufferLLVM contents are writable 2017-12-21 10:54:30 +00:00
OptionValueFileSpecLIst.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueFormat.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueFormatEntity.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueLanguage.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValuePathMappings.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueProperties.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueRegex.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueSInt64.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueString.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueUInt64.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
OptionValueUUID.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
Options.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
Property.cpp Don't allow direct access to StreamString's internal buffer. 2016-11-16 21:15:24 +00:00
ScriptInterpreter.cpp [Interpreter] Simplify else after return. NFCI. 2017-09-03 19:27:56 +00:00
embedded_interpreter.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00