summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm-symbolizer: add support for Mach-O universal binariesAlexey Samsonov2013-06-283-42/+101
| | | | llvm-svn: 185137
* Debug Info: clean up usage of Verify.Manman Ren2013-06-281-2/+5
| | | | | | | | | | | No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. For cases where we know the type of a DI metadata, use assert. Also update testing cases to make them conform to the format of DI classes. llvm-svn: 185135
* Revert "Debug Info: clean up usage of Verify." as it's breaking bots.Eric Christopher2013-06-261-2/+2
| | | | | | This reverts commit r185020 llvm-svn: 185032
* Debug Info: clean up usage of Verify.Manman Ren2013-06-261-2/+2
| | | | | | | | No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. llvm-svn: 185020
* Use enums instead of raw octal values.Rafael Espindola2013-06-261-1/+1
| | | | | | Patch by 罗勇刚(Yonggang Luo). llvm-svn: 184971
* Remove unused includes.Rafael Espindola2013-06-262-2/+0
| | | | | | llvm itself is now PathV1 clean. llvm-svn: 184947
* Provide bootstrap support to build only llvm+clang when using cmake.Andy Gibbs2013-06-261-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Where a source tree is complete with lld, lldb and polly, it may not be possible to use cmake to configure build scripts if the host compiler it not capable of compiling these sub-projects. This change makes it possible to first build a bootstrap clang compiler when can then be used to build a complete llvm toolchain. An example bootstrap build sequence could be as follows: $ mkdir bootstrap $ cd bootstrap $ cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_PREFIX_PATH:STRING=$(pwd) -DLLVM_TARGETS_TO_BUILD:STRING=host -DLLVM_INCLUDE_TOOLS:STRING=bootstrap-only ../source $ make clang # build clang only for host $ cd .. $ export CC=$(realpath bootstrap/bin)/clang $ export CXX=$(realpath bootstrap/bin)/clang++ $ mkdir final $ cd final $ cmake -G 'Unix Makefiles' ../source $ make all check-all llvm-svn: 184924
* Port GetMainExecutable over to PathV2.Rafael Espindola2013-06-262-5/+5
| | | | | | I will remove the V1 version as soon as I change clang in the next commit. llvm-svn: 184914
* Move GetEXESuffix to the one place it is used.Rafael Espindola2013-06-251-1/+7
| | | | llvm-svn: 184853
* keep only the StringRef version of getFileOrSTDIN.Rafael Espindola2013-06-252-2/+2
| | | | llvm-svn: 184826
* Create the file with the right permissions instead of setting it afterwards.Rafael Espindola2013-06-221-9/+1
| | | | | | Removes the last use of PathV1.h in llvm-ar. llvm-svn: 184630
* [yaml2obj][ELF] Make symbol table top-level key.Sean Silva2013-06-221-9/+11
| | | | | | | | | Although in reality the symbol table in ELF resides in a section, the standard requires that there be no more than one SHT_SYMTAB. To enforce this constraint, it is cleaner to group all the symbols under a top-level `Symbols` key on the object file. llvm-svn: 184627
* [yaml2obj][ELF] Narrow parameter.Sean Silva2013-06-221-6/+6
| | | | | | The full ELFYAML::Section isn't needed. llvm-svn: 184626
* [yaml2obj][ELF] Don't special case writing these.Sean Silva2013-06-221-2/+2
| | | | | | | Just add them to the vector of section headers like the rest of the section headers. llvm-svn: 184624
* [yaml2obj][ELF] Make this "type switch" actually readable.Sean Silva2013-06-221-7/+20
| | | | llvm-svn: 184623
* [yaml2obj][ELF] Align section contents in the output.Sean Silva2013-06-221-8/+17
| | | | | | | | | | The improperly aligned section content in the output was causing buildbot failures. This should fix them. Incidentally, this results in a simpler and more robust API for ContiguousBlobAccumulator. llvm-svn: 184621
* Convert some uses of PathV1.h in ArchiveWriter.cpp.Rafael Espindola2013-06-212-28/+29
| | | | llvm-svn: 184599
* [yaml2obj][ELF] Allow expressing undefined symbols.Sean Silva2013-06-211-7/+9
| | | | | | | | | | Previously we unconditionally enforced that section references in symbols in the YAML had a name that was a section name present in the object, and linked the references to that section. Now, permit empty section names (already the default, if the `Section` key is not provided) to indicate SHN_UNDEF. llvm-svn: 184513
* Unbreak bots. Didn't realize this was a C++11 feature.Sean Silva2013-06-211-5/+6
| | | | llvm-svn: 184508
* [yaml2obj][ELF] Don't explicitly set `Binding` with STB_*Sean Silva2013-06-211-24/+33
| | | | | | | | | | | | | | | Instead, just have 3 sub-lists, one for each of {STB_LOCAL,STB_GLOBAL,STB_WEAK}. This allows us to be a lot more explicit w.r.t. the symbol ordering in the object file, because if we allowed explicitly setting the STB_* `Binding` key for the symbol, then we might have ended up having to shuffle STB_LOCAL symbols to the front of the list, which is likely to cause confusion and potential for error. Also, this new approach is simpler ;) llvm-svn: 184506
* Add a fixme.Rafael Espindola2013-06-201-0/+1
| | | | llvm-svn: 184486
* Remove last use of PathV1.h from Archive.cpp.Rafael Espindola2013-06-201-9/+14
| | | | llvm-svn: 184484
* [yaml2obj][ELF] Add support for st_value and st_size.Sean Silva2013-06-201-0/+2
| | | | | | | | | After this patch, the ELF file produced by `yaml2obj-elf-symbol-basic.yaml`, when linked and executed on x86_64 (under SysV ABI, obviously; I tested on Linux), produces a working executable that goes into an infinite loop! llvm-svn: 184469
* [yaml2obj][ELF] Allow symbols to reference sections.Sean Silva2013-06-201-0/+7
| | | | llvm-svn: 184468
* [yaml2obj][ELF] Add the section name -> section index map to State.Sean Silva2013-06-201-4/+7
| | | | | | | | | | | | | | One of the key things that the YAML format abstracts over is the use of section numbers for referencing sections. Instead, textual section names are used, which yaml2obj then translates into appropriate section numbers. (Technically ELF doesn't care about section names (only section numbers), but since this is a testing tool, readability counts). This simplifies using section names as symbolic references in various parts of the code. An upcoming commit will use this to allow symbols to reference sections. llvm-svn: 184467
* Add a setLastModificationAndAccessTime to PathV2.Rafael Espindola2013-06-201-19/+35
| | | | | | With this we can remove the last use of PathV1 from llvm-ar.cpp. llvm-svn: 184464
* Use a raw_fd_ostream instead of a std::ofstream.Rafael Espindola2013-06-201-4/+5
| | | | llvm-svn: 184460
* Remove the simplify-libcalls pass (finally)Meador Inge2013-06-201-2/+0
| | | | | | | | | | | This commit completely removes what is left of the simplify-libcalls pass. All of the functionality has now been migrated to the instcombine and functionattrs passes. The following C API functions are now NOPs: 1. LLVMAddSimplifyLibCallsPass 2. LLVMPassManagerBuilderSetDisableSimplifyLibCalls llvm-svn: 184459
* [yaml2obj][ELF] Start factoring into "single point of truth".Sean Silva2013-06-201-19/+51
| | | | llvm-svn: 184457
* [yaml2obj][ELF] Just let this class own its buffer.Sean Silva2013-06-201-4/+4
| | | | llvm-svn: 184456
* Remove a trivial use of sys::Path.Rafael Espindola2013-06-201-12/+5
| | | | llvm-svn: 184455
* Add support for getting the last modification time from a file_status.Rafael Espindola2013-06-201-6/+5
| | | | | | Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus. llvm-svn: 184450
* Use only the filename when deciding if a file is a duplicate.Rafael Espindola2013-06-201-1/+1
| | | | | | Matches gnu ar behavior. llvm-svn: 184448
* Add r184420 back, but also handle long file names.Rafael Espindola2013-06-204-38/+9
| | | | | | | | | | Original message: Don't include directory names in archives. This matches the behavior of both gnu and os x versions of ar. llvm-svn: 184423
* Revert "Don't include directory names in archives."Rafael Espindola2013-06-204-7/+36
| | | | | | | This reverts commit 184420. Investigating the bot failures. llvm-svn: 184421
* Don't include directory names in archives.Rafael Espindola2013-06-204-36/+7
| | | | | | This matches the behavior of both gnu and os x versions of ar. llvm-svn: 184420
* Remove remaining bits of the old LLVM specific symtab handling.Rafael Espindola2013-06-206-231/+10
| | | | llvm-svn: 184418
* Remove more unused functions.Rafael Espindola2013-06-202-81/+0
| | | | llvm-svn: 184416
* Remove unused methods.Rafael Espindola2013-06-202-170/+0
| | | | llvm-svn: 184415
* Use the simpler sys::fs::exists.Rafael Espindola2013-06-201-2/+1
| | | | llvm-svn: 184413
* Convert a use of sys::Path.Rafael Espindola2013-06-201-16/+10
| | | | llvm-svn: 184412
* llvm-dwarfdump: Add support for dumping the .debug_loc sectionDavid Blaikie2013-06-191-0/+1
| | | | | | | | | This is a basic implementation - we still don't have any support (that I know of) for dumping DWARF expressions in a meaningful way, so the location information itself is just printed as a sequence of bytes as we do elsewhere. llvm-svn: 184361
* Remove unused function.Rafael Espindola2013-06-193-31/+3
| | | | llvm-svn: 184359
* Really fix the missing header :-(Rafael Espindola2013-06-191-1/+1
| | | | llvm-svn: 184355
* Add missing include found by the bots.Rafael Espindola2013-06-191-0/+1
| | | | llvm-svn: 184354
* Remove last use of PathV1.h from Archive.hRafael Espindola2013-06-196-26/+39
| | | | | | Store the individual fields we need instead of a sys::FileStatus. llvm-svn: 184353
* Always set the mode.Rafael Espindola2013-06-192-13/+10
| | | | | | | This matches GNU ar behavior. Also remove the now unused getFileStatus method. Not sure how to add a test, it would have to run ls -l or something like that. llvm-svn: 184337
* Remove more uses of sys::Path.Rafael Espindola2013-06-195-52/+46
| | | | llvm-svn: 184328
* Remove unused function.Rafael Espindola2013-06-192-33/+0
| | | | llvm-svn: 184320
* Another attempt at fixing the bots.Rafael Espindola2013-06-191-1/+1
| | | | llvm-svn: 184318
OpenPOWER on IntegriCloud