History log of /external/llvm/tools/llvm-objdump/MachODump.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 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/MachODump.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/MachODump.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/llvm-objdump/MachODump.cpp
8819c84aed10777ba91d4e862229882b8da0b272 01-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove several unused variables.

Patch by Alp Toker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/MachODump.cpp
5510728d28bb1ee04abc32da3d21b7df12948053 01-Sep-2013 Charles Davis <cdavis5x@gmail.com> Move everything depending on Object/MachOFormat.h over to Support/MachO.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/MachODump.cpp
f69a29b23a116a3520f185054290c445abf9aa62 27-Aug-2013 Charles Davis <cdavis5x@gmail.com> Revert "Fix the build broken by r189315." and "Move everything depending on Object/MachOFormat.h over to Support/MachO.h."

This reverts commits r189319 and r189315. r189315 broke some tests on what I
believe are big-endian platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-objdump/MachODump.cpp
9c3dd1b0d1e96ef408b68da3b06c6ebd6c943601 27-Aug-2013 Charles Davis <cdavis5x@gmail.com> Move everything depending on Object/MachOFormat.h over to Support/MachO.h.

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