History log of /external/llvm/tools/llvm-ld/llvm-ld.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b0934ab7d811e23bf530371976b8b35f3242169c 19-Feb-2012 Ahmed Charles <ace2001ac@gmail.com> Remove dead code. Improve llvm_unreachable text. Simplify some control flow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
9421406aada374f79ce2f8e576824463f7830981 23-Dec-2011 Dylan Noblesmith <nobled@dreamwidth.org> drop unneeded config.h includes



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c9c08fb3a7fb5e8ea3e1477a88507704c7a70ba1 31-Mar-2011 Michael J. Spencer <bigcheesegs@gmail.com> Switch FileRemover from PathV1 to V2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
fea2b517cfce217e7a0a46f25960798937efbca6 09-Feb-2011 NAKAMURA Takumi <geek4civic@gmail.com> tools/llvm-ld: Cygwin can handle #!shbang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
7cefd0e9d596e0adc45b693d3f18d53ed0db259b 14-Jan-2011 Ted Kremenek <kremenek@apple.com> Fix memory leak found by clang static analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123487 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
738550910156b5cefdc0c12923ec8cc6982fb26f 18-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/PathV1: Deprecate get{Basename,Dirname,Suffix}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
fffa8635361639acadb78089c5b9b445c0aa1d30 18-Dec-2010 Owen Anderson <resistor@mac.com> Revert r122143 through r122140, which collectively broke the LLVMC tests on
the buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
b9c767cce502f016a5bdb07884625a3fffbe048c 18-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/PathV1: Deprecate get{Basename,Dirname,Suffix}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
d66f2b74f2f01bb1f6c7d0f1b8408bd24ffa654c 03-Nov-2010 Mikhail Glushenkov <foldr@codedgers.com> Rename FindExecutable to PrependMainExecutablePath.

Makes it more clear that it is just a path manipulation function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c8aef4b2ea23f7da3668f35872ee5bd8df28bcc0 02-Nov-2010 Mikhail Glushenkov <foldr@codedgers.com> GetDLLSuffix: Remove the leading dot from LTDL_SHLIB_EXT.

This allows using GetDLLSuffix() with appendSuffix().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
572ec1f3c0fd2386ce8a7dbeb7c15b3ac8ab1878 02-Nov-2010 Mikhail Glushenkov <foldr@codedgers.com> Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
081c34b725980f995be9080eaec24cd3dfaaf065 19-Oct-2010 Owen Anderson <resistor@mac.com> Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
e4f1a9b8a272ff7452759019ee7774e9dbdf1568 07-Oct-2010 Dan Gohman <gohman@apple.com> Move tool_output_file into its own file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
d4c454317a38d65957edebe62bfc69fc8d9885e8 01-Sep-2010 Dan Gohman <gohman@apple.com> Make tool_output_file's raw_ostream instance a member variable instead
of a base class.

