aboutsummaryrefslogtreecommitdiff
path: root/tools/gccld/gccld.cpp
AgeCommit message (Collapse)Author
2003-11-29Fix compatibility with gcc 3.4Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-24I'm gonna be picky and say we don't really need that trailing slash "lib/"Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10196 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-24Make sure we ONLY add a `-load' switch to the JIT command line if the file isMisha Brukman
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
2003-11-20When writing out the runner script, add -load=<lib> lines to pull in all theMisha Brukman
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
2003-11-20* Doxygenified comments, simplifying them and shortening in the processMisha Brukman
* Eliminated extra space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10104 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Do not assume the first file is a bytecode file. Instead, construct a dummyBrian Gaeke
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
2003-11-05Make -r work, fixing PR 91Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9724 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-03If linking a library, do not link other libraries, like libc, into it!Chris Lattner
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
2003-10-24lli -q is history. Rebuild your gccld shell scripts, folks!Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9494 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20fix file headerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20Added copyright header to all C++ source files.John Criswell
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10Fix spelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30* Ordered includes according to LLVM styleMisha Brukman
* 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
2003-09-301. Use better error messages in LinkFiles().Brian Gaeke
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
2003-09-22Minor cleanups:Chris Lattner
* 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
2003-09-19Removed linking functionality from gccld.cpp and moved it to linker.cpp.John Criswell
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
2003-09-18Refactored gccld into three C++ source files.John Criswell
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
2003-09-17Replaced the call to strdup() with a new operator followed by a strcpy().John Criswell
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
2003-09-17Added the use of the const keyword.John Criswell
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
2003-09-17Removed the use of the environ variable and instead use the environment arrayJohn Criswell
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
2003-09-16Added the -native option.John Criswell
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
2003-09-05-abort-on-exception is gone. Rebuild your gccld shell scripts, folks! :-)Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8368 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-02Added code that makes the bytecode file readable (needed by the generated shellJohn Criswell
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
2003-09-02Modified the code so that it uses the MakeFileExecutable() method. The newJohn Criswell
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
2003-08-29"Help keep our secrets secret."John Criswell
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
2003-08-22add preliminary support for -export-dynamicChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20Make the bytecode file executable as well for LLEE purposes.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7992 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15Revert my last (accidental) checkin, but keep the typeo fixChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7879 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15rename selection library to selectiondagChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7878 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26Run the simplify CFG pass after instcombine which has the effect of deletingChris Lattner
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
2003-06-26Move the instcombine pass before globaldce, so that if globals are made dead ↵Chris Lattner
by instcombine, that they can be deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6910 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19Funcresolve no longer performs nicification of resolved functionsChris Lattner
instcombine does this git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18Add new DAE pass to gccld. It does not add cause any regressions in the ↵Chris Lattner
test-suite git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29Fix formatting in fileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6398 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27Add compatibility optionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23gccld.cpp:Brian Gaeke
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
2003-05-13Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.oChris Lattner
Implement minor library linking optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24Make sure to create a target data that matches the Module's target properties.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5904 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21Add support for allowing the user to extend the GCCLD searchpathChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5825 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19Eliminate useless duplicate librariesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19Add first support for linking in .a files correctly and minimally, like a ↵Chris Lattner
real linker does git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5822 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18Add crufty compatibility stuff for ldChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5813 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18Use anonymous namespace instead of "static"Chris Lattner
Kill using decl git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5811 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16Allow the user to disable the internalize passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5792 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-14Make stuff compiled with gccld not dump into the debugger if there's a problemChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30Print the tool name when an error comes from so that I can tell whichChris Lattner
tool of a pipeline is having issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3087 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3044 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23*** empty log message ***Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3040 91177308-0d34-0410-b5e6-96231b3b80d8