summaryrefslogtreecommitdiff
path: root/tools/gccld
Commit message (Collapse)AuthorAge
* For PR797:Reid Spencer2006-08-23
| | | | | | | Remove exception throwing from Path::getDirectoryContents and its users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29841 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR797:Reid Spencer2006-08-22
| | | | | | | 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
* For PR797:Reid Spencer2006-08-21
| | | | | | | | | 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
* Use Path::getFileStatus to get status-related info.Chris Lattner2006-08-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29444 91177308-0d34-0410-b5e6-96231b3b80d8
* Tools require EH for their top-level try blocks.Chris Lattner2006-07-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29035 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner2006-06-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-01
| | | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28610 91177308-0d34-0410-b5e6-96231b3b80d8
* Free memory allocated by copy_env.Chris Lattner2006-05-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28299 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR521:Reid Spencer2006-01-10
| | | | | | | | | | 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
* Implement PR679:Reid Spencer2005-12-22
| | | | | | | | | | | * Changed the -rpath option from cl::opt to cl::list * Changed the interface to GenerateNative to take a std::vector<std::string> instead of just a std::string * Changed GenerateNative to generate multiple -Wl,-rpath, options to be passed to gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24930 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove -start-group and -end-group no-op options, accidentally committedReid Spencer2005-12-14
| | | | | | | in last patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24710 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust the constructor to the Linker class to take an argument that namesReid Spencer2005-12-13
| | | | | | | | | 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
* Allow users to specify -Wl,-native* multiple times if they pleaseChris Lattner2005-11-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24392 91177308-0d34-0410-b5e6-96231b3b80d8
* add a hack that fixes:Chris Lattner2005-11-03
| | | | | | | | | | | llvm-gcc main.c -Wl,-native -o a.out -g This is important because it used by many configure scripts. John, please pull this onto the 1.6 branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24163 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some constant folding code shared by Analysis and Transform passesJohn Criswell2005-10-27
| | | | | | | | | into the LLVMAnalysis library. This allows LLVMTranform and LLVMTransformUtils to be archives and linked with LLVMAnalysis.a, which provides any missing definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove libraries no longer created from the list of libraries linked into theJohn Criswell2005-10-26
| | | | | | | | | | | SparcV9 JIT. 2. Make LLVMTransformUtils a relinked object file and always link it before LLVMAnalysis.a. These two libraries have circular dependencies on each other which creates problem when building the SparcV9 JIT. This change fixes the dependency on all platforms problems with a minimum of fuss. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR637Chris Lattner2005-10-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23784 91177308-0d34-0410-b5e6-96231b3b80d8
* Speed up isBytecodeLPath from 20s to .01s in common cases. This makes -nativeChris Lattner2005-09-23
| | | | | | | | not completely painful to use. Once we decide a directory has a bytecode library, we know it this function returns true, no need to scan entire directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23405 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Do not use .c_str() to keep a persistent handle on a temporary string.Chris Lattner2005-09-23
| | | | | | | | | 2. Concatenate -lfoo and -L/bar options into a single option instead of passing "-L /bar" (for example) which doesn't work on Darwin. 3. Send -v output to stderr instead of stdout git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23404 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass -export-dynamic to gcc when compiling with -native and the link isChris Lattner2005-08-02
| | | | | | | | | performed with -export-dynamic (aka. -disable-internalize). Patch by Nicholas Riley! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22601 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure we don't error out if an invalid path is used, just simplyReid Spencer2005-07-08
| | | | | | | exit from isBytecodeLPath with "false". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22360 91177308-0d34-0410-b5e6-96231b3b80d8
* Final Changes For PR495:Reid Spencer2005-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* For PR495:Reid Spencer2005-07-07
| | | | | | | | | | | | | | | | | | | | | | 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
* There are still uses for spaces in Makefiles -- to make text line up together,Misha Brukman2005-04-24
| | | | | | | regardless of the tab size/stop settings on the developer side git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21499 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate trailing spaces at end-of-lineMisha Brukman2005-04-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21372 91177308-0d34-0410-b5e6-96231b3b80d8
* Consistently eschew space between `*' or `&' and function argument nameMisha Brukman2005-04-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21371 91177308-0d34-0410-b5e6-96231b3b80d8
* * Print commands as we execute them with `-v'Misha Brukman2005-04-20
| | | | | | | | * Add option `-save-temps' Patch contributed by Markus Oberhumer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21367 91177308-0d34-0410-b5e6-96231b3b80d8
* The first argument to ExecuteAndWait should be the program name, but pointedChris Lattner2005-04-10
| | | | | | | out by Markus F.X.J. Oberhumer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21211 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to enable creation of native executables directly from gccld and toReid Spencer2005-02-28
| | | | | | | | ensure that -L paths don't contain both bytecode and native libraries. This patch contributed by Adam Treat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20370 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to null terminate argument lists!Chris Lattner2005-02-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20166 91177308-0d34-0410-b5e6-96231b3b80d8
* Use binary mode for reading/writing bytecode filesJeff Cohen2005-01-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19751 91177308-0d34-0410-b5e6-96231b3b80d8
* Use explicit construction of sys::Path from std::string because theReid Spencer2004-12-21
| | | | | | | constructor is "explicit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19078 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR351:Reid Spencer2004-12-19
| | | | | | | * Support changes in sys::Program::ExecuteAndWait interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19044 91177308-0d34-0410-b5e6-96231b3b80d8
* sys::CopyString throws an exception on error which will be caught by gccldReid Spencer2004-12-18
| | | | | | | main function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19029 91177308-0d34-0410-b5e6-96231b3b80d8
* The CopyFile function got moved into the sys namespace.Reid Spencer2004-12-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19026 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR351:Reid Spencer2004-12-16
| | | | | | | | | | | | * 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
* For PR351:Reid Spencer2004-12-14
| | | | | | | | * 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
* For PR351:Reid Spencer2004-12-13
| | | | | | | Adjust to interface change for FindExecutable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18920 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR351:Reid Spencer2004-12-13
| | | | | | | | 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
* Make the loop termination condition clear when building the set of items toReid Spencer2004-12-13
| | | | | | | pass to the Linker::LinkInItems function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18894 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert to use new Linker class interfaceReid Spencer2004-12-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18864 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not internalize a module if -link-as-library is passed.Chris Lattner2004-12-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18825 91177308-0d34-0410-b5e6-96231b3b80d8
* This pass is no longer needed.Chris Lattner2004-12-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18782 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn on ipsccp by default instead of simple IPCPChris Lattner2004-12-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18753 91177308-0d34-0410-b5e6-96231b3b80d8
* When -link-as-library, add -l options to Module's deplibsReid Spencer2004-12-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18617 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR139:\Reid Spencer2004-12-05
| | | | | | | | 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
* Recognize --strip-all as a synonym for -s.Chris Lattner2004-12-02
| | | | | | | Add -S and --strip-debug option support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18441 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVMbzip2 library, now required.Reid Spencer2004-11-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18255 91177308-0d34-0410-b5e6-96231b3b80d8
* -disable-opt is not -O0, it's okay for it to disable internalize.Chris Lattner2004-11-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17911 91177308-0d34-0410-b5e6-96231b3b80d8