summaryrefslogtreecommitdiffstats
path: root/llvm/tools
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Attempt at fixing some bots.Rafael Espindola2013-06-191-1/+1
| | | | llvm-svn: 184316
* Reduce sys::Path usage in llvm-ar.Rafael Espindola2013-06-195-35/+39
| | | | llvm-svn: 184315
* Remove the 'R' modifier.Rafael Espindola2013-06-191-45/+4
| | | | | | | It is not present in GNU or OS X versions and doesn't make a lot of sense for llvm-ar. llvm-svn: 184306
* Test commit access.Wan Xiaofei2013-06-191-0/+1
| | | | llvm-svn: 184278
* Remove `using namespace` and use explicit qualification.Sean Silva2013-06-191-3/+2
| | | | | | There were only two places it was actually making anything shorter. llvm-svn: 184273
* Remove spurious space.Sean Silva2013-06-191-1/+1
| | | | llvm-svn: 184272
* Remove unused parameter.Sean Silva2013-06-191-2/+1
| | | | | | | | Not sure why we weren't catching this with -Wunused-parameter... Spotted by inspection. llvm-svn: 184271
* [yaml2obj][ELF] Support ELFOSABI_* enum.Sean Silva2013-06-191-2/+1
| | | | llvm-svn: 184268
* There is no ELF ABI version enum.Sean Silva2013-06-191-1/+0
| | | | llvm-svn: 184267
* [yaml2obj][ELF] Support st_info through `Binding` and `Type` YAML keys.Sean Silva2013-06-191-0/+1
| | | | llvm-svn: 184263
* [yaml2obj][ELF] Don't monkeypatch the YAML sections.Sean Silva2013-06-181-14/+17
| | | | | | | | | | | | | Previously, we would monkeypatch the vector of YAML::Section's in order to ensure that the SHT_NULL entry is present. Now we just add it unconditionally. The proliferation of small numerical adjustments is beginning to frighten me, but I can't think of a way having a single point of truth for them without introducing a whole new layer of data structures (i.e. lots of code and complexity) between the YAML and binary ELF formats. llvm-svn: 184260
* [yaml2obj][ELF] Ensure STN_UNDEF entry is present.Sean Silva2013-06-181-1/+6
| | | | llvm-svn: 184258
* [yaml2obj][ELF] Rudimentary symbol table support.Sean Silva2013-06-181-2/+43
| | | | | | Currently, we only output the name. llvm-svn: 184255
* [yaml2obj][ELF] Add dummy .strtab section.Sean Silva2013-06-181-3/+11
| | | | | | | This will be needed later for holding symbol names, due to the libObject issue mentioned in the commit message of r184161. llvm-svn: 184242
* Convert most uses of PathV1.h in ToolRunner.cpp.Rafael Espindola2013-06-181-25/+35
| | | | llvm-svn: 184210
* Add a version of unique_file that return just the file name.Rafael Espindola2013-06-182-19/+3
| | | | llvm-svn: 184206
* Return a std::string from PrependMainExecutablePath.Rafael Espindola2013-06-181-6/+7
| | | | llvm-svn: 184204
* Remove PathV1.h use from BugDriver.cpp.Rafael Espindola2013-06-181-3/+2
| | | | llvm-svn: 184203
* Remove use of PathV1.h from ExecutionDriver.cpp.Rafael Espindola2013-06-181-24/+37
| | | | llvm-svn: 184202
* Remove usage of PathV1.h from OptimizerDriver.cpp.Rafael Espindola2013-06-181-26/+32
| | | | llvm-svn: 184198
* Convert some uses of eraseFromDisk.Rafael Espindola2013-06-181-3/+3
| | | | llvm-svn: 184196
* Don't use PathV1.h in tools/bugpoint/Miscompilation.cpp.Rafael Espindola2013-06-183-30/+49
| | | | llvm-svn: 184193
* Basic support for parsing Mach-O universal binaries in LLVMObject libraryAlexey Samsonov2013-06-181-0/+18
| | | | llvm-svn: 184191
* Use pointers to the MCAsmInfo and MCRegInfo.Bill Wendling2013-06-184-4/+4
| | | | | | | | | Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
* [yaml2obj][ELF] Factor out string table section creation.Sean Silva2013-06-181-11/+14
| | | | llvm-svn: 184162
* [yaml2obj][ELF] Refer specifically to the section header string table.Sean Silva2013-06-181-17/+17
| | | | | | | | | | | | | | | A bug in libObject will cause it to assert() if a symbol table's string table and the section header string table are the same section, so we need to ensure that we emit two different string tables (among other things). The problematic code is the hardcoded usage of ".strtab" (`dot_strtab_sec`) for looking up symbol names in ELFObjectFile<ELFT>::getSymbolName. I discussed this with Michael, and he has some local improvements to the ELF code in libObject that, among other things, should fix our handling of this scenario. llvm-svn: 184161
* [yaml2obj][ELF] Ensure more fields are zero'd.Sean Silva2013-06-181-0/+2
| | | | | | | | | | | | I was spotting garbage in the output. I'd like to just zero the entire ELFYAML::Section to be sure, but it contains non-POD types. (I'm also trying to avoid bloating the ELFYAML::Foo classes with a bunch of constructor code). No test, since this is by its very nature unpredictable. I'm pretty sure that one of the sanitizers would catch it immediately though. llvm-svn: 184160
* Fix the build with gcc 4.7 and -std=c++11.Rafael Espindola2013-06-171-1/+1
| | | | | | | | | | | The error message was: /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp: In function ‘ld_plugin_status cleanup_hook()’: /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp:461:30: error: cannot pass objects of non-trivially-copyable type ‘std::string {aka class std::basic_string<char>}’ through ‘...’ I will check if this was a clang or gcc issue. llvm-svn: 184138
* Convert two uses of eraseFromDisk.Rafael Espindola2013-06-171-2/+2
| | | | llvm-svn: 184136
* Remove usage of PathV1.h in FindBugs.cpp.Rafael Espindola2013-06-171-2/+2
| | | | llvm-svn: 184122
* [yaml2obj][ELF] Exit with error status on error.Sean Silva2013-06-171-9/+8
| | | | llvm-svn: 184115
* Don't use PathV1.h in CrashDebugger.cpp.Rafael Espindola2013-06-171-8/+5
| | | | llvm-svn: 184109
* Don't use PathV1.h in ToolRunner.h.Rafael Espindola2013-06-177-13/+18
| | | | llvm-svn: 184107
* Remove CBE related code.Rafael Espindola2013-06-171-50/+0
| | | | llvm-svn: 184106
* Don't use PathV1.h in ExtractFunction.cpp.Rafael Espindola2013-06-171-19/+12
| | | | llvm-svn: 184102
* Don't use PathV1.h in tools/gold/gold-plugin.cpp.Rafael Espindola2013-06-171-8/+8
| | | | llvm-svn: 184099
* Don't use PathV1.h in LTOCodeGenerator.cppRafael Espindola2013-06-171-17/+14
| | | | | | | This patch also adds a simpler version of sys::fs::remove and a tool_output_file constructor for when we already have an open file. llvm-svn: 184095
* Don't use PathV1.h in llvm-link.Rafael Espindola2013-06-171-11/+3
| | | | llvm-svn: 184092
* Move lib/Archive to tools/llvm-ar.Rafael Espindola2013-06-179-4/+1857
| | | | | | | llvm-ar is the only tool that needs to write archive files. Every other tool should be able to use the lib/Object interface. llvm-svn: 184083
* Don't link with the archive library programs that don't use it.Rafael Espindola2013-06-177-7/+6
| | | | llvm-svn: 184081
* [yaml2obj] Move some classes into anonymous namespaces.Sean Silva2013-06-151-0/+6
| | | | llvm-svn: 184025
* [yaml2obj] Add support for sh_link via `Link` key.Sean Silva2013-06-151-1/+44
| | | | llvm-svn: 184022
* Remove the LLVM specific archive index.Rafael Espindola2013-06-148-146/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Archive files (.a) can have a symbol table indicating which object files in them define which symbols. The purpose of this symbol table is to speed up linking by allowing the linker the read only the .o files it is actually going to use instead of having to parse every object's symbol table. LLVM's archive library currently supports a LLVM specific format for such table. It is hard to see any value in that now that llvm-ld is gone: * System linkers don't use it: GNU ar uses the same plugin as the linker to create archive files with a regular index. The OS X ar creates no symbol table for IL files, I assume the linker just parses all IL files. * It doesn't interact well with archives having both IL and native objects. * We probably don't want to be responsible for yet another archive format variant. This patch then: * Removes support for creating and reading such index from lib/Archive. * Remove llvm-ranlib, since there is nothing left for it to do. We should in the future add support for regular indexes to llvm-ar for both native and IL objects. When we do that, llvm-ranlib should be reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s". llvm-svn: 184019
* Move PrependMainExecutablePath next to its only user.Rafael Espindola2013-06-141-0/+22
| | | | llvm-svn: 183980
OpenPOWER on IntegriCloud