History log of /external/llvm/tools/llvm-objdump/llvm-objdump.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2c3e0051c31c3f5b2328b447eadf1cf9c4427442 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r235153

Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
(cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
a6610ee882fcb8bcad60d53fc52b80f00a3fddae 27-Sep-2013 Rui Ueyama <ruiu@google.com> Re-submit r191472 with a fix for big endian.

llvm-objdump: Dump COFF import table if -private-headers option is given.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
4715a11dcfe79de2a7a8b0b633d6ca272eea0bc3 27-Sep-2013 Rui Ueyama <ruiu@google.com> Revert "llvm-objdump: Dump COFF import table if -private-headers option is given."

This reverts commit r191472 because it's failing on BE machine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
0c873adc82a81b0bce317c3e2cb3139e990a0f9e 27-Sep-2013 Rui Ueyama <ruiu@google.com> llvm-objdump: Dump COFF import table if -private-headers option is given.

This is a patch to add capability to llvm-objdump to dump COFF Import Table
entries, so that we can write tests for LLD checking Import Table contents.

llvm-objdump did not print anything but just file name if the format is COFF
and -private-headers option is given. This is a patch adds capability for
dumping DLL Import Table, which is specific to the COFF format.

In this patch I defined a new iterator to iterate over import table entries.
Also added a few functions to COFFObjectFile.cpp to access fields of the entry.

Differential Revision: http://llvm-reviews.chandlerc.com/D1719

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
7413b54c897c9a7bd04e7b918128d0279be9a126 21-Aug-2013 Ahmed Bougacha <ahmed.bougacha@gmail.com> Add basic YAML MC CFG testcase.

Drive-by llvm-objdump cleanup (don't hardcode ToolName).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
171ac8ca175bec5bc0bff8b3006850f70e0569c9 21-Aug-2013 Ahmed Bougacha <ahmed.bougacha@gmail.com> MC CFG: Add YAML MCModule representation to enable MC CFG testing.

Like yaml ObjectFiles, this will be very useful for testing the MC CFG
implementation (mostly MCObjectDisassembler), by matching the output
with YAML, and for potential users of the MC CFG, by using it as an input.

There isn't much to the actual format, it is just a serialization of the
MCModule class. Of note:
- Basic block references (pred/succ, ..) are represented by the BB's
start address.
- Just as in the MC CFG, instructions are MCInsts with a size.
- Operands have a prefix representing the type (only register and
immediate supported here).
- Instruction opcodes are represented by their names; enum values aren't
stable, enum names mostly are: usually, a change to a name would need
lots of changes in the backend anyway.
Same with registers.

All in all, an example is better than 1000 words, here goes:

A simple binary:

Disassembly of section __TEXT,__text:
_main:
100000f9c: 48 8b 46 08 movq 8(%rsi), %rax
100000fa0: 0f be 00 movsbl (%rax), %eax
100000fa3: 3b 04 25 48 00 00 00 cmpl 72, %eax
100000faa: 0f 8c 07 00 00 00 jl 7 <.Lend>
100000fb0: 2b 04 25 48 00 00 00 subl 72, %eax
.Lend:
100000fb7: c3 ret

And the (pretty verbose) generated YAML:

---
Atoms:
- StartAddress: 0x0000000100000F9C
Size: 20
Type: Text
Content:
- Inst: MOV64rm
Size: 4
Ops: [ RRAX, RRSI, I1, R, I8, R ]
- Inst: MOVSX32rm8
Size: 3
Ops: [ REAX, RRAX, I1, R, I0, R ]
- Inst: CMP32rm
Size: 7
Ops: [ REAX, R, I1, R, I72, R ]
- Inst: JL_4
Size: 6
Ops: [ I7 ]
- StartAddress: 0x0000000100000FB0
Size: 7
Type: Text
Content:
- Inst: SUB32rm
Size: 7
Ops: [ REAX, REAX, R, I1, R, I72, R ]
- StartAddress: 0x0000000100000FB7
Size: 1
Type: Text
Content:
- Inst: RET
Size: 1
Ops: [ ]
Functions:
- Name: __text
BasicBlocks:
- Address: 0x0000000100000F9C
Preds: [ ]
Succs: [ 0x0000000100000FB7, 0x0000000100000FB0 ]
<snip>
...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp
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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-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
/external/llvm/tools/llvm-objdump/llvm-objdump.cpp