This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
f29140106f74d15ba357aa0a7f109adc939c3104 20-Aug-2010 Dan Gohman <gohman@apple.com> Convert tools to use tool_output_file, and introduce error
checking to places which previously lacked it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
4bb122e5ac5727088d77fcad6c583b5d74ba9f9a 20-Aug-2010 Dan Gohman <gohman@apple.com> Print chatty verbose messages to errs() instead of outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
199b66a535a131000b9f824ded2c59f4a5f8b683 07-May-2010 Chris Lattner <sabre@nondot.org> don't pass -f to llc, it doesn't have it anymore. Patch by Kevin Fan (PR7090)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
43bc70ebef7faafbe986dbc5950db0e56e9f05b4 17-Apr-2010 Dan Gohman <gohman@apple.com> Fix more -Wcast-qual warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
132a9946bf494f046ca61b95cea02a53804845c4 30-Mar-2010 Dan Gohman <gohman@apple.com> Fix llvm-ld to clean up its output files in case of an error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
46475cb08e5ac0bb66d23a134e95abcc95dc9ddf 27-Mar-2010 Chris Lattner <sabre@nondot.org> revert r99719 which is breaking the botz.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
00ad2785002098bf4c1bd052d67c33eada9d6fc6 27-Mar-2010 Dan Gohman <gohman@apple.com> Make llvm-ld remove its output files in the event of an error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
92f5fccb4d35b2dc775ee8f69d11d2b8b2df7e9d 27-Mar-2010 Dan Gohman <gohman@apple.com> No need to check the same condition twice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
51ecc389a9b6ae82ff799a62cde882629fad53b0 24-Mar-2010 Dan Gohman <gohman@apple.com> Trim #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
34b96f4fb369ab3b4cabcfb3d3b4bbb9e201aaf4 24-Mar-2010 Dan Gohman <gohman@apple.com> It's not necessary to call raw_ostream::close explicitly on automatic
raw_ostream variables immediately before they go out of scope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
25c54c09efcaa2c893147621ad62312023946d59 23-Mar-2010 Chris Lattner <sabre@nondot.org> make sure to delete the llvm module before calling llvm_shutdown,
this fixes crashes in error cases, PR6683


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
12ea66a7277240c5b045ed14c140f94d453eea0e 28-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Replace strcpy with memcpy when we have the length around anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
316e3268a8ba371b92ec57952a4c1ee1ef6ae5ce 22-Oct-2009 Chris Lattner <sabre@nondot.org> llvm-ld doesn't throw.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
baa26395ccf17fc988bb9cf62d6659ca8415ece9 25-Aug-2009 Dan Gohman <gohman@apple.com> Make LLVM command-line tools overwrite their output files without -f.
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
/external/llvm/tools/llvm-ld/llvm-ld.cpp
74382b7c699120fbec5cb5603c9cf4212eb37f06 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
17e9edc4a7bbeadf756494cf39fcacc9eff72202 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change raw_fd_ostream to take flags as an optional bitmask
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
/external/llvm/tools/llvm-ld/llvm-ld.cpp
8608cf23dae982c7435120d800eaec2fca410ff6 05-Aug-2009 Dan Gohman <gohman@apple.com> Use (void *)(intptr_t) to cast function addresses to void*
for use with sys::Path::GetMainExecutable, to avoid warnings
with -pedantic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
197f728d49fa0cc0baa5aadb2b905fbd8c22a81e 05-Aug-2009 Dan Gohman <gohman@apple.com> Fix FindExecutable to use sys::Path::GetMainExecutable instead of
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.

Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
d7de7bc2971c7aba0bcd4537cfd1b9c2fff44036 22-Jul-2009 Sanjiv Gupta <sanjiv.gupta@microchip.com> Added -b option to override the default bitcode output file name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
ac95cc79ac0b899d566cc29c0f646f39c2fa35c0 16-Jul-2009 Dan Gohman <gohman@apple.com> Convert more tools code from cerr and cout to errs() and outs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
ff9834ab9daeee25dbb67ae5e2341930cde46c86 16-Jul-2009 Daniel Dunbar <daniel@zuster.org> Kill off last uses of TargetMachineRegistry class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
0d7c695c74ae6d5f68cc07378c17491915e607d3 16-Jul-2009 Owen Anderson <resistor@mac.com> To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.

