Owen Anderson
9472b8d220
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
2011-10-26 17:08:49 +00:00
Michael J. Spencer
232b1f268c
llvm-nm: Use correct format string. Patch by Stepan Dyatkovskiy!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142984 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:45:47 +00:00
Owen Anderson
0685e94895
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
2011-10-25 20:35:53 +00:00
Owen Anderson
34749ce4df
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
2011-10-25 20:15:39 +00:00
Michael J. Spencer
22ff0f33db
llvm-objdump: Add static symbol table dumping.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18 19:32:17 +00:00
Daniel Dunbar
8c39c9647d
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
2011-10-18 19:27:24 +00:00
Daniel Dunbar
bfe2a6bb59
llvm-ar: Remove local test target, this is no longer useful.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142400 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18 19:27:10 +00:00
Daniel Dunbar
a6b1929657
llvm-config: Add an all-targets pseudo-component.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-18 19:27:08 +00:00
Michael J. Spencer
4984d647da
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
2011-10-18 00:17:04 +00:00
Michael J. Spencer
b12715de41
llvm-objdump: Add static symbol table dumping.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142319 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17 23:55:22 +00:00
Nick Lewycky
44d798d976
Add support for a new extension to the .file directive:
...
.file filenumber "directory" "filename"
This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17 23:05:28 +00:00
Owen Anderson
481837a743
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
2011-10-17 21:37:35 +00:00
Michael J. Spencer
1e8ba3fa21
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
2011-10-17 17:13:22 +00:00
NAKAMURA Takumi
3a35a3813d
tools/CMakeLists.txt: Fixup r142103. I don't remember why I had missed the line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142136 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16 11:50:37 +00:00
Chris Lattner
3f2d5f60b3
Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
...
string, pass it around as an enum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142107 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16 05:43:57 +00:00
Chris Lattner
d8b7aa2613
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
...
the X86 asmparser to produce ranges in the one case that was annoying me, for example:
test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
^~~~~~~
It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use
ranges where appropriate if someone is interested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142106 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16 04:47:35 +00:00
NAKAMURA Takumi
4025061b8a
CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142103 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16 02:54:33 +00:00
NAKAMURA Takumi
e5ab51d51f
autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142102 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-16 02:54:26 +00:00
Michael J. Spencer
942eb00911
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
2011-10-13 22:17:18 +00:00
Michael J. Spencer
14a5f468d6
llvm-objdump: Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141886 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-13 20:37:20 +00:00
Michael J. Spencer
178dbd4418
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
2011-10-13 20:37:08 +00:00
NAKAMURA Takumi
f048c3fe24
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
2011-10-11 12:51:50 +00:00
Tanya Lattner
f1f1a4f161
Make it possible to use the linker without destroying the source module. This is so the source module can be linked to multiple other destination modules. For all that used LinkModules() before, they will continue to destroy the source module as before.
...
This line, and those below, will be ignored--
M include/llvm/Linker.h
M tools/bugpoint/Miscompilation.cpp
M tools/bugpoint/BugDriver.cpp
M tools/llvm-link/llvm-link.cpp
M lib/Linker/LinkModules.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141606 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-11 00:24:54 +00:00
Nick Lewycky
023bb15bea
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
2011-10-10 21:21:34 +00:00
Benjamin Kramer
d226ed71f2
llvm-objdump: Take ownership of MCInstrInfos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141535 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10 13:10:09 +00:00
Benjamin Kramer
1a9908daeb
llvm-nm: Don't leak bitcode buffers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141534 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10 13:10:04 +00:00
Michael J. Spencer
27781b78e1
llvm-objdump: Add relocation and archive support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141451 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-08 00:18:30 +00:00
Michael J. Spencer
20990397a4
Fix a few changes I missed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141392 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 19:52:41 +00:00
Michael J. Spencer
01a4db3ed4
Fix GCC again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141389 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 19:46:12 +00:00
Michael J. Spencer
3773fb46ba
Fix spelling in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141386 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 19:25:47 +00:00
Michael J. Spencer
4344b1ef9b
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
2011-10-07 19:25:32 +00:00
Bill Wendling
a48ad13339
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
2011-10-07 18:25:37 +00:00
Michael J. Spencer
67370ef903
Fix spelling in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141377 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 18:15:40 +00:00
Michael J. Spencer
f1164a2487
Change relocation API to be per section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07 18:15:25 +00:00
Devang Patel
1e97def44a
Update cmake list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141104 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04 19:38:16 +00:00
Devang Patel
58c620024a
Put GCOVFile and other related interface in a common header so that llvm-cov tool can share it with GCOV writer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141095 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04 17:24:48 +00:00
Peter Collingbourne
e97552e850
Exclude libLLVMTableGen.a from the shared library
...
Unbreaks tools for --enable-shared build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141052 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-04 00:30:34 +00:00
Devang Patel
0066f9290e
Simplify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140789 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 17:06:40 +00:00
Devang Patel
a5ef699f41
Clarify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140787 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 16:52:53 +00:00
Devang Patel
8d6c0fb979
Remove unnecessary and unused data member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140786 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 16:48:44 +00:00
Devang Patel
7a50202be5
Cosmetic changes, as per Nick's review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140785 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 16:46:47 +00:00
Andrew Trick
f47e870015
Fix build failures better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140758 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 01:22:31 +00:00
Daniel Dunbar
7f3654db0c
Fix build failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140755 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 01:14:42 +00:00
Michael J. Spencer
75c4abacaa
llvm-size: Apply Chris's code review fixes.
...
This doesn't use formated_raw_ostream because it doesn't support the
functionality needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140751 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-29 00:59:18 +00:00
Michael J. Spencer
7da52dd2fa
Fix cast.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140726 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28 21:24:44 +00:00
Michael J. Spencer
32a12ba8c0
Add llvm-size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140722 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28 20:57:46 +00:00
Devang Patel
d02c42bb85
Introduce llvm-cov.
...
Add llvm-cov skeleton. It has initial support to read coverage info generated by GCOVProfiling.cpp.
Today, you can do
prompt> clang a.c -ftest-coverage -fprofile-arcs -o a
prompt> ./a
prompt> llvm-cov -gcno a.gcno -gcda a.gcda
a.c
: #include "a.h"
:
: int main() {
: int i = 0;
: if (i) {
1: int j = 0;
1: j = 1;
1: } else {
: int k = 1;
: k = 2;
: }
1: return 0;
: }
:
:
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140712 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28 18:50:00 +00:00
Michael J. Spencer
9142ae2cf8
Add binary archive support to llvm-nm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140627 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27 19:37:18 +00:00
Benjamin Kramer
afbaf48fc4
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
2011-09-21 22:16:43 +00:00
Benjamin Kramer
91c603bcfe
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
2011-09-21 18:18:53 +00:00