aboutsummaryrefslogtreecommitdiff
path: root/lib/System/Unix
AgeCommit message (Collapse)Author
2006-07-12Turn an if into an else if.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29129 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07no need to do a stat then an lstat. lstat will tell us if normal files ↵Chris Lattner
don't exist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07Change AllocateRWX/DeallocateRWX to not throw an exception.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29058 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Only print the stack trace if it was requested. Previously, any call intoReid Spencer
the Signals module that registered the handlers would cause the stack trace to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal in order for that to happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28810 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Don't pull in environ, not always safe. Global variables are bad anyway.Evan Cheng
Use execve when explicit environment variables ptr is available. Otherwise just use execv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28740 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR787:Reid Spencer
Provide new llvm::sys::Program facilities for converting the stdout and stdin to binary mode. There is no standard way to do this and the available mechanisms are platform specific. Adjust the bytecode reader and writer to use these methods when their input is stdin or output is stdout. THis avoids the problem with \n writing CRLF to a bytecode file on windows. Patch Contributed by Michael Smith. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28722 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14This function is not documented as throwing an exception and callers don'tChris Lattner
handle it. Just silently fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28291 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Fix accidentally committed patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28260 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-12Fix iterator invalidation bug, identified by Coverity.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28257 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22For PR351:Reid Spencer
* Allow the ExecuteAndWait to return negative values if a signal is detected as the reason for the child termination. This is needed to support bugpoint detecting bad things in its child processes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24960 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-22Implement a generic polled Alarm function. This merely removes the systemReid Spencer
dependent portion of the lib/Support/SlowOperationTimer code into the lib/System implementation where it can be ported to different platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24937 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-14instead of using mstats, use malloc_zone_statistics which returns numbersChris Lattner
that actually make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24352 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-14Teach -track-memory to work on darwin. Looking at sbrk doesn't work becauseChris Lattner
the default allocator uses mmap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24349 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-02Implement sys::SetInterruptFunction on Unix, stub it on win32 so that theChris Lattner
build will not fail git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22578 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-29support near allocations for the JITAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22554 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-28Fix a problem in getDirectoryContents where sub-directory names wereReid Spencer
appended to a path string that didn't end in a slash, yielding invalid path names. Path contribute by Nicholas Riley. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22539 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-12For PR540:Reid Spencer
Add a Mutex class for thread synchronization in a platform-independent way. The current implementation only supports pthreads. Win32 use of Critical Sections will be added later. The design permits other threading models to be used if (and only if) pthreads is not available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22403 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-091. Fix bug in getBaseName where it mishandles suffixesJeff Cohen
2. Fix bug in eraseSuffix where it allows /path/.suffix to become /path/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22362 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Ensure that functions like isDirectory don't fail if the file doesn'tReid Spencer
exist but just return false instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22361 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Two changes:Reid Spencer
1. Use isValid() to check validity of the resulting path name in the eraseSuffix even though we can't think of a case where eraseSuffix could possibly cause an invalid path name. 2. Rewrite isValid() to not use the deprecated realpath function any more. It now just uses isascii to make sure all the characters are legit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22359 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Stamp out tabsJeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22357 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Fix eraseSuffix()Jeff Cohen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22355 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-08Final Changes For PR495:Reid Spencer
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
2005-07-07For PR495:Reid Spencer
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
2005-07-07For PR495:Reid Spencer
Change interface to Path class: readable -> canRead writable -> canWrite executable -> canExecute More (incremental) changes coming to close 495. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22345 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-02Put in a hack for Cygwin that prevents mkdtemp from being used sinceReid Spencer
configure seems to find it on Cygwin but linking against it fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22189 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16comment the hpux bitDuraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22081 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-05Remove vim settings from source code; people should use llvm/utils/vim/vimrcMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21704 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-22Silence gcc-4.0.0 warnings.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21453 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Provide an implementation of the GetCurrentUserId and GetCurrentGroupIdReid Spencer
methods that were recently added to the interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21401 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21For Bug 543:Reid Spencer
Standardize the error messages to be in "path: what failed: why" format. Also attempt to use the correct errno to ThrowErrno in situations where the errno value is erased by subsequent system calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21385 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21For Bug 543:Reid Spencer
Allow the ThrowErrno function to optionally accept an error number parameter so that callers can specify the error number to be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21384 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-20Add FIXME by Markus Oberhumer from bug 545: not checking for "." in $PATH mayMisha Brukman
result in returning executable files that won't be runnable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21378 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-20Do not mark directories as `executable', we only want program filesMisha Brukman
Patch by Markus Oberhumer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21377 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-20Ignore dangling symlinks in getDirectoryContents()Misha Brukman
Thanks to Markus Oberhumer for the patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21370 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02Be slightly more accurate in an error message.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20397 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14Fix a bug in my previous change to this, which broke the build on sparcs.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20184 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13If errno is zero strerror_r does not modify the buffer, leaving it unterminated.Chris Lattner
This causes garbage to be printed out after error messages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20165 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-16Fix bugpointChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19605 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14Make asctime_r work for HP/UX.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19544 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-09Rename Unix/*.cpp and Win32/*.cpp to have a *.inc suffix so that the sillyReid Spencer
gdb debugger doesn't get confused on which file it is reading (the one in lib/System or the one in lib/System/{Win32,Unix}) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19426 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08Use size_t instead of long to represent memory usage. long is 32 bitsJeff Cohen
on 64-bit Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19393 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01Add functions for determining if the stdin/out/err is connected to aReid Spencer
console or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19233 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31Fix a compilation error for the case where mallinfo() is not available.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27For PR351:Reid Spencer
* Ensure #includes are wrapped with appropriate HAVE_ guards * Account for variations in time.h and sys/time.h inclusion. * Add macros for getting wait(2) exit status correctly (per autoconf sugg.) * Implement ThrowErrno in terms of strerror_r, strerror or none based on what is available on the platform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27For PR351:Reid Spencer
* Remove redundant #includes that are now in Unix.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27For PR351:Reid Spencer
* Move implementation of sys::PreventCoreFiles function to this file from the now defunct SysConfig abstraction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27For PR351:Reid Spencer
* Ensure #includes are wrapped with appropriate HAVE_ guards * Ensure variations in "dirent" structure are accounted for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19158 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27For PR351:Reid Spencer
* Ensure #includes are wrapped with appropriate HAVE_ guards * Consolidate implementation from operating system specific directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19157 91177308-0d34-0410-b5e6-96231b3b80d8