This will let us to hardwire stuff to the global context in the short term while the API is sorted out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
31895e73591d3c9ceae731a1274c8f56194b9616 01-Jul-2009 Owen Anderson <resistor@mac.com> Hold the LLVMContext by reference rather than by pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
cc14d25dd99e891c586bd56aa41796abbe4ac3d8 06-Mar-2009 Chris Lattner <sabre@nondot.org> Change various llvm utilities to use PrettyStackTraceProgram in
their main routines. This makes the tools print their argc/argv
commands if they crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
5d5a8975298f037e1b1787ae675cfdc66b766fc3 05-Jan-2009 Chris Lattner <sabre@nondot.org> make llvm-ld smart enough to link against native libraries that are
not in system library directories by checking -L paths as well.
Patch by Axel Naumann!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
0c6ba44890e583b5822f225c9e96e9b2d357ebe4 19-Nov-2008 Andrew Lenharth <andrewl@lenharth.org> ignore the -m elf_i386 directive used in the linux kernel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
ca29dffa164d4d265fb32b320d758cdbd9d903ac 27-Jun-2008 Argyrios Kyrtzidis <akyrtzi@gmail.com> Since we are using GCC to assemble the program, make sure the assembly syntax is AT&T.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
48cca1fd4636879460a9cbe2aff4875c073c4bd2 15-Jun-2008 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add an "exe" suffix only if the output file has no suffix at all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
1662183a83063313af24708c323817daf4bad195 15-Jun-2008 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make sure all produced executable files have "exe" suffix on Windows.
With this more general way, -native and -native-cbe options are handled too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
5b90a7296cdf70e5b6eca9edf28fcda74f4551bf 15-Jun-2008 Argyrios Kyrtzidis <akyrtzi@gmail.com> Append "exe" suffix to executable files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
ae9f3a3b7c915f725aef5a7250e88eaeddda03c6 20-Feb-2008 Anton Korobeynikov <asl@math.spbu.ru> Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
3992f5231a592c1c0ffca1c021152d3fabd2eae2 27-Jan-2008 Chris Lattner <sabre@nondot.org> Add support for frameworks. Patch by Shantonu Sen!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
03a1c7ae3d1939e2fe4259c4f1aff7c0b65e9fa1 09-Jan-2008 Chris Lattner <sabre@nondot.org> Fix llvm-ld -Xlinker, patch by Daniel Teske!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
21c62da287237d39d0d95004881ea4baae3be6da 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
82a13c9c4811e40d0ff858c508cb54d672ee926e 08-Oct-2007 Dan Gohman <gohman@apple.com> Move the space in overview output for commands out of each of the
commands and into the common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
0a4c8de81ca3b900e5ae9590392f276644839495 23-Jul-2007 Reid Spencer <rspencer@reidspencer.com> Remove dead option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
a99be51bf5cdac1438069d4b01766c47704961c8 05-Jul-2007 Gabor Greif <ggreif@gmail.com> Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
3f931b8c0e3f27aeb52d8acf209c64e182defb3f 19-Jun-2007 Chris Lattner <sabre@nondot.org> Fix pr1448


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
44dadffe4bd58ab32961ca5fe537e8ba69c09243 06-May-2007 Chris Lattner <sabre@nondot.org> switch tools to bitcode instead of bytecode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
bb3f3d357fb25a39c9b4ca9a5ace047b5efd518c 06-May-2007 Chris Lattner <sabre@nondot.org> add bitcode support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
3b726396abf581c879e38ed2e3c8d77e3e41a447 30-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Augment the verbose output to print out the sub-commands executed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c82a5da049774631a63584601ddb840ca4cee07a 04-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1302:
Rename LinkItems as NativeLinkItems since it is filled out by the Linker
library to contain only those items deemed to be native.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
9ba8a76f8baaa1092d60ccfbc04e7efdc207c98f 16-Feb-2007 Anton Korobeynikov <asl@math.spbu.ru> Add possibility to set memory limit for binaries run via libSystem. This
is especially needed for bugpoint. This partly implements PR688


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
708585ad8f3fcf9d54d6738b83d22b023f775429 09-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Clean up error handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
98a030c4680b984a06abf79273873295c7634cd7 08-Feb-2007 Reid Spencer <rspencer@reidspencer.com> For PR1153:
Copy a couple more missing options from gccld to llvm-ld.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
17be6791b8b22b36850340a44a6f05de5c3cbf85 21-Jan-2007 Chris Lattner <sabre@nondot.org> default to emiting an uncompressed .bc file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c30598bc3ad792eb8cc75b188eb872a28c62ab71 06-Dec-2006 Chris Lattner <sabre@nondot.org> make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.

With this change, I can now move -stats to print when llvm_shutdown is called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
68fe61d6a165ea6090008e281330895a21607daf 29-Nov-2006 Bill Wendling <isanbard@gmail.com> Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
2803b4cc581af06bf99af5ddc3353836c63d1562 11-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Minor style fixes from review.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
4952143236afe43b974798c45ed265bb175c9d7f 11-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR998:
Fix an infinite loop in the Linker and a few other assorted link problems.

