summaryrefslogtreecommitdiff
path: root/tools/gold
Commit message (Collapse)AuthorAge
...
* Plug a leak in the non-error case by removing one level of indirection.Nick Lewycky2010-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105556 91177308-0d34-0410-b5e6-96231b3b80d8
* Misc cleanups to the gold plugin.Rafael Espindola2010-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105534 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a emit-llvm option to the plugin and make the path argument to ↵Rafael Espindola2010-06-03
| | | | | | also-emit-llvm optional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105414 91177308-0d34-0410-b5e6-96231b3b80d8
* Perfer !string.empty() over string != "".Nick Lewycky2010-06-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105397 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanup.Nick Lewycky2010-06-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105395 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't preserve all symbols in a .so and instead trust gold to know what isRafael Espindola2010-06-03
| | | | | | | needed. The result is that now we are able to drop unnecessary symbol from shared libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105389 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid renaming loadable modules at install time. Now the gold plugin is namedRafael Espindola2010-05-16
| | | | | | | LLVMgold.so both in both the build and install directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103897 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an also-emit-llvm option to the gold plugin.Rafael Espindola2010-05-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103714 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r64616 which worked around http://gcc.gnu.org/PR42757 , we just didn'tNick Lewycky2010-04-16
| | | | | | | know it at the time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101439 91177308-0d34-0410-b5e6-96231b3b80d8
* Create an exports file, so that the plugin only exports the onload symbol.Dan Gohman2010-04-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101431 91177308-0d34-0410-b5e6-96231b3b80d8
* Make things static that don't need to be referenced from outside the file.Dan Gohman2010-04-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101430 91177308-0d34-0410-b5e6-96231b3b80d8
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-22
| | | | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix to pass options from Gold plugin to LTO codegenViktor Kutuzov2009-10-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85419 91177308-0d34-0410-b5e6-96231b3b80d8
* Include config.h in order to have HAVE_STDINT_H be defined.Duncan Sands2009-10-22
| | | | | | | | In the latest binutils the plugin-api.h needs this - without it the LLVM gold plugin fails to compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84861 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel!Nick Lewycky2009-10-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83813 91177308-0d34-0410-b5e6-96231b3b80d8
* Make LLVM command-line tools overwrite their output files without -f.Dan Gohman2009-08-25
| | | | | | | | | | | | | | | | | This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
* Change raw_fd_ostream to take flags as an optional bitmask Chris Lattner2009-08-23
| | | | | | | | | | | | | | | | | | | instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a Force option to raw_fd_ostream to specify whether openingDan Gohman2009-07-15
| | | | | | | | | an existing file is considered an error. Convert several tools to use raw_fd_ostream instead of std::ostream, and to use this new option instead of doing a manual check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75801 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes theJeffrey Yasskin2009-07-01
| | | | | | | | | Windows variant, strerror_s, but I couldn't test that. I'll update configure and config.h.in in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74621 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dead makefile flags.Chris Lattner2009-06-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74065 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the gcc= option. llvm-gcc uses only as=Rafael Espindola2009-06-15
| | | | | | | | | | Look for as in the path. Doing it here instead of llvm-gcc because llvm-gcc has nothing as convenient as sys::Program::FindProgramByName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73383 91177308-0d34-0410-b5e6-96231b3b80d8
* Add option for specifying the path to assembler, "as". This overrides the pathNick Lewycky2009-06-07
| | | | | | | to gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73008 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the CXXFLAGS setting is picked up byDuncan Sands2009-05-16
| | | | | | | | the common Makefile. Not sure why this suddenly started causing problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71925 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow a user of libLTO to specify the full pathname of the gcc executable toNick Lewycky2009-04-30
| | | | | | | | | | run when assembling. Wire this up to the gold plugin. You can now pass --plugin-opt gcc=/foo/bar/gcc and it will run that gcc instead of looking for it on the path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70490 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LTO_SYMBOL_DEFINITION_WEAKUNDEF, use that on the gold plugin.Rafael Espindola2009-04-24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69972 91177308-0d34-0410-b5e6-96231b3b80d8
* Force 'llvm-config' to go first, optionally followed by lto and gold mixed inNick Lewycky2009-02-26
| | | | | | | | | | with the rest of the parallel directories. Build lto when possible on all platforms. Make gold to explicitly depend on libLTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65518 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an option to the gold plugin to make it emit a file with the public apiNick Lewycky2009-02-22
| | | | | | | | | | | list that can in turn be passed to -internalize pass through -internalize-public-api-file. Pass gold -plugin-opt=generate-api-file to produce "apifile.txt" in the current directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65295 91177308-0d34-0410-b5e6-96231b3b80d8
* really fix styleRafael Espindola2009-02-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64923 91177308-0d34-0410-b5e6-96231b3b80d8
* fix styleRafael Espindola2009-02-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64905 91177308-0d34-0410-b5e6-96231b3b80d8
* tools like nm and ar only need register_claim_file and add_symbols. Don't abortRafael Espindola2009-02-17
| | | | | | | | if other hooks are missing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64812 91177308-0d34-0410-b5e6-96231b3b80d8
* Shoot! Remove this debugging line again!Nick Lewycky2009-02-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64617 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't discard definitions of common symbols. Not sure if this is the right fix.Nick Lewycky2009-02-15
| | | | | | | | | | | Before this change, the program: int var; int main(void) { return 0; } when run under 'nm -g' would show 'U var' with the gold plugin and 'B var' with gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64616 91177308-0d34-0410-b5e6-96231b3b80d8
* Free the buffer in the case where we don't create a module out of it, asNick Lewycky2009-02-07
| | | | | | | | | pointed out by Torok Edwin. Remove trailing whitespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64002 91177308-0d34-0410-b5e6-96231b3b80d8
* Free the buffer.Nick Lewycky2009-02-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63907 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the previous commit. It seems it didn'tDuncan Sands2009-02-05
| | | | | | | | | | really solve the problem. Also it changed the name from libLLVMgold to LLVMgold (correcting the name resulted in the original problem suddenly reappearing). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63861 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop llvm-config thinking that there are circularDuncan Sands2009-02-05
| | | | | | | | | dependencies between libraries due to __dso_handle when doing "make install". I don't know what the LINK_COMPONENTS stuff is about, so I left it alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63860 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not obvious, but lto_module_create_from_memory doesn't need to use theNick Lewycky2009-02-05
| | | | | | | | buffer after it creates the Module. Thus, we don't need to store this pointer in claimed_file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63834 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove accidentally included debug message!Nick Lewycky2009-02-05
| | | | | | | Reword a comment for clarity. Remove some extra whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63823 91177308-0d34-0410-b5e6-96231b3b80d8
* Alphabetize includes. Update comment.Torok Edwin2009-02-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63771 91177308-0d34-0410-b5e6-96231b3b80d8
* mention that PIC is needed for libLTO and libLLVMgoldTorok Edwin2009-02-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63755 91177308-0d34-0410-b5e6-96231b3b80d8
* remove printf - it was there only for debugging!Torok Edwin2009-02-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63742 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for .a files containing LLVM IR to the gold pluginTorok Edwin2009-02-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63741 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVM plugin for gold.Nick Lewycky2009-02-03
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63623 91177308-0d34-0410-b5e6-96231b3b80d8