summaryrefslogtreecommitdiffstats
path: root/llvm/lib/System/Unix
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove another F_OK.Dan Gohman2009-07-291-1/+1
| | | | llvm-svn: 77405
* On "Unix", if Program::FindProgramByName is given a name containingDan Gohman2009-07-281-1/+1
| | | | | | | slashes, just go with it, regardless of whether it looks like it will be executable. This follows the behavior of sh(1) more closely. llvm-svn: 77396
* It isn't necessary to use F_OK when using R_OK or similar.Dan Gohman2009-07-281-2/+2
| | | | llvm-svn: 77392
* Fix a fixme; don't take binaries from the working directory.Benjamin Kramer2009-07-281-3/+3
| | | | | | | This fixes clang on non-darwin platforms if a file called 'ld' or 'as' is in the working directory. Based on patch by Pawel Worach! llvm-svn: 77379
* Re-committing r76828 with the JIT memory manager changes now that the buildReid Kleckner2009-07-231-3/+4
| | | | | | bots like the BumpPtrAllocator changes. llvm-svn: 76902
* Reverting r76825 and r76828, since they caused clang runtime errors and some ↵Reid Kleckner2009-07-231-4/+3
| | | | | | build failure involving memset. llvm-svn: 76838
* Make the JIT code emitter properly retry and ask for more memory when it runsReid Kleckner2009-07-231-3/+4
| | | | | | | | | | | | | out of memory, and also make the default memory manager allocate more memory when it runs out. Also, switch function stubs and global data over to using the BumpPtrAllocator. This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB of memory, and instead allocates in 512K slabs. I suspect this size could go lower, especially on embedded platforms, now that more slabs can be allocated. llvm-svn: 76828
* Remove duplication in Program::Execute{And,No}Wait.Mikhail Glushenkov2009-07-181-87/+29
| | | | | | | Implemented by moving the code out of static functions into methods of Program class. llvm-svn: 76340
* Trailing whitespace.Mikhail Glushenkov2009-07-171-15/+15
| | | | llvm-svn: 76229
* Improve sys::Path::makeAbsolute on Win32.Daniel Dunbar2009-07-121-0/+13
| | | | | | | | - Patch by Viktor Kutuzov! - Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths. llvm-svn: 75424
* "UNIX paths can contain non-ASCII characters, so Path::isValid() should not ↵Chris Lattner2009-07-121-9/+1
| | | | | | | | reject paths with such characters in them. The attached patch removes the check from Path::isValid()." patch by Benjamin Kramer! llvm-svn: 75421
* Add an ExecuteNoWait interface to support asynchronous process spawning.David Greene2009-07-081-0/+72
| | | | llvm-svn: 75055
* Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes theJeffrey Yasskin2009-07-011-26/+2
| | | | | | | | Windows variant, strerror_s, but I couldn't test that. I'll update configure and config.h.in in a subsequent patch. llvm-svn: 74621
* Fix compilation without pthreads.Owen Anderson2009-06-261-3/+3
| | | | | | Patch by Xerxes Ranby. llvm-svn: 74283
* Add a class for supporting platform independent thread-local storage.Owen Anderson2009-06-251-0/+25
| | | | | | Windows people, please double-check/patch this. llvm-svn: 74209
* Give RWMutex the SmartRWMutex treatment too.Owen Anderson2009-06-181-6/+6
| | | | llvm-svn: 73710
* Insert a SmartMutex templated class into the class hierarchy, which takes a ↵Owen Anderson2009-06-181-5/+5
| | | | | | | | template parameter specifying whether this mutex should become a no-op when not running in multithreaded mode. Make sys::Mutex a typedef of SmartMutex<false>, to preserve source compatibility. llvm-svn: 73709
* Add a portable wrapper for reader-writer locks.Owen Anderson2009-06-161-0/+43
| | | | llvm-svn: 73545
* glibc has two versions of strerror_r, a standards compliant one and a GNUDan Gohman2009-06-151-1/+8
| | | | | | | | | | | | | | specific one. The GNU one is chosen when _GNU_SOURCE is defined. g++ always defines _GNU_SOURCE on linux platforms because glibc's headers won't compile in C++ mode without it. The GNU strerror_r doesn't always modify the buffer which causes empty error messages on linux. This patch changes MakeErrMsg to use the return value of strerror_r to get the string instead of assuming the buffer will be modified, on GLIBC. Patch by Benjamin Kramer! llvm-svn: 73396
* add a new static method to portably determine whether a patch isChris Lattner2009-06-151-0/+8
| | | | | | absolute or not, based on a patch by Gregory Curfman! llvm-svn: 73368
* Add support for outputting ANSI colors to raw_fd_ostream.Torok Edwin2009-06-041-0/+59
| | | | llvm-svn: 72854
* Untabification.Bill Wendling2009-05-301-42/+41
| | | | llvm-svn: 72604
* Work around a page size issue on Cygwin.Jay Foad2009-05-231-1/+6
| | | | llvm-svn: 72332
* termios.h contains the winsize structure we need to determine theDouglas Gregor2009-05-181-1/+4
| | | | | | | width of a terminal. Don't try to get the width of a terminal if we don't have this header. llvm-svn: 72018
* Add terminal width detection to llvm::sys::Process. This is needed toDouglas Gregor2009-05-111-0/+37
| | | | | | fix Clang PRs 4148 and 4183. llvm-svn: 71448
* Make Unix.h:MakeErrMsg separate the prefix and errno string, so we get:Daniel Dunbar2009-04-204-7/+10
| | | | | | | | | | | | | | | | | clang: error: unable to make temporary file: /etc/cc: can't make unique filename: Permission denied instead of clang: error: unable to make temporary file: /etc/cc: can't make unique filenamePermission denied for example. Also, audited the uses of MakeErrMsg to make the prefix strings consistent (not end with newline/punctuation/space/": "). llvm-svn: 69626
* fix PR3965:SIGINT handler not restored after calling ParseAST(),Chris Lattner2009-04-121-1/+2
| | | | | | patch by Alexei Svitkine! llvm-svn: 68929
* Add llvm::sys::getHostTriple and removeDaniel Dunbar2009-03-311-9/+25
| | | | | | | | | | | llvm::sys::getOS{Name,Version}. Right now the implementation just derives from LLVM_HOSTTRIPLE (which is wrong, but it doesn't look like we have a define for the target triple). Ideally this routine would actually be able to compute the triple for targets we care about. llvm-svn: 68118
* fix a bug Alexei Svitkine pointed out.Chris Lattner2009-03-231-2/+2
| | | | llvm-svn: 67510
* When we restore signal handlers, restore them back to what theyChris Lattner2009-03-231-8/+30
| | | | | | | were when we came around, not to their default handler. This should fix PR3848 llvm-svn: 67509
* factorize signal registration, part of PR3848.Chris Lattner2009-03-231-10/+23
| | | | llvm-svn: 67508
* add some explicit llvm:: qualifiers to the unix side, fix problems on the ↵Chris Lattner2009-03-081-4/+5
| | | | | | windows side. llvm-svn: 66386
* When a crash signal is delivered do two things: remove all of ourChris Lattner2009-03-071-5/+14
| | | | | | | | | signal handlers to prevent reentrance on unrelated things (a sigabort where the handle bus errors) also, clear the signal mask so that the signal doesn't infinitely reissue. This fixes rdar://6654827 - Crash causes clang to loop llvm-svn: 66330
* move some code to gracefully handle the case when a handler crashes.Chris Lattner2009-03-051-4/+6
| | | | llvm-svn: 66171
* Add a new 'AddSignalHandler' function to Signals.h that allowsChris Lattner2009-03-041-94/+68
| | | | | | | | | | | | | arbitrary functions to be run when a crash happens. Delete RemoveDirectoryOnSignal as it is dead and has never had clients. Change PrintStackTraceOnErrorSignal to be implemented in terms of AddSignalHandler. I updated the Win32 versions of these APIs, but can't test them. If there are any problems, I'd be happy to fix them as well. llvm-svn: 66072
* Fix main executable path name resolution on FreeBSD, patch by Chris Lattner2009-03-021-1/+60
| | | | | | Ed Schouten! llvm-svn: 65882
* If an executable is run through a symlink, dladdr will return theChris Lattner2009-02-191-3/+8
| | | | | | | | symlink. We really want the ultimate executable being run, not the symlink. This lets clang find its headers when invoked through a symlink. rdar://6602012 llvm-svn: 65017
* Fix warning on gcc 4.3.Mikhail Glushenkov2009-02-151-1/+4
| | | | | | "system() declared with attribute warn_unused_result." llvm-svn: 64574
* Whitespace fixes.Mikhail Glushenkov2009-02-151-58/+58
| | | | llvm-svn: 64573
* Use const, to support platforms where strrchr returns a const char *.Dan Gohman2009-02-101-2/+2
| | | | | | This fixes PR3535. llvm-svn: 64224
* Add a Sleep() function.Mikhail Glushenkov2009-02-081-0/+4
| | | | llvm-svn: 64101
* Add Emacs hints to Alarm.inc.Mikhail Glushenkov2009-02-082-6/+6
| | | | | | Also removes some trailing whitespace and fixes one 80-column violation. llvm-svn: 64094
* rename methods in System/Host to be more consistent.Chris Lattner2009-01-221-2/+2
| | | | llvm-svn: 62776
* Don't use plain %x to print pointer values. I had changed it from %pDan Gohman2008-12-051-1/+2
| | | | | | | | | since %p isn't formatted consistently, but obviously plain %x is wrong. PRIxPTR with a cast to uintptr_t would work here, but that requires inconvenient build-system changes. %lu works on all current and foreseable future hosts. llvm-svn: 60616
* Demangle and pretty-print symbols in internal backtraces. Patch byDan Gohman2008-12-051-0/+44
| | | | | | Wesley Peck, with a few fixes by me. llvm-svn: 60605
* Update the stub and callback code to handle lazy compilation. The stubJim Grosbach2008-10-201-0/+21
| | | | | | | | | | is re-written by the callback to branch directly to the compiled code in future invocations. Added back in range-based memory permission functions for the updating of the stub on Darwin. llvm-svn: 57846
* On Darwin ARM, memory needs special handling to do JIT. This patch expandsJim Grosbach2008-10-031-1/+25
| | | | | | | this handling to work properly for modifying stub functions, relocations back to entry points after JIT compilation, etc.. llvm-svn: 57013
* Add llvm::sys::{osName,osVersion} for retrieving operating system nameDaniel Dunbar2008-10-021-0/+42
| | | | | | | & version as strings. - Win32 code is untested. llvm-svn: 56942
* Preliminary support for systems which require changing JIT memory regions ↵Evan Cheng2008-09-181-0/+29
| | | | | | privilege from read / write to read / executable. llvm-svn: 56303
* AllocateRWXMemory -> AllocateRWX.Evan Cheng2008-09-161-1/+1
| | | | llvm-svn: 56244
OpenPOWER on IntegriCloud