Patch contributed by Scott Michel. Thanks, Scott!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
7b28955c4c879343a6ba1b335823334f0bb4c16d 05-Nov-2006 Reid Spencer <rspencer@reidspencer.com> Fix a problem in the the last patch that subverts error message printing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
d41b30def3181bce4bf87e8bde664d15663165d0 05-Nov-2006 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
7d5154490357a0cb12383e15a57640d9c20644a1 01-Sep-2006 Anton Korobeynikov <asl@math.spbu.ru> - Fixed broken Win32 build
- Removed warning about clobbered parameter in Bytecode/Reader


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
5a060775da43ec2ef37e839e93a0805d543708a9 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
e5c9cb5eb6bce502faaedea04014dab46f6540f4 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
e1647f46982c67b68f40ec6d775f165cacf0a9dc 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Change the Path::make*OnDisk methods exception free and adjust their usage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
8ea5ecb0564b8822c70ad84202471f03e2690da7 21-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Adjust usage of the ExecuteAndWait function to use the last argument which
is the ErrMsg string. This is necessitated because this function no longer
throws exceptions on error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
e2f8ad854d6c07d89ddfa281c8459d4d7c3a5095 27-Jun-2006 Devang Patel <dpatel@apple.com> Fix cut-n-pasto in comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
af303d53e6013417d189621c75179df6c7cbdcde 08-Jun-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
2f86362af8a404d326acd85c4803d5538c47b689 14-May-2006 Chris Lattner <sabre@nondot.org> Delete memory allocated by CopyEnv


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
78df5c3121b2fa212354faaab32d81c8399bcbb4 06-Mar-2006 Reid Spencer <rspencer@reidspencer.com> Make sure command line options are parsed before we try to add the LibPath
(-L options) to TheLinker. Problem noticed by Wink Saville.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
f4484f3e16e19377af27f062ca8a0450616d319a 10-Jan-2006 Reid Spencer <rspencer@reidspencer.com> For PR521:
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
73a74be705bbcc6c31412acd09306087174b42b5 21-Dec-2005 Reid Spencer <rspencer@reidspencer.com> Implement PR512:
This patch adds a -post-link-opts option to llvm-ld which allows an arbitrary
program to optimize bytecode after linking. The program is passed two file
names. The first is the input (linked bytecode) the second is where it must
place its output (presumably after optimizing). If the output file is bytecode,
it is used as a substitute for the input. This will allow things like poolalloc
to be written as a separate program instead of a loadable module or built into
LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
328ead9fce26b505857234de0e3508b3372e2e6d 13-Dec-2005 Reid Spencer <rspencer@reidspencer.com> Adjust the constructor to the Linker class to take an argument that names
the module being constructed. This is used to correctly name the module.
Previously the name of the linker tool was used which produces confusing
output when the module identifier is used in an error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
a229c5cce75209047db32c6039aa0b0fd481f049 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> Final Changes For PR495:

This chagne just renames some sys::Path methods to ensure they are not
misused. The Path documentation now divides methods into two dimensions:
Path/Disk and accessor/mutator. Path accessors and mutators only operate
on the Path object itself without making any disk accesses. Disk accessors
and mutators will also access or modify the file system. Because of the
potentially destructive nature of disk mutators, it was decided that all
such methods should end in the work "Disk" to ensure the user recognizes
that the change will occur on the file system. This patch makes that
change. The method name changes are:

makeReadable -> makeReadableOnDisk
makeWriteable -> makeWriteableOnDisk
makeExecutable -> makeExecutableOnDisk
setStatusInfo -> setStatusInfoOnDisk
createDirectory -> createDirectoryOnDisk
createFile -> createFileOnDisk
createTemporaryFile -> createTemporaryFileOnDisk
destroy -> eraseFromDisk
rename -> renamePathOnDisk

These changes pass the Linux Deja Gnu tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
dd04df0ec33a903ee7fc747701bafde622f77d8b 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> For PR495:
Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:

appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set

Changes pass Dejagnu and llvm-test/SingleSource tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
3da94aec4d429b2ba0f65fa040c33650cade196b 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
bf9add47452cb413263e61ffe4db21f73118e40b 10-Apr-2005 Chris Lattner <sabre@nondot.org> The first argument to ExecuteAndWait should be the program name, but pointed
out by Markus F.X.J. Oberhumer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
7456e3ce3874ed99807a1394011c4b0c6e2ecaa0 14-Feb-2005 Chris Lattner <sabre@nondot.org> Conform to the documented interface by null terminating argument lists!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
5fb6ed4ae608c6f7ef589f1069b5dd5c7bdbd60b 22-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Use binary mode for reading/writing bytecode files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
1ef8bdaedbd98bee35a573b8bc87149f2182cb5e 30-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
8d8b41d3f1bf708b3a2212806cfd749d83403277 22-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Correct compilation for Cygwin. FindExecutable now returns a sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
81417b631ac903fed0e31ff009a42f24a539afb7 22-Dec-2004 Misha Brukman <brukman+llvm@gmail.com> Fix the Win32 build


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
bf427630a0388b727805baee5c3daec11604794f 22-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Make parameters to CopyFile use explicit instantiation of sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
f6358c75eb393ae579aace88a1152f39b2a924f4 19-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* Support changes in sys::Program::ExecuteAndWait interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
06c06dbaafbc30e7926b3bcbbe6f8a0887cbfc62 18-Dec-2004 Reid Spencer <rspencer@reidspencer.com> sys::CopyFile returns void and throws an exception on error which will be
caught by llvm-ld's main function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
1bd2653c8f0a683d4a405ef5887e77cc662d78bc 18-Dec-2004 Reid Spencer <rspencer@reidspencer.com> The CopyFile function got moved into the sys namespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
5f76760c880e6d61c229d2058c5699b033caeae1 17-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* removeFile() -> sys::Path::destroyFile()
* remove extraneous toString() calls
* convert local variables representing path names from std::string to
sys::Path
* Use sys::Path objects with FileRemove instead of std::string
* Use sys::Path methods for construction of path names


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
6da1e0d50fabbe3ab9e68d9640cc1ed2fd44ae6e 14-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
* Change ExecWait calls to sys::Program::ExecuteAndWait
* Convert to use sys::Path where it makes sense


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
93f8f55e19c29e1889dc72eb62292c383e76d3a0 14-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
Adjust to interface change for FindExecutable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
319cdeccd16a6e1da087ff654e6fb7060b07fe55 13-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
Replace MakeFileReadable and MakeFileExecutable (from FileUtilities) with
sys::Path::makeReadable and sys::Path:makeExecutable, respectively.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
05f7e7991b817e46cb0bd387459dcb543e572ce2 13-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Make the loop termination condition clear when building the set of items to
pass to the Linker::LinkInItems function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c40641347131c15e5b8ace6d7b2abbbb51828833 13-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Convert to use new Linker class interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
6b463b261e1eba8e5bfd14ccc81f6e747e8cd523 08-Dec-2004 Reid Spencer <rspencer@reidspencer.com> When -link-as-library, add -l options to Module's deplibs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c191d497d54e42880ea662fff48759f53143f8ed 05-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Fix PR139:\
When not linking as a library, use LinkItems to retain command line order of \
linking, otherwise use LinkFiles


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
445564a0bc98d4654de66cbddbd29eb1f502a2b1 20-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Incorporate GenerateCode.cpp. Make static things static.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
605b9e2c5bd1b0c151a0b15d01e6df3aba93d52f 15-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Linker.h has a new home.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
227b6d00dd1faee07c921c7e2256e0fca737d2e5 14-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Fix usage of changed function prototype


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
aefd04b6d0a5a3ad0011b8dffe9e5c9b88247bf7 25-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Add some missing #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp
c0af3f00529eefd09c708e9ef6827f5199c4fd77 13-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Initial implementation of llvm-ld: stolen from gccld.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ld/llvm-ld.cpp