summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ld/llvm-ld.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make sure command line options are parsed before we try to add the LibPathReid Spencer2006-03-061-4/+4
| | | | | | (-L options) to TheLinker. Problem noticed by Wink Saville. llvm-svn: 26571
* For PR521:Reid Spencer2006-01-101-1/+2
| | | | | | | | | 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. llvm-svn: 25169
* Implement PR512:Reid Spencer2005-12-211-0/+39
| | | | | | | | | | | | 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. llvm-svn: 24893
* Adjust the constructor to the Linker class to take an argument that namesReid Spencer2005-12-131-1/+1
| | | | | | | | 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. llvm-svn: 24699
* Final Changes For PR495:Reid Spencer2005-07-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 22354
* For PR495:Reid Spencer2005-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 22349
* Remove trailing whitespaceMisha Brukman2005-04-221-20/+20
| | | | llvm-svn: 21428
* The first argument to ExecuteAndWait should be the program name, but pointedChris Lattner2005-04-101-9/+12
| | | | | | out by Markus F.X.J. Oberhumer. llvm-svn: 21211
* Conform to the documented interface by null terminating argument lists!Chris Lattner2005-02-131-0/+3
| | | | llvm-svn: 20167
* Use binary mode for reading/writing bytecode filesJeff Cohen2005-01-221-1/+3
| | | | llvm-svn: 19751
* For PR351:Reid Spencer2004-12-301-117/+124
| | | | | | | | | | * 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. llvm-svn: 19192
* Correct compilation for Cygwin. FindExecutable now returns a sys::Path.Reid Spencer2004-12-221-3/+3
| | | | llvm-svn: 19109
* Fix the Win32 buildMisha Brukman2004-12-221-1/+1
| | | | llvm-svn: 19088
* Make parameters to CopyFile use explicit instantiation of sys::Path.Reid Spencer2004-12-221-1/+1
| | | | llvm-svn: 19086
* For PR351:Reid Spencer2004-12-191-14/+16
| | | | | | * Support changes in sys::Program::ExecuteAndWait interface llvm-svn: 19044
* sys::CopyFile returns void and throws an exception on error which will beReid Spencer2004-12-181-4/+1
| | | | | | caught by llvm-ld's main function. llvm-svn: 19030
* The CopyFile function got moved into the sys namespace.Reid Spencer2004-12-181-1/+1
| | | | llvm-svn: 19026
* For PR351:Reid Spencer2004-12-161-10/+13
| | | | | | | | | | | * 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 llvm-svn: 19001
* For PR351:Reid Spencer2004-12-141-67/+40
| | | | | | | * Change ExecWait calls to sys::Program::ExecuteAndWait * Convert to use sys::Path where it makes sense llvm-svn: 18929
* For PR351:Reid Spencer2004-12-131-4/+5
| | | | | | Adjust to interface change for FindExecutable. llvm-svn: 18920
* For PR351:Reid Spencer2004-12-131-3/+3
| | | | | | | Replace MakeFileReadable and MakeFileExecutable (from FileUtilities) with sys::Path::makeReadable and sys::Path:makeExecutable, respectively. llvm-svn: 18909
* Make the loop termination condition clear when building the set of items toReid Spencer2004-12-131-3/+1
| | | | | | pass to the Linker::LinkInItems function. llvm-svn: 18894
* Convert to use new Linker class interfaceReid Spencer2004-12-131-19/+57
| | | | llvm-svn: 18864
* When -link-as-library, add -l options to Module's deplibsReid Spencer2004-12-081-1/+8
| | | | llvm-svn: 18617
* Fix PR139:\Reid Spencer2004-12-051-19/+20
| | | | | | | When not linking as a library, use LinkItems to retain command line order of \ linking, otherwise use LinkFiles llvm-svn: 18549
* Incorporate GenerateCode.cpp. Make static things static.Reid Spencer2004-11-201-110/+297
| | | | llvm-svn: 18048
* Linker.h has a new home.Reid Spencer2004-11-141-1/+1
| | | | llvm-svn: 17801
* Fix usage of changed function prototypeReid Spencer2004-11-141-5/+5
| | | | llvm-svn: 17798
* Add some missing #includesReid Spencer2004-09-251-4/+8
| | | | llvm-svn: 16517
* Initial implementation of llvm-ld: stolen from gccld.Reid Spencer2004-09-131-0/+303
llvm-svn: 16305
OpenPOWER on IntegriCloud