aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gccld/gccld.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
* The functions in Signal.h are now in the llvm::sys namespace - adjustReid Spencer2004-08-291-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
* Linker.h moved to include/llvm/SupportMisha Brukman2004-06-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14351 91177308-0d34-0410-b5e6-96231b3b80d8
* Make gccld copy the llvm-stub program to be the execution wrapper forChris Lattner2004-06-021-1/+16
| | | | | | | | | | | | bytecode files on win32 systems. We keep the shell script on unix systems because it is much more transparent for the users and supports -load options. This allows llvmgcc work correctly on win32 systems without the -native or -native-cbe options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13946 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some functions out of gccld.cpp to GenerateCode.cpp. This allows usChris Lattner2004-06-021-95/+3
| | | | | | | | to reduce the inter-file interface in the gccld tool and gets some uninteresting code out of gccld.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13942 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor a bit of code into a function, no functionality changes.Chris Lattner2004-06-021-29/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13941 91177308-0d34-0410-b5e6-96231b3b80d8
* Header file movedChris Lattner2004-05-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the user to set the LLVMINTERP environment variable as a workaround, forBrian Gaeke2004-05-071-2/+5
| | | | | | | | | | | | | when they have to run a gccld shell script without having lli in their path. This is intended to address Bug 289. Also, emit the traditional syntax ${1+"$@"} for passing all of a shell script's args to a subprocess. If you have arguments that have spaces in them, $* will not preserve the quoting (i.e., the quoted string "foo bar" as an argument will end up as two arguments "foo" "bar" to lli.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13414 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new gccld -native-cbe option which causes gccld to generate native codeChris Lattner2004-04-061-0/+27
| | | | | | | for the application with the C backend instead of the native LLVM code generator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12698 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to print a stack trace whenever an error signal is delivered toChris Lattner2004-02-191-0/+1
| | | | | | | the tool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11633 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the -h option for compatibility with other linkers.John Criswell2003-12-091-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10335 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compatibility with gcc 3.4Chris Lattner2003-11-291-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10262 91177308-0d34-0410-b5e6-96231b3b80d8
* I'm gonna be picky and say we don't really need that trailing slash "lib/"Misha Brukman2003-11-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10196 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure we ONLY add a `-load' switch to the JIT command line if the file isMisha Brukman2003-11-241-1/+2
| | | | | | | verified as having an ELF header. This fixes PR151. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10195 91177308-0d34-0410-b5e6-96231b3b80d8
* When writing out the runner script, add -load=<lib> lines to pull in all theMisha Brukman2003-11-201-1/+18
| | | | | | | shared objects automagically, so it doesn't have to be done by hand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10114 91177308-0d34-0410-b5e6-96231b3b80d8
* * Doxygenified comments, simplifying them and shortening in the processMisha Brukman2003-11-201-67/+43
| | | | | | | * Eliminated extra space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10104 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not assume the first file is a bytecode file. Instead, construct a dummyBrian Gaeke2003-11-051-5/+3
| | | | | | | | | Module and link things into that. Also, fix a typo in an error message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9748 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -r work, fixing PR 91Chris Lattner2003-11-051-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9724 91177308-0d34-0410-b5e6-96231b3b80d8
* If linking a library, do not link other libraries, like libc, into it!Chris Lattner2003-11-031-1/+4
| | | | | | | This fixes lots of annoying warnings and error messages git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9677 91177308-0d34-0410-b5e6-96231b3b80d8
* lli -q is history. Rebuild your gccld shell scripts, folks!Brian Gaeke2003-10-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9494 91177308-0d34-0410-b5e6-96231b3b80d8
* fix file headerChris Lattner2003-10-201-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9294 91177308-0d34-0410-b5e6-96231b3b80d8
* Added copyright header to all C++ source files.John Criswell2003-10-201-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Misha Brukman2003-10-101-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
* * Ordered includes according to LLVM styleMisha Brukman2003-09-301-70/+18
| | | | | | | | | | * Put function signatures on one line if possible * Deleted empty comment lines (^//$) * Deleted braces around single statements * Deleted space between function call and argument list git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8775 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Use better error messages in LinkFiles().Brian Gaeke2003-09-301-1/+2
| | | | | | | | | 2. I think the caller of LinkFiles() should not ignore a true return value. (If you have a good reason why it ought to, feel free to revert this. It's just something that's been bugging me for a while.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8760 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cleanups:Chris Lattner2003-09-221-38/+15
| | | | | | | | | | | | * Local header file goes at top * Remove unneeded #includes * Wrap code at 80 columns * Declare variables where they are used * 'register' is not needed * Use 'unsigned' instead of 'int' variables where possible git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8657 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed linking functionality from gccld.cpp and moved it to linker.cpp.John Criswell2003-09-191-207/+155
| | | | | | | | | | | | | | Renamed functions that were all lower-case. Moved functions from util.cpp into linker.cpp or gccld.cpp. Removed util.h and created gccld.h. Refactored the linker functionality in linker.cpp so that it is easier to follow, easier to modify, and it's library/object file search behavior is easier to understand and document. Added code to include library paths when doing native linking, but this causes problems and is currently #ifdef'd out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8609 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactored gccld into three C++ source files.John Criswell2003-09-181-313/+60
| | | | | | | | Added code ignore bytecode link failures when generating native code. Moved native code and bytecode generation out of the main() function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8595 91177308-0d34-0410-b5e6-96231b3b80d8
* Replaced the call to strdup() with a new operator followed by a strcpy().John Criswell2003-09-171-1/+2
| | | | | | | This should prevent calls to the new oerator and malloc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8587 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the use of the const keyword.John Criswell2003-09-171-14/+29
| | | | | | | Have gccld find the path to llc and gcc instead of having the library do it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8586 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed the use of the environ variable and instead use the environment arrayJohn Criswell2003-09-171-21/+120
| | | | | | | | | | | | | | passed into main(). This may (or may not) be more portable, but it looks nicer. Added functions to copy the environment array and modify the copy, thus preserving the environment. Switched from using system() to using ExecWait(). The code now removes the assembly file generated when using the -native option. Fixed the remove_env() function: The previous revision truncated the environment variable list. This version just zaps the variable as intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8579 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the -native option.John Criswell2003-09-161-7/+125
| | | | | | | | | With this option, gccld links the program into LLVM bytecode and a native code binary. This allows llvmgcc to correctly tell GNU configure scripts when things aren't defined properly (because the native link will fail). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8570 91177308-0d34-0410-b5e6-96231b3b80d8
* -abort-on-exception is gone. Rebuild your gccld shell scripts, folks! :-)Brian Gaeke2003-09-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8368 91177308-0d34-0410-b5e6-96231b3b80d8
* Added code that makes the bytecode file readable (needed by the generated shellJohn Criswell2003-09-021-5/+4
| | | | | | | | | | | script). Removed the use of sys/types.h and sys/stat.h. Modified FileExists() so that it uses the access() system call to check for file existance. This requires less header files and might even be a tad bit faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8328 91177308-0d34-0410-b5e6-96231b3b80d8
* Modified the code so that it uses the MakeFileExecutable() method. The newJohn Criswell2003-09-021-16/+3
| | | | | | | | library code now adds all execute bits that are allowed by the umask value to the file's current permission bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8325 91177308-0d34-0410-b5e6-96231b3b80d8
* "Help keep our secrets secret."John Criswell2003-08-291-2/+16
| | | | | | | | Added code to respect the umask value. Before, files were generated world readable, which may not be desirable for all installations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8215 91177308-0d34-0410-b5e6-96231b3b80d8
* add preliminary support for -export-dynamicChris Lattner2003-08-221-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8058 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the bytecode file executable as well for LLEE purposes.Misha Brukman2003-08-201-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7992 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my last (accidental) checkin, but keep the typeo fixChris Lattner2003-08-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7879 91177308-0d34-0410-b5e6-96231b3b80d8
* rename selection library to selectiondagChris Lattner2003-08-151-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7878 91177308-0d34-0410-b5e6-96231b3b80d8
* Run the simplify CFG pass after instcombine which has the effect of deletingChris Lattner2003-06-261-0/+4
| | | | | | | ALL of the global ctor/dtor stuff if it is not used! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6916 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the instcombine pass before globaldce, so that if globals are made dead ↵Chris Lattner2003-06-261-4/+4
| | | | | | by instcombine, that they can be deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6910 91177308-0d34-0410-b5e6-96231b3b80d8
* Funcresolve no longer performs nicification of resolved functionsChris Lattner2003-06-191-0/+5
| | | | | | | instcombine does this git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6787 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new DAE pass to gccld. It does not add cause any regressions in the ↵Chris Lattner2003-06-181-0/+4
| | | | | | test-suite git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6770 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix formatting in fileChris Lattner2003-05-291-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6398 91177308-0d34-0410-b5e6-96231b3b80d8
* Add compatibility optionChris Lattner2003-05-271-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6354 91177308-0d34-0410-b5e6-96231b3b80d8
* gccld.cpp:Brian Gaeke2003-05-231-57/+82
| | | | | | | | | | | | | | | | | | | | Fix typo in header. Add IsArchive static method. Roll LoadLibraryFromDirectory() into LoadLibrary(), and factor LoadLibraryExactName() out of the result. Instead of treating the current directory specially, just insert it into LibPaths in the beginning of main(). Make LoadLibrary() take a "search" flag that says whether to search for the correct library, or just trust that LibName is right. Make LinkLibrary() take a "search" flag, and pass it to LoadLibrary(). Change the for-loop over InputFilenames to detect ar archives and link them in as libraries without searching. Change the for-loop over Libraries to explicitly turn on the "search" flag to LinkLibrary() that makes LoadLibrary() search for the correct library (i.e., when processing -lNAME options.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6316 91177308-0d34-0410-b5e6-96231b3b80d8
* Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.oChris Lattner2003-05-131-6/+18
| | | | | | | Implement minor library linking optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6181 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to create a target data that matches the Module's target properties.Chris Lattner2003-04-241-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5904 91177308-0d34-0410-b5e6-96231b3b80d8