dd5af27a74a01f0d03356cea15d3a403f4964f8b |
25-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
keep only the StringRef version of getFileOrSTDIN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184826 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
99cb622041a0839c7dfcf0263c5102a305a0fdb5 |
18-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Use pointers to the MCAsmInfo and MCRegInfo. Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
4bf771b4e6d37ae1d6ae08ea27c4070a3a09784d |
12-Jun-2013 |
Rui Ueyama <ruiu@google.com> |
readobj: Dump PE/COFF optional records. These records are mandatory for executables and are used by the loader. Reviewers: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D939 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183852 91177308-0d34-0410-b5e6-96231b3b80d8
OFFDump.cpp
|
54154f3bf1ae3d2dfd68cc9474cad061b3338a40 |
06-Jun-2013 |
Kevin Enderby <enderby@apple.com> |
Teach llvm-objdump with the -macho parser how to use the data in code table from the LC_DATA_IN_CODE load command. And when disassembling print the data in code formatted for the kind of data it and not disassemble those bytes. I added the format specific functionality to the derived class MachOObjectFile since these tables only appears in Mach-O object files. This is my first attempt to modify the libObject stuff so if folks have better suggestions how to fit this in or suggestions on the implementation please let me know. rdar://11791371 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183424 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
6c1202c459ffa6d693ad92fa84e43902bc780bca |
05-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle relocations that don't point to symbols. In ELF (as in MachO), not all relocations point to symbols. Represent this properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj ELF's dumper to handle relocatios without symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183284 91177308-0d34-0410-b5e6-96231b3b80d8
OFFDump.cpp
achODump.cpp
|
d1c99b2aaeda2210769d2125dc9126a7ccd898ef |
27-May-2013 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm-objdump.cpp: Appease MSC16 x64. utostr(n++) causes internal compiler error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182722 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
c6af2432c802d241c8fffbe0371c023e6c58844e |
25-May-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Replace Count{Leading,Trailing}Zeros_{32,64} with count{Leading,Trailing}Zeros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182680 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
ef99356dfebb96f6f90efb912c2877214bad060e |
24-May-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
MC: Disassembled CFG reconstruction. This patch builds on some existing code to do CFG reconstruction from a disassembled binary: - MCModule represents the binary, and has a list of MCAtoms. - MCAtom represents either disassembled instructions (MCTextAtom), or contiguous data (MCDataAtom), and covers a specific range of addresses. - MCBasicBlock and MCFunction form the reconstructed CFG. An MCBB is backed by an MCTextAtom, and has the usual successors/predecessors. - MCObjectDisassembler creates a module from an ObjectFile using a disassembler. It first builds an atom for each section. It can also construct the CFG, and this splits the text atoms into basic blocks. MCModule and MCAtom were only sketched out; MCFunction and MCBB were implemented under the experimental "-cfg" llvm-objdump -macho option. This cleans them up for further use; llvm-objdump -d -cfg now generates graphviz files for each function found in the binary. In the future, MCObjectDisassembler may be the right place to do "intelligent" disassembly: for example, handling constant islands is just a matter of splitting the atom, using information that may be available in the ObjectFile. Also, better initial atom formation than just using sections is possible using symbols (and things like Mach-O's function_starts load command). This brings two minor regressions in llvm-objdump -macho -cfg: - The printing of a relocation's referenced symbol. - An annotation on loop BBs, i.e., which are their own successor. Relocation printing is replaced by the MCSymbolizer; the basic CFG annotation will be superseded by more related functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182628 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CFunction.cpp
CFunction.h
achODump.cpp
lvm-objdump.cpp
lvm-objdump.h
|
2c94d0faa0e1c268893d5e04dc77e8a35889db00 |
24-May-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
Add MCSymbolizer for symbolic/annotated disassembly. This is a basic first step towards symbolization of disassembled instructions. This used to be done using externally provided (C API) callbacks. This patch introduces: - the MCSymbolizer class, that mimics the same functions that were used in the X86 and ARM disassemblers to symbolize immediate operands and to annotate loads based off PC (for things like c string literals). - the MCExternalSymbolizer class, which implements the old C API. - the MCRelocationInfo class, which provides a way for targets to translate relocations (either object::RelocationRef, or disassembler C API VariantKinds) to MCExprs. - the MCObjectSymbolizer class, which does symbolization using what it finds in an object::ObjectFile. This makes simple symbolization (with no fancy relocation stuff) work for all object formats! - x86-64 Mach-O and ELF MCRelocationInfos. - A basic ARM Mach-O MCRelocationInfo, that provides just enough to support the C API VariantKinds. Most of what works in otool (the only user of the old symbolization API that I know of) for x86-64 symbolic disassembly (-tvV) works, namely: - symbol references: call _foo; jmp 15 <_foo+50> - relocations: call _foo-_bar; call _foo-4 - __cf?string: leaq 193(%rip), %rax ## literal pool for "hello" Stub support is the main missing part (because libObject doesn't know, among other things, about mach-o indirect symbols). As for the MCSymbolizer API, instead of relying on the disassemblers to call the tryAdding* methods, maybe this could be done automagically using InstrInfo? For instance, even though PC-relative LEAs are used to get the address of string literals in a typical Mach-O file, a MOV would be used in an ELF file. And right now, the explicit symbolization only recognizes PC-relative LEAs. InstrInfo should have already have most of what is needed to know what to symbolize, so this can definitely be improved. I'd also like to remove object::RelocationRef::getValueString (it seems only used by relocation printing in objdump), as simply printing the created MCExpr is definitely enough (and cleaner than string concats). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182625 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
lvm-objdump.h
|
27a33ad5ce3a6ca9a5d7546b41d96e975b1e9305 |
16-May-2013 |
Ahmed Bougacha <ahmed.bougacha@gmail.com> |
llvm-objdump: Initialize MCDisassembler once instead of for each section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182054 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
4a971705bc6030dc2e4338b3cd5cffa2e0f88b7b |
13-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the MachineMove class. It was just a less powerful and more confusing version of MCCFIInstruction. A side effect is that, since MCCFIInstruction uses dwarf register numbers, calls to getDwarfRegNum are pushed out, which should allow further simplifications. I left the MachineModuleInfo::addFrameMove interface unchanged since this patch was already fairly big. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181680 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
bed93b0de197c6b64357068ae8e1a883ddbb0e94 |
09-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Introduce convenience typedefs for the 4 ELF object types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181509 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
956ca7265c697107708468b7e1b2fd21f4185bae |
25-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Clarify getRelocationAddress x getRelocationOffset a bit. getRelocationAddress is for dynamic libraries and executables, getRelocationOffset for relocatable objects. Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a test of ELF's. llvm-readobj -r now prints the same values as readelf -r. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180259 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
db5f9270207292b62ea847560c5dd4e9873b57f5 |
19-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't read one command past the end. Thanks to Evgeniy Stepanov for reporting this. It might be a good idea to add a command iterator abstraction to MachO.h, but this fixes the bug for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179848 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
fd7aa38e304a09fa0ef51b85b773b649b7e58c5e |
18-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
At Jim Grosbach's request detemplate Object/MachO.h. We are still able to handle mixed endian objects by swapping one struct at a time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179778 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
0eaa6f675cafb2bb1b6a6210797c1d7b3da3ff9f |
16-Apr-2013 |
Alexey Samsonov <samsonov@google.com> |
llvm-objdump: Don't print contents of BSS sections: it makes no sense and crashes llvm-objdump on relocated objects with large bss git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179589 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
da2a2372c6ae715befae7f086afe769dd80814f3 |
13-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Finish templating MachObjectFile over endianness. We are now able to handle big endian macho files in llvm-readobject. Thanks to David Fang for providing the object files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179440 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
317d3f48fd53be5238dfba5e9fbac51a2366de0e |
11-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179259 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
a2561a0153237291980722383f409a6499b12efc |
10-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Template the MachO types over endianness. For now they are still only used as little endian. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179147 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
f6cfc15705140cc958b784a1bc98f7f0f09be6be |
09-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert MachOObjectFile to a template. For now it is templated only on being 64 or 32 bits. I will add little/big endian next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179097 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
433611bdf395d08093e3edd52846c1774b46caf2 |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement MachOObjectFile::getHeader directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178994 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
6ab85a81d711b1e9d3bbc02e05812e7f867a7c40 |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove LoadCommandInfo now that we always have a pointer to the command. LoadCommandInfo was needed to keep a command and its offset in the file. Now that we always have a pointer to the command, we don't need the offset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178991 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
77638d9110d67333e4ea8e6bd3206606a89bc24f |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add MachOObjectFile::LoadCommandInfo. This avoids using MachOObject::getLoadCommandInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178990 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
3eff318cbac281d46e8c8dfef16ffccbceebc855 |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove MachOObjectFile::getObject. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178986 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
305b826f92e0dc7b670238e7caa35ab6e1cf341a |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make getObject const. Remove a const_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178980 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
196abbffe9b7a760593d68b99cbb5f961efc8e2a |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove last use of InMemoryStruct in llvm-objdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178979 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
13d297260f62ffae53b5349a55250fe3a4c4bcc2 |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178977 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
eb721c0fbdd154c47bf177426776ab7b4b7c0cbc |
07-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178976 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
f16c2bb320f4d5b33dfaf8df8865f547e6d66005 |
05-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't fetch pointers from a InMemoryStruct. InMemoryStruct is extremely dangerous as it returns data from an internal buffer when the endiannes doesn't match. This should fix the tests on big endian hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178875 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
99ff2ba240979249b61514c1536bbe23be84ecc7 |
03-Apr-2013 |
Eric Christopher <echristo@gmail.com> |
Don't disassemble symbols with an unknown address or size. Patch by Nico Rieck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178678 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
512685dacf7978af2729e86d022fab4d78784d43 |
27-Feb-2013 |
Shankar Easwaran <shankare@codeaurora.org> |
print TLS segment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176192 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
561823009b41e144f49cc00f1dc3e55b8649d400 |
21-Feb-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[objdump] Add PT_PHDR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175709 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
8a3a1deed8e7b18b18dea73cb4245a8ef7c46a4f |
20-Feb-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[objdump] Print the PT_INTERP and PT_DYNAMIC correcctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175659 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
87d0b9ed1462705dd9bf1cb7f67d0bf03af776c8 |
12-Feb-2013 |
Guy Benyei <guy.benyei@intel.com> |
Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175006 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
dd3aa9eab2b40ea1573a5482472bbb89e6f1038d |
05-Feb-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[objdump,readobj] Document the purpose and goals of each tool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174439 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
3c8da314f16ac268ad2a354a65e2578e777f2bad |
21-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173088 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
90230c84668269fbd53d163e398cd16486d5d414 |
19-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of the includes. Several files got checked in with mis-sorted includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
ac97f5ce486d1ca2967607028eacddd860aaddd0 |
15-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[Object][ELF] Simplify ELFObjectFile by using ELFType. This simplifies the usage and implementation of ELFObjectFile by using ELFType to replace: <endianness target_endianness, std::size_t max_alignment, bool is64Bits> This does complicate the base ELF types as they must now use template template parameters to partially specialize for the 32 and 64bit cases. However these are only defined once. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172515 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
27b2b1b4e543992f1988bbda74dabc6bf77c97d4 |
10-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[llvm-objdump] Emit addresses with the correct number of leading 0's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172130 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
46418797cd3b24ddf92240eab76f52bc7ac72d9d |
06-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[objdump] Use correct format specifiers and fix C++03 variadic warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171651 91177308-0d34-0410-b5e6-96231b3b80d8
LFDump.cpp
|
b2c064c6954c9bfa49b7a7e3223df5e7849464c0 |
06-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[objdump] Add --private-headers, -p. This currently prints the ELF program headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171649 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
LFDump.cpp
lvm-objdump.cpp
lvm-objdump.h
|
7f00f87767036e74445aad0164eea13cf2642610 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Sort a few more #include lines in tools/... unittests/... and utils/... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171363 91177308-0d34-0410-b5e6-96231b3b80d8
OFFDump.cpp
|
cef81b37c77978cd4dddb4a5ad13564793ded155 |
21-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a function to get the segment name of a section. On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be inform the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. The main difference from the previous patch is that it doesn't use InMemoryStruct. It is extremely dangerous: if the endians match it returns a pointer to the file buffer, if not, it returns a pointer to an internal buffer that is overwritten in the next API call. We should change all of this code to use support::detail::packed_endian_specific_integral like ELF, but since these functions only handle strings, they work with big and little endian machines as is. I have tested this by installing ubuntu 12.10 ppc on qemu, that is why it took so long :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170838 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
cd7ee1ced017d7a957113df9d6cf855ecbc3797e |
19-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 170545 while I debug the ppc failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170547 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
f9a6bd8524ba16d3e4036304ffdc9475df6844f2 |
19-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add r170095 back. I cannot reproduce it the failures locally, so I will keep an eye at the ppc bots. This patch does add the change to the "Disassembly of section" message, but that is not what was failing on the bots. Original message: Add a funciton to get the segment name of a section. On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be infor the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170545 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
ef8581479e58fe092178a9727f373a61b690a8df |
13-Dec-2012 |
Eric Christopher <echristo@gmail.com> |
Revert "Add a funciton to get the segment name of a section." This reverts commit r170095 since it appears to be breaking the bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170105 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
e3ec87a6f7b718596697727e699a62aed0d40b25 |
13-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a funciton to get the segment name of a section. On MachO, sections also have segment names. When a tool looking at a .o file prints a segment name, this is what they mean. In reality, a .o has only one, anonymous, segment. This patch adds a MachO only function to fetch that segment name. I named it getSectionFinalSegmentName since the main use for the name seems to be informing the linker with segment this section should go to. The patch also changes MachOObjectFile::getSectionName to return just the section name instead of computing SegmentName,SectionName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170095 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
1246700d1b5eb5aea5826b6ceed01e3a67ca9a28 |
05-Dec-2012 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Quick build fix for c++03 clang. This needs a proper solution. Note that these offsets are guaranteed to be correct by Endian.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169438 91177308-0d34-0410-b5e6-96231b3b80d8
OFFDump.cpp
|
eef7b6219ebe5d0ded0be4adb3003055fa8a63c4 |
05-Dec-2012 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Add dump of Win64 EH unwind data. The new command line option -unwind-info dumps the Win64 EH unwind data to the console. This is a nice feature if you need to debug generated EH data (e.g. from LLVM). Includes a test case. Initial patch by João Matos, extensions and rework by Kai Nacke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169415 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
OFFDump.cpp
lvm-objdump.cpp
lvm-objdump.h
|
f010c464a11444733ec67e31aace8bcebeaf2588 |
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort the #include lines for tools/... Again, tools are trickier to pick the main module header for than library source files. I've started to follow the pattern of using LLVMContext.h when it is included as a stub for program source files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
8b9da530e3637fd4afb33f80673178dcc74397f0 |
20-Nov-2012 |
Eli Bendersky <eliben@google.com> |
Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit more conformant to binutils objdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168393 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
d1726a4580f3dc42e2debbfea41acb9e815c06be |
12-Nov-2012 |
Eric Christopher <echristo@gmail.com> |
Rewrite DIContext interface to take an object. Update all callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167757 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
fd6d1651551d5a08b3cf0fcafed5e91a40b8e317 |
28-Aug-2012 |
Jack Carter <jcarter@mips.com> |
Some of the instructions in the Mips instruction set are revision delimited. llvm-mc -disassemble access these through the -mattr option. llvm-objdump -disassemble had no such way to set the attribute so some instructions were just not recognized for disassembly. This patch accepts llvm-mc mechanism for specifying the attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162781 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
3f5d1a2396915ebff20ce4f5d668ee5c839d1d91 |
07-Aug-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161430 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
f59083cc029b1f09dec7cc62de070846b2c55bb8 |
19-Jul-2012 |
Bill Wendling <isanbard@gmail.com> |
Remove tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160480 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
c698a44dd27cdcf2da301e7d15c5b3703eb5d90d |
02-Jul-2012 |
Evan Cheng <evan.cheng@apple.com> |
Need a space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159565 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
59c15e920c9873804f3150d0c13357696f09e300 |
18-May-2012 |
Kevin Enderby <enderby@apple.com> |
Fixed a bug in llvm-objdump when disassembling using -macho option for a binary containing no symbols. Fixed the crash and fixed it not disassembling anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157031 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
41854aea66ade4dea16a80bc8ef7ddf6c379d21f |
15-May-2012 |
Kevin Enderby <enderby@apple.com> |
Fixed a bug in llvm-objdump when disassembling using -macho option for a binary that has more than one symbol. The last symbol was not being disassembled to the end of the section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156840 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
9ed9e5d0f994c7721185eba963ea9b907dabcde6 |
09-May-2012 |
Kevin Enderby <enderby@apple.com> |
Fix it so llvm-objdump -arch does accept x86 and x86-64 as valid arch names. PR12731. Patch by Meador Inge! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156444 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
ff204963cbcd7c68d59f3bba5bfa2797ea0cebae |
04-May-2012 |
Pete Cooper <peter_cooper@apple.com> |
PR12729: Change 'llvm-objdump' to display the available targets. Patch by Meador Inge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156128 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
17463b3ef1a3d39b10619254f12e806c8c43f9e7 |
02-Apr-2012 |
Craig Topper <craig.topper@gmail.com> |
Make MCInstrInfo available to the MCInstPrinter. This will be used to remove getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153860 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
81bbdfda82a3e5528d979b2cc150e9c7e0fa4427 |
23-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Include cctype for std::isprint. This should unbreak the msvc build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153329 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
51cf8661637c114e4b4f178bd2677a6bb246be0d |
10-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152474 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
c6449b636f4984be88f128d0375c056ad05e7e8f |
05-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
Make MCRegisterInfo available to the the MCInstPrinter. Used to allow context sensitive printing of super-register or sub-register references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152043 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
2c67727046234ad9702ab5acb72700b5ac99a676 |
29-Feb-2012 |
David Meyer <pdox@google.com> |
[Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ST_Undefined. Implement these completely for ELF. Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type is unknown, not that the symbol is undefined. (For that, use ST_Undefined). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151696 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
adef06a71458ded0716935a61b3d43d164d4df12 |
29-Feb-2012 |
Derek Schuff <dschuff@google.com> |
Make MemoryObject accessor members const again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151687 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
CFunction.h
lvm-objdump.h
|
c46255a32ec92c427e621b6d7eabd887962ce4a4 |
29-Feb-2012 |
David Meyer <pdox@google.com> |
In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), and isWeak(), with a bitset of flags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151670 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
2ea93875b2f2900b9d244dfd7649c9ed02a34cd7 |
06-Feb-2012 |
Derek Schuff <dschuff@google.com> |
Enable streaming of bitcode This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149918 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
CFunction.h
lvm-objdump.h
|
a99350511cceb8a723800957bae500078f054062 |
03-Feb-2012 |
Cameron Zwarich <zwarich@apple.com> |
Allow command-line overrides of the target triple with the Mach-O disassembler, just like the generic disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149681 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
ec8eac6d8b70234b2dfee623190d609e17206bca |
03-Feb-2012 |
Cameron Zwarich <zwarich@apple.com> |
Do the same fix as r149667, but for the Mach-O disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149674 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
aab219110994cc4d848fae5f50166a2f70ccc812 |
03-Feb-2012 |
Cameron Zwarich <zwarich@apple.com> |
Fix llvm-objdump disassembly for interesting Mach-O binaries, e.g. any MacOS dylib. This regressed with r145408. I will try to make a test case and add it so that this doesn't happen again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149667 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
2d24e2a396a1d211baaeedf32148a3b657240170 |
20-Dec-2011 |
David Blaikie <dblaikie@gmail.com> |
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
lvm-objdump.h
|
4ab406d7fc06b1272d02cd8be46f0c5ebe51a3da |
12-Dec-2011 |
Daniel Dunbar <daniel@zuster.org> |
LLVMBuild: Remove trailing newline, which irked me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
|
b0436a73054fe676b216a0cf872d1fc433125c62 |
29-Nov-2011 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145408 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
790552c20fbd8daa77d343419f0f6ec4e7fa1457 |
27-Nov-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Revert r145180 as it is causing test failures on all the bots. Original commit message: Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145182 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
9b24738bd1dc791eb2c21b5562fcfe4b7b99fe2a |
27-Nov-2011 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Fixed ObjectFile functions: - getSymbolOffset() renamed as getSymbolFileOffset() - getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile. - added getRelocationOffset() - fixed MachOObjectFile::getSymbolSize() - fixed MachOObjectFile::getSymbolSection() - fixed MachOObjectFile::getSymbolOffset() for symbols without section data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145180 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
f81285c0c507908b429a2c4cbd0683d624d375f9 |
16-Nov-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Ignore non-objects in archives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144755 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
0d3c223035d057101cb9d9dd5ecb4500fcb15085 |
11-Nov-2011 |
Daniel Dunbar <daniel@zuster.org> |
LLVMBuild: Add description files for the LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144417 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
|
7d3f8b8e48854b890762ccb96f7817568541732b |
07-Nov-2011 |
Owen Anderson <resistor@mac.com> |
Fix llvm-objdump's MachO mode to not depend on the value returned by RelocationRef::getInfo(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143966 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
41a964931a0e0943ceef28b0c691843bf8ca87b7 |
05-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add more PRI.64 macros for MSVC and use them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
9df3b916cdd0e1b44b6d63a8b2a1adcffe5bfa86 |
28-Oct-2011 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
uint64 formatted output: replaced %llx with PRIx64 macro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143191 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
10c044e4408db5b55003d510261baa444bf57cba |
27-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Revert r143149, stubbing out symbolic disassembly support. The symbolic disassembly support is too MC-engrained to be useful in llvm-objdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143152 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
f1b7448201f1933147863273495930864e4af6d4 |
27-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Stub out support for symbol disassembly in llvm-objdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143149 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
6eb1ed8c9c6a6d3f9b57900c44fc076d08a358bd |
27-Oct-2011 |
Stepan Dyatkovskiy <stpworld@narod.ru> |
Fixed llvm-objdump uint64_t formatted output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143120 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
9472b8d220fc746498429f430cb4c4dbfbd38f2a |
26-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Expand relocation type field to 64 bits. MachO scattered relocations require 33 bits of type info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143032 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
0685e94895f26f96aa1032696e3150dd00aad1f3 |
25-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Add support for the notion of "hidden" relocations. On MachO, these are relocation entries that are used as additional information for other, real relocations, rather than being relocations themselves. I'm not familiar enough with ELF or COFF to know if they should have any relocations marked hidden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142961 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
34749ce4df9636188782c652dc9dc9c73d4bce11 |
25-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Fix off-by-one error when printing relocations inline with disassembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142952 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
22ff0f33dbfe99d7308658f07986c1014ea5aff2 |
18-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Add static symbol table dumping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142404 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
8c39c9647da4f375e4f89bd417d86f5c3ff6dfa5 |
18-Oct-2011 |
Daniel Dunbar <daniel@zuster.org> |
build: Tidy up a bunch of tool Makefiles, and simplify where possible using the new all-targets pseudo-component. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142401 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
|
4984d647daada693b8bdff5c3f4b0d476015ef2a |
18-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Revert "llvm-objdump: Add static symbol table dumping." This reverts commit 0c30d4e4f5f9110c5a67bd0ca84444dc58697596. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142320 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
b12715de41029162baed99a14032b530e85661a1 |
18-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Add static symbol table dumping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142319 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
481837a743be2bd4723d96f304abba93140dc206 |
17-Oct-2011 |
Owen Anderson <resistor@mac.com> |
Rewrite most of MachODump to work through the generic libObject interfaces rather than accessing the MachO internals directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142263 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
1e8ba3fa21326de4ef5bf908f6bfbf2852e04794 |
17-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Add -s, which prints the contents of each section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142199 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
942eb009114ef9a2e95e236790faa7a3c04bc2ba |
14-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-object: Add inline relocation information to disassembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141897 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
14a5f468d6b18b7637821e13e56fe56dd79d7caf |
13-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Fix whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141886 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
178dbd44187e23e7e3f3ba17b00c89c819070296 |
13-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Fix dumping of multiple symbols with the same address. This happens in COFF because there is a symbol for the beginning of each section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141885 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
f048c3fe24fc26692737c60656526abd3a9255a1 |
11-Oct-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
llvm-objdump.cpp: Use PRIx64 as format specifier for int64_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141664 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
023bb15beaac3744ce3a5d1f750d6e32829c7130 |
10-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add support for dumping section headers to llvm-objdump. This uses the same flags as binutils objdump but the output is different, not just in format but also showing different sections. Compare its results against readelf, not objdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141579 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
d226ed71f24f2db200e3751e05b82c7700514116 |
10-Oct-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Take ownership of MCInstrInfos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141535 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
27781b78e111a1d276dd3cd604b0cdfa662f1f4e |
08-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Add relocation and archive support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141451 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
lvm-objdump.h
|
3773fb46ba530f69530d1c4bafb7885528a27391 |
07-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Fix spelling in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141386 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
4344b1ef9b3721a5ebc2e024f753772a1e4ddd92 |
07-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Change relocation API to be per section. This time without breaking GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141385 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
a48ad1333999e2fb483d23096349138af5a51ec6 |
07-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Revert 141376 and 141377 due to breaking the build. --- Reverse-merging r141377 into '.': U tools/llvm-objdump/MachODump.cpp --- Reverse-merging r141376 into '.': U include/llvm/Object/COFF.h U include/llvm/Object/ObjectFile.h U include/llvm-c/Object.h U tools/llvm-objdump/llvm-objdump.cpp U lib/Object/MachOObjectFile.cpp U lib/Object/COFFObjectFile.cpp U lib/Object/Object.cpp U lib/Object/ELFObjectFile.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141379 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
lvm-objdump.cpp
|
67370ef9030990baceb42181f2db57b7b8d33ca9 |
07-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Fix spelling in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141377 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
f1164a2487750f891694fc2e3347860e50f705fb |
07-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Change relocation API to be per section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141376 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
afbaf48fc4a645a95737ea81e2e0fde47a6150ba |
22-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Detach symbol listing from section enumeration for mach-o. This reduces memory usage as we don't add the same symbol multiple times anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140278 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
91c603bcfe810c14ddcf7bf340dacbf10c7b5255 |
21-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Take the data from the right object when there's no dSYM around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140269 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
b5b8d20ddd287992ee286bf5f4d059fd527823ad |
21-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Fix use after free. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140237 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
8c93097c4c5e6dddc8c239295a1b42217b082ad3 |
21-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Output line info next to the disassembly if available. MachO-only at the moment, sorry. Usage: $ llvm-objdump -d -m -g -dsym=a.out.dSYM/Contents/Resources/DWARF/a.out a.out _main: 100000e90: 55 pushq %rbp ## test.c:11:3 … git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140224 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
achODump.cpp
akefile
|
a894c8e34453493a9d3fb2ffbbc21151c3965b63 |
20-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: factor code better, add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140153 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
CFunction.h
achODump.cpp
|
bcc1a737f5e7ff896e79c9a4a6177cc243618eff |
19-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Nope, there's another one! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140045 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
49ca96d7c2b7ce10e42feb05cb0d9c7457518537 |
19-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Missed one instance of implicit pointer conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140044 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
4d906381307334cfed187226c548129c3421d0c4 |
19-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Try to make MSVC 2010 happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140042 91177308-0d34-0410-b5e6-96231b3b80d8
achODump.cpp
|
0b8b771e9f2f251460a6f200c45efe9d55640d60 |
19-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional information that are only available on MachO. - It can take FunctionStarts from a binary to find entry points more accurately. - Symbol offsets in executables are correct now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140028 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CFunction.cpp
CFunction.h
achODump.cpp
lvm-objdump.cpp
lvm-objdump.h
|
98c5ddabca1debf935a07d14d0cbc9732374bdb8 |
16-Sep-2011 |
Owen Anderson <resistor@mac.com> |
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
lvm-objdump.cpp
|
ac241fe9f0d73c6f632e4f7f89e06b698d39da54 |
14-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Object: make the following changes into SymbolRef - Add enum SymbolType and function getSymbolType() - Add function isGlobal() - it's returns true for symbols that can be used in another objects, such as library functions. - Rename function getAddress() to getOffset() and add new function getAddress(), because currently getAddress() returns section offset of symbol first byte. new getAddress() return symbol address. - Change usage SymbolRef::getAddress() to getOffset() in tools/llvm-nm and tools/llvm-objdump. Patch by Danil Malyshev! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139683 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
b950585cc5a0d665e9accfe5ce490cd269756f2e |
07-Sep-2011 |
James Molloy <james.molloy@arm.com> |
Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139237 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 |
24-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetRegistry and TargetSelect from Target to Support where they belong. These are strictly utilities for registering targets and components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
7801136b95d1fbe515b9655b73ada39b05a33559 |
23-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Some refactoring so TargetRegistry.h no longer has to include any files from MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138367 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
41ab14b725c8f2bb3e54553d0d7d96ff184786b1 |
08-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add MCInstrAnalysis class. This allows the targets to specify own versions of MCInstrDescs functions. - Add overrides for ARM. - Teach llvm-objdump to use this instead of plain MCInstrDesc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137059 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
CFunction.h
lvm-objdump.cpp
|
c13464f3c1148a7096356f34f33932d3e258570e |
08-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: disassembly enhancements - Indent simple loops - Print unreachable blocks as .byte directives git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137058 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
a21d81370942ae915d6229298d6a52e4d36dcc2a |
08-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Use help of CFG to print assembly when --cfg is passed. This way we can avoid printing unreachable code (data). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137057 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
dbc46d7dd8e2b4a2a34222d71fbcc33249330362 |
26-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
I will save before I commit. I will save before I commit. I will save before I commit. I will save before I commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136007 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.h
lvm-objdump.cpp
|
853b0fd623491ef7dafeed20ee15897e3b95d82c |
26-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Ignore unreachable blocks when printing the CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136000 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
lvm-objdump.cpp
|
4b64e8a9e13ba782da2034e1dee52f077bdb759c |
25-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Separate MCInstPrinter registration from AsmPrinter registration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135974 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
1b0fc9b4182d6bd0703cdfb3b0b91d1e093c946c |
25-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Fix last bits of MC layer issues. llvm-mc doesn't need to initialize TargetMachine's anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135963 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
e78085a3c03de648a481e9751c3094c517bd7123 |
22-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo, InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135812 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
a503ede94bee1054fcd142687508dbb959e36875 |
22-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Don't ignore errors from raw_fd_ostream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135787 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
83a162ef8591d26b6105114e83061c600eb89749 |
22-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
llvm-objdump: Skip branches that leave the current function. In "normal" code these only happen when disassembling data, so we won't lose anything if we just drop them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135786 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
|
4039313b4c9796d194d90f88675ceb47a183696e |
22-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Move the registered target printing in version strings completely out of the Support library. Now its part of the TargetRegistry, and the three commands that care about this explicitly register this extra bit of version information. The set of commands which care was computed by intersecting those which use the Support library's version string printing and those that initialize all the registered targets in a way that produces a meaningful list. The only odd ball out is that 'clang -cc1as -version' no longer prints the registered targets. I don't think anyone is really interested in that (especially as the fact that llvm-mc does so is under a FIXME), but if someone really does want this back I'll happily apply the same patch there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135757 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
c3d48cee49257ea1666986d98c5d268262ad1e9b |
20-Jul-2011 |
Francois Pichet <pichet2000@gmail.com> |
Unbreak the MSVC build. Since the "next" function already exists in the MSVC headers, we need the explicit llvm:: qualifier to prevent a conflict. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135623 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
|
8eda1310dbbbb747c0e8646dbdfc7a2c33f7a6b6 |
20-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix cmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135609 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
685a2501b20baf688f6cc087f4b92bbafcd8028e |
20-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Sketch out an CFG reconstruction mode for llvm-objdump. - Not great yet, but it's a start. - Requires an object file with a symbol table. (I really want to fix this, but it'll need a whole new algorithm) - ELF and COFF won't work at the moment due to libObject shortcomings. To try it out run $ llvm-objdump -d --cfg foo.o This will create a graphviz file for every symbol in the object file's text section containing a CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135608 91177308-0d34-0410-b5e6-96231b3b80d8
CFunction.cpp
CFunction.h
lvm-objdump.cpp
|
14c92467e79f5f151b4b53ab2b1a7fd0f7881041 |
20-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix off-by-one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135533 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
439661395fd2a2a832dba01c65bc88718528313c |
19-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Introduce MCCodeGenInfo, which keeps information that can affect codegen (including compilation, assembly). Move relocation model Reloc::Model from TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135468 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
739b65bf85cf7221b8a615e83dee11ec729e2649 |
15-Jul-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Teach llvm-objdump to disassemble sections symbol by symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135289 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
1abf2cb59b8d63415780a03329307c0997b2670c |
15-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135219 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
0392a0431eeed3b230fc14fff438066470b06599 |
06-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Remove some unnecessary includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134528 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
b262799d49891b036daa00eddf51947487346c98 |
06-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
createMCInstPrinter doesn't need TargetMachine anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134525 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
276365dd4bc0c2160f91fd8062ae1fc90c86c324 |
30-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134127 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
25b15777df42d5d608810f6881b6c98107481d69 |
25-Jun-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Object: Add proper error handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133872 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
ddcdcc88631c6bd4ad43d9198b98bc9a829be036 |
23-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove unused STL header includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130068 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
a5c177e70a42f48e4885075c4c48aad0816a2817 |
21-Mar-2011 |
Bill Wendling <isanbard@gmail.com> |
We need to pass the TargetMachine object to the InstPrinter if we are printing the alias of an InstAlias instead of the thing being aliased. Because we need to know the features that are valid for an InstAlias. This is part of a work-in-progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127986 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
59315d1d54de6d9a8d721542c9ae251a00cff1ed |
20-Jan-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-objdump: Remove redundant includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123902 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
d11699d3c057129d0716fa548c67d1f62837f6b6 |
20-Jan-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
llvm-nm: Fix warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123901 91177308-0d34-0410-b5e6-96231b3b80d8
lvm-objdump.cpp
|
92e1deb05182c116bf39bec5f4df3769b5abc7f4 |
20-Jan-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Add llvm-objdump git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123898 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
akefile
lvm-objdump.cpp
|