Michael J. Spencer
46418797cd
[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
2013-01-06 05:23:59 +00:00
Michael J. Spencer
95abfbe8e9
[Object][ELF] Fix incorrect size of members for the 64 version of Elf_Phdr_Impl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171650 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 03:57:11 +00:00
Michael J. Spencer
b2c064c695
[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
2013-01-06 03:56:49 +00:00
Michael J. Spencer
3e5d8ade39
[Object][ELF] Add program header iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171648 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 03:56:27 +00:00
Michael J. Spencer
fe23da7949
[Object][ELF] Refactor ELFRelocationIterator into ELFEntityIterator. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171647 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 03:56:14 +00:00
Michael J. Spencer
4d9c5397b4
[Object][ELF] Add a maximum alignment. This is used by createELFObjectFile to create a properly aligned reader.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171520 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-04 20:36:28 +00:00
Michael J. Spencer
3fea4ef0b4
[Object] Temporarily disable these tests.
...
They are failing because archives create unaligned ELF files. The recent
Endian change added a __builtin_unreachable() when this happens. I will be
committing a fix for this soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171438 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-03 01:24:32 +00:00
Michael J. Spencer
f94cfb65f5
[MC][COFF] Switch the COFF streamer over to using the MCObjectStreamer version of EmitInstruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171437 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-03 01:09:22 +00:00
Michael J. Spencer
189ef5f2e0
[CMake] MSVC is incorrectly emitting C4239 in some cases. Disable it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171430 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-03 00:00:40 +00:00
Michael J. Spencer
3922757824
Restrict __builtin_assume_aligned to gcc 4.7+
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171408 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-02 20:23:49 +00:00
Michael J. Spencer
c8b18df9a7
[Support][Endian] Add support for specifying the alignment and native unaligned types.
...
* Add support for specifying the alignment to use.
* Add the concept of native endianness. Used for unaligned native types.
The native alignment and read/write simplification is based on a patch by Richard Smith.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171406 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-02 20:14:11 +00:00
Michael J. Spencer
3c6f89aa2e
[AlignOf] Add AlignedCharArray and refactor AlignedCharArrayUnion.
...
This adds AlignedCharArray<Alignment, Size>. A templated struct that contains
a member named buffer of type char[Size] that is aligned to Alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171319 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-31 19:54:45 +00:00
Michael J. Spencer
1246700d1b
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
2012-12-05 22:38:01 +00:00
Michael J. Spencer
eef7b6219e
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
2012-12-05 20:12:35 +00:00
Michael J. Spencer
717a142823
Updates to Win64EH.h structures.
...
Change member types of RuntimeFunction and UnwindInfo from uint64_t to
uint32_t:
These members represent addresses. According to MSDN, they are image
relative, that is, they are 32-bit offsets from the starting address
of the image that contains the function table entry.
See MSDN for more information:
RUNTIME_FUNCTION: http://msdn.microsoft.com/en-us/library/ft9x1kdx.aspx
UNWIND_INFO: http://msdn.microsoft.com/en-us/library/ddssxxy8.aspx
Make Win64.h platform-neutral:
The standard types unit8_t, uint16_t and uint32_t are replaced with
their counterparts from Endian.h. Accessor functions are introduced to
replace bit fields.
Patch by João Matos and Kai Nacke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169414 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-05 20:12:13 +00:00
Michael J. Spencer
96a564f2be
Copy clang/Driver/<Option parsing stuff> to llvm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169344 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-05 00:29:32 +00:00
Michael J. Spencer
6bc86018d1
[Support] Make FileOutputBuffer work on Windows.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169167 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-03 22:09:52 +00:00
Michael J. Spencer
604db310f0
[Support][FileSystem] Fix open mode in resize_file on Windows.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169166 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-03 22:09:31 +00:00
Michael J. Spencer
2b8150318d
Revert the header sort on this file.
...
"Windows.h" includes <Windows.h> which defines a bunch of stuff it shouldn't
(even with all the restriction macros). We have no control over this file, so
make it's scope as small as possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169165 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-03 22:07:00 +00:00
Michael J. Spencer
768a707fdf
[Object] Fix endianess bug by refactoring Archive::Symbol::getMember.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167893 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-14 00:04:13 +00:00
Michael J. Spencer
4de5872ded
[MC][COFF] Emit weak symbols to the correct section. Patch by Dmitry Puzirev!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167877 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-13 22:04:09 +00:00
Michael J. Spencer
08e712b9ff
[Support] Fix StrError on Windows to actually return the error string...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-01 00:34:09 +00:00
Michael J. Spencer
ce892ca9bc
[Support/StringSet] Fix memory leak when inserted key already exists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166517 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23 22:55:54 +00:00
Michael J. Spencer
06d9981d27
[Docs] Update File Headers section to cover doxygen style file level docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164964 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-01 19:59:21 +00:00
Michael J. Spencer
0543c147df
[CMake] Respect LLVM_BUILD_RUNTIME.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164424 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-21 22:49:06 +00:00
Michael J. Spencer
2c38a6615a
[Object] Extract Elf_Ehdr. Patch by Hemant Kulkarni!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163532 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-10 19:04:02 +00:00
Michael J. Spencer
aadf715702
[Docs] Fix Sphinx incremental build. Patch by Sean Silva!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163235 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-05 19:44:47 +00:00
Michael J. Spencer
3651e7dfec
Properly test the LLVM_USE_RVALUE_REFERENCES macro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161979 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15 19:21:42 +00:00
Michael J. Spencer
118f194966
Properly test the LLVM_USE_RVALUE_REFERENCES macro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161978 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15 19:16:27 +00:00
Michael J. Spencer
1ebd25e438
[PathV2] Add mapped_file_region. Implementation for Windows and POSIX.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161976 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15 19:05:47 +00:00
Michael J. Spencer
b9d565ac99
Add LLVM_DELETED_FUNCTION compatibility macro.
...
This should replace uses of:
class A {
A(const &A); // DO NOT IMPLEMENT
public:
...
};
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161975 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15 18:54:36 +00:00
Michael J. Spencer
32bab64eec
[yaml2obj] Fix incorrect use of signed values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161900 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14 22:42:31 +00:00
Michael J. Spencer
1de266be13
[yaml2obj] Fix build. Apparently I've gotten too familiar with C++11.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161206 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 19:36:30 +00:00
Michael J. Spencer
a915f247f7
Add yaml2obj. A utility to convert YAML to binaries.
...
yaml2obj takes a textual description of an object file in YAML format
and outputs the binary equivalent. This greatly simplifies writing
tests that take binary object files as input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161205 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 19:16:56 +00:00
Michael J. Spencer
d77ce4a8e9
[obj2yaml] Print the Relocations header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31 22:04:08 +00:00
Michael J. Spencer
9669f74976
[Object] Remove unneeded const_cast.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160692 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-24 21:07:56 +00:00
Michael J. Spencer
55eda324c4
[docs] Sphinxify GettingStartedVS. Patch by Mikael Lyngvig!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 23:27:09 +00:00
Michael J. Spencer
b51c8e9bb5
[Support/PathV2] Fix out of bounds access in identify_magic when the file is empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158704 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 05:29:57 +00:00
Michael J. Spencer
0ed5cf4fc1
[docs] Port FAQ over to Sphinx.
...
Patch by Mikael Lyngvig!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158677 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-18 20:21:38 +00:00
Michael J. Spencer
12a88f81de
[docs] Make it pretty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158561 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-15 22:17:44 +00:00
Michael J. Spencer
67762d1d45
[CMake] Promote extension warnings to errors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158176 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07 23:33:56 +00:00
Michael J. Spencer
fa371eaff3
[CMake] Order MSVC warnings numerically.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158171 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07 21:34:31 +00:00
Michael J. Spencer
c3ab9ce3c9
[CMake] Adjust MSVC warnings.
...
Remove /Wall from LLVM_ENABLE_WARNINGS (it's useless) and promote 4239
to a level 1 warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158170 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-07 21:34:15 +00:00
Michael J. Spencer
4d61664696
[llvm-nm] Update documentation to cover object file support and arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158120 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-06 23:34:10 +00:00
Michael J. Spencer
cdd6b2dca1
Fix 80 columns.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157788 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-01 00:58:41 +00:00
Michael J. Spencer
24b709529f
[Support/YAMLParser] Use rtrim on plain scalars.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156787 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 22:43:34 +00:00
Michael J. Spencer
752026b69e
[Support/COFF] Make the order of members in symbol match the standard.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156785 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 22:43:21 +00:00
Michael J. Spencer
b08174c0b1
Add doxygen comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156665 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 23:34:39 +00:00
Michael J. Spencer
b0940b46ed
[Support/StringRef] Add find_last_not_of and {r,l,}trim.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156652 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11 22:08:50 +00:00
Michael J. Spencer
4599613dec
Add tools/lld to .gitignore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156021 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-02 21:25:32 +00:00
Michael J. Spencer
57d61de858
[Support/YAMLParser] Fix ASan found bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155735 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-27 21:12:20 +00:00
Michael J. Spencer
3c00db75e1
[CMake] Restructure how Clang, Polly and other external projects get included.
...
While making lld build under the tools directory I decided to refactor how this
works.
There is now a macro, add_llvm_external_project, which takes the name of the
expected subdirectory. This sets up two CMake options.
* LLVM_EXTERNAL_${NAME}_SOURCE_DIR
This is the path to the source. It defaults to
${CMAKE_CURRENT_SOURCE_DIR}/${name}.
* LLVM_EXTERNAL_${NAME}_BUILD
Enable and disable building the tool as part of LLVM.
I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the
GUI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155654 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-26 19:43:35 +00:00
Michael J. Spencer
60f3d92b2a
[Support/YAML] Properly fix unitialized variable warning by inserting a
...
'REPLACEMENT CHARACTER' (U+FFFD) when getAsInteger fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155653 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-26 19:27:11 +00:00
Michael J. Spencer
8dab504799
[Support/Unix] Unconditionally include time.h.
...
When building LLVM on Linux with libc++ with CMake TIME_WITH_SYS_TIME is
undefined, and HAVE_SYS_TIME_H is defined. This ends up including
sys/time.h but not time.h. Unix/TimeValue.inc requires time.h for asctime_r
and localtime. libstdc++ seems to include time.h anyway, but libc++ does
not.
Fix this by always including time.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155382 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-23 19:00:27 +00:00
Michael J. Spencer
1b0b45bd82
[docs] Update version number. I suggest that at some point we make the
...
build system generate this file with the proper version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155221 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20 19:28:40 +00:00
Michael J. Spencer
75338097c7
Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
...
llvm-ld is no longer useful and causes confusion and so it is being removed.
* Does not work very well on Windows because it must call a gcc like driver to
assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
ld, or fully replaced by Clang.
I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19 19:27:54 +00:00
Michael J. Spencer
68f404d890
Fix -Wnon-virtual-dtor warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154063 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-04 22:34:55 +00:00
Michael J. Spencer
c35146b725
Sorry about that. MSVC seems to accept just about any random string you give it ;/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153979 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-03 23:36:44 +00:00
Michael J. Spencer
93210e847a
Add YAML parser to Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153977 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-03 23:09:22 +00:00
Michael J. Spencer
55f43d6b7e
[PathV2]: Fix bug in create_directories which caused infinite recursion on
...
som inputs.
Bug found and fix proposed by Kal Conley!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153225 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21 23:09:14 +00:00
Michael J. Spencer
1f6e3f9544
[Object/COFF]: Expose getSectionContents.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153051 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19 20:27:37 +00:00
Michael J. Spencer
b35a896e07
[Object/COFF]: Expose getSectionName.
...
Also add some documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153050 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19 20:27:15 +00:00
Michael J. Spencer
33a1805f35
Fix bug found by warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152812 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15 17:49:29 +00:00
Michael J. Spencer
d03a29b69d
Implement relocation-overflow behavior for PE/COFF.
...
This needs a test, but it will take some time to figure
out the best way to get an input that will produce > 2^16 relocs.
Patch by Graydon Hoare!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152787 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-15 09:03:03 +00:00
Michael J. Spencer
f522ce1f18
Fix warnings when building with VS11.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152523 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11 01:20:23 +00:00
Michael J. Spencer
dbb4b2fb5e
Fix warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152522 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11 00:51:01 +00:00
Michael J. Spencer
9130b42a85
Make StringRef::getAsInteger work with all integer types. Before this change
...
it would fail with {,u}int64_t on x86-64 Linux.
This also removes code duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152517 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10 23:02:54 +00:00
Michael J. Spencer
647c0ce48c
Minimal changes for LLVM to compile under VS11.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151849 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-01 22:42:52 +00:00
Michael J. Spencer
d0fff1886c
[PathV2] Fix bug in relative_path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151675 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29 00:06:24 +00:00
Michael J. Spencer
dfa1896b6b
[Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF.
...
Add -D option to llvm-nm to dump dynamic symbols.
Patch by David Meyer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151600 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28 00:40:37 +00:00
Michael J. Spencer
284a6bbae1
Remove duplicate copy of Object/ELF.h that somehow managed to get in.
...
Patch by David Meyer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151575 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-27 22:06:44 +00:00
Michael J. Spencer
1a2d061ec0
Add WIN_FTOL_* psudo-instructions to model the unique calling convention
...
used by the Win32 _ftol2 runtime function. Patch by Joe Groff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151382 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-24 19:01:22 +00:00
Michael J. Spencer
32d22ee11d
Emit global ctors into .CRT$XCU instead of .ctors on Win32. Patch by Joe Groff!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151289 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23 21:56:08 +00:00
Michael J. Spencer
c9c137b463
Properly emit _fltused with FastISel. Refactor to share code with SDAG.
...
Patch by Joe Groff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151183 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22 19:06:13 +00:00
Michael J. Spencer
a740e19e7e
llvm-nm: refactor in order to support reading files from stdin.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146524 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 23:17:29 +00:00
Michael J. Spencer
5b08230930
Support/FileSystem: Add file_magic and move a vew clients over to it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146523 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 23:17:12 +00:00
Michael J. Spencer
b92cb30cf5
Support/Program: Make Change<stream>ToBinary return error_code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146522 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 23:16:49 +00:00
Michael J. Spencer
faebf11a34
Cleanup whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146521 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13 23:16:15 +00:00
Michael J. Spencer
d45fbe6227
Support/FileSystem: Implement bool equivalent(file_status A, file_status B);
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146364 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 06:04:28 +00:00
Michael J. Spencer
c3b00e8040
Support/FileSystem: Implement canonicalize.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146363 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 06:04:01 +00:00
Michael J. Spencer
1dd2ee7bf4
Support/Windows: Cleanup scoped handles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146362 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12 06:03:33 +00:00
Michael J. Spencer
bd3825ecd1
unittests/SupportTests: Fix test. pop modifies the current entry, thus the
...
dontlookhere check must be after it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146217 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 01:14:41 +00:00
Michael J. Spencer
6132d70210
unittests/SupportTests: Add some outs()'s to debug the issues on some bots.
...
I have run these tests under many configurations on the exact same OS as
the failures, and I can't reproduce them :(.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146214 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09 00:45:09 +00:00
Michael J. Spencer
a81ac8f2b5
Support/FileSystem: Implement recursive_directory_iterator and make
...
directory_iterator preserve InputIterator semantics on copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146200 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08 22:50:09 +00:00
Michael J. Spencer
116bc795da
MC/X86/COFF: Allow quotes in names when targeting MS/Windows,
...
as MC is the only assembler we support.
This splits MS/Windows and GNU/Windows ASM infos into two seperate classes.
While there is currently only one difference, full MS C++ ABI support will
require many more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 18:00:06 +00:00
Michael J. Spencer
60f790c329
Add object file related release notes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145254 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 18:20:09 +00:00
Michael J. Spencer
11ba26db13
Object/COFF: Support common symbols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144861 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 23:36:12 +00:00
Michael J. Spencer
a9a4f5eda8
Remove extra ,.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144759 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:36:50 +00:00
Michael J. Spencer
8a2549febc
Object/Archive: Give Child a operator < for map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144757 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:25:13 +00:00
Michael J. Spencer
dc296639d9
Support/COFF: Add structs and enums from the standard for image files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144756 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:24:57 +00:00
Michael J. Spencer
f81285c0c5
llvm-objdump: Ignore non-objects in archives.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144755 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:24:41 +00:00
Michael J. Spencer
7151ddd6ef
Object/COFF: Fix PE reading.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144148 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 23:34:07 +00:00
Michael J. Spencer
0d64632c9e
MC/COFF: Correctly emit the size of an empty string table.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144111 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 19:52:32 +00:00
Michael J. Spencer
3314c26475
object: Add operator < for SymbolRef and SectionRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:41 +00:00
Michael J. Spencer
783d88793a
object/COFF: Properly initalize uses of DataRefImpl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143562 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:26 +00:00
Michael J. Spencer
c8a55a660e
Object/Archive: Add symbol table iteration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:12 +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
Michael J. Spencer
fe944e8cd0
Object/Archive: Cleanup anon namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142983 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:31:11 +00:00
Michael J. Spencer
93fe4ae091
Object: change test to create archive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142982 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:30:58 +00:00
Michael J. Spencer
aaf98ead11
Object/Archive: Add BSD style long file name support and skip internal members.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142981 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 22:30:42 +00:00