Revert "Improve DWARFDebugFrame::parse to also handle __eh_frame." This reverts commit r256008. Its breaking multiple buildbots, although works for me locally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256013 91177308-0d34-0410-b5e6-96231b3b80d8
Improve DWARFDebugFrame::parse to also handle __eh_frame. LLVM MC has single methods which can handle the output of EH frame and DWARF CIE's and FDE's. This code improves DWARFDebugFrame::parse to do the same for parsing. This also allows llvm-objdump to support the --dwarf=frames option which objdump supports. This option dumps the .eh_frame section using the new code in DWARFDebugFrame::parse. http://reviews.llvm.org/D15535 Reviewed by Rafael Espindola. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256008 91177308-0d34-0410-b5e6-96231b3b80d8
dwarfdump: Added macro support to llvm-dwarfdump tool. Added "macro" option to "-debug-dump" flag, which trigger parsing and dumping of the ".debug_macinfo" section. Differential Revision: http://reviews.llvm.org/D14294 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252866 91177308-0d34-0410-b5e6-96231b3b80d8
dwarfdump: DWP type unit index dumping skeleton git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252786 91177308-0d34-0410-b5e6-96231b3b80d8
dwarfdump: First piece of support for DWP dumping Just a tiny piece of index dumping - the header in this instance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252781 91177308-0d34-0410-b5e6-96231b3b80d8
[LLVMSymbolize] Simplify SymbolizableObjectFile::symbolizeInlinedCode(). NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251672 91177308-0d34-0410-b5e6-96231b3b80d8
[LLVMSymbolize] Move printing the description of a global into a separate function. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251669 91177308-0d34-0410-b5e6-96231b3b80d8
-Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 LoadedObjectInfo was depending on the implicit copy ctor in the presence of a user-declared dtor. Default (and protect) it in the base class and make the devired classes final to avoid any risk of a public API that would enable slicing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244112 91177308-0d34-0410-b5e6-96231b3b80d8
Fix typos in comments. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243542 91177308-0d34-0410-b5e6-96231b3b80d8
[RuntimeDyld] Make LoadedObjectInfo::getLoadedSectionAddress take a SectionRef rather than a string section name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243456 91177308-0d34-0410-b5e6-96231b3b80d8
Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) Apparently, the style needs to be agreed upon first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240390 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed/added namespace ending comments using clang-tidy. NFC The patch is generated using this command: tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ llvm/lib/ Thanks to Eugene Kosov for the original patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240137 91177308-0d34-0410-b5e6-96231b3b80d8
Re-unique_ptrify LoadedObjectInfo::clone after it was reverted due to some other changes that broke on GCC around the same time Apparently this functionality isn't used in-tree (or I would go & make the explicit unique_ptr constructions into implicit constructions to make them more self documenting now that clone doesn't return a raw owning pointer anymore) but only by the Julia frontend. This isn't ideal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239091 91177308-0d34-0410-b5e6-96231b3b80d8
Retry defaulting the virtual dtor in LoadedObjectInfo Originally committed in r237975, GCC 4.7 gave a compilation error regarding "looser throw specification" though it seemed to be pointing to a virtual defaulted dtor in a base class and an override defaulted dtor in a derived class - so I'm not quite sure why/how they could end up with different throw specifications. To simplify and reduce the risk of this, I've just removed the pointless override in the derived class, the base class's should be sufficient. *fingers crossed* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239088 91177308-0d34-0410-b5e6-96231b3b80d8
Having another go at some simple cleanup from r237975/r237976 I made a few changes here in a couple of commits - breaking them out into smaller ones in case I hit the GCC oddities again. I'm still not /entirely/ sure what the issues were, so apologies if any of these experiments break things again. Feel free to revert immediately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239083 91177308-0d34-0410-b5e6-96231b3b80d8
Revert part of r237975, "Fix Clang -Wmissing-override warning" in DIContext.h, to appease g++-4.7. llvm/include/llvm/DebugInfo/DIContext.h:144:11: error: overriding ‘virtual llvm::LoadedObjectInfo::~LoadedObjectInfo() noexcept (true)’ It seems the destructor in the base class may not be "default". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238000 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "unique_ptrify LoadedObjectInfo::clone" This reverts commit r237976, which seems to break existing gcc 4.7 buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237996 91177308-0d34-0410-b5e6-96231b3b80d8
unique_ptrify LoadedObjectInfo::clone As noted in the original review, this is unused in tree & is used by Julia... that's problematic. This API coudl easily be deleted/modified by accident without any validation that it remains correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237976 91177308-0d34-0410-b5e6-96231b3b80d8
Fix Clang -Wmissing-override warning & remove the duplication by introducing a CRTP base to implement the clone behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237975 91177308-0d34-0410-b5e6-96231b3b80d8
Make it easier to use DwarfContext with MCJIT Summary: This supersedes http://reviews.llvm.org/D4010, hopefully properly dealing with the JIT case and also adds an actual test case. DwarfContext was basically already usable for the JIT (and back when we were overwriting ELF files it actually worked out of the box by accident), but in order to resolve relocations correctly it needs to know the load address of the section. Rather than trying to get this out of the ObjectFile or requiring the user to create a new ObjectFile just to get some debug info, this adds the capability to pass in that info directly. As part of this I separated out part of the LoadedObjectInfo struct from RuntimeDyld, since it is now required at a higher layer. Reviewers: lhames, echristo Reviewed By: echristo Subscribers: vtjnash, friss, rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D6961 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237961 91177308-0d34-0410-b5e6-96231b3b80d8