Jeff Cohen
81549a57b8
Make PreventCoreFiles() do the right thing on Windows.
...
llvm-svn: 20237
2005-02-18 07:05:18 +00:00
Jeff Cohen
97a41e238e
Arg list already has program name in it.
...
llvm-svn: 20208
2005-02-16 04:43:45 +00:00
Chris Lattner
6e528dce90
Fix a bug in my previous change to this, which broke the build on sparcs.
...
llvm-svn: 20184
2005-02-14 21:42:10 +00:00
Chris Lattner
259df2bf3c
Fix the llvm bootstrap
...
llvm-svn: 20170
2005-02-13 23:37:09 +00:00
Chris Lattner
743dd2cd80
If errno is zero strerror_r does not modify the buffer, leaving it unterminated.
...
This causes garbage to be printed out after error messages.
llvm-svn: 20165
2005-02-13 22:46:37 +00:00
Jeff Cohen
9671b213b6
Fix some Path bugs
...
llvm-svn: 19852
2005-01-27 03:49:03 +00:00
Jeff Cohen
ccbd3f0d57
Fix destroyDirectory bug
...
llvm-svn: 19746
2005-01-22 16:28:33 +00:00
Chris Lattner
8bdd0fc7aa
Fix bugpoint
...
llvm-svn: 19605
2005-01-16 04:23:22 +00:00
Reid Spencer
730e7cb048
We don't distribute the operating system specific directories any more.
...
llvm-svn: 19563
2005-01-14 22:43:01 +00:00
Jeff Cohen
e246cdc946
Fix and improve win32 path validation.
...
llvm-svn: 19545
2005-01-14 04:09:39 +00:00
Reid Spencer
cbeed3571a
Make asctime_r work for HP/UX.
...
llvm-svn: 19544
2005-01-14 00:50:50 +00:00
Reid Spencer
c892a0db9f
Rename Unix/*.cpp and Win32/*.cpp to have a *.inc suffix so that the silly
...
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})
llvm-svn: 19426
2005-01-09 23:29:00 +00:00
Jeff Cohen
1a26d15c80
Use size_t instead of long to represent memory usage. long is 32 bits
...
on 64-bit Windows.
llvm-svn: 19393
2005-01-08 20:15:57 +00:00
Reid Spencer
862ebf5277
Correct the case of a #include directory name, just in case.
...
llvm-svn: 19254
2005-01-02 09:45:04 +00:00
Jeff Cohen
b90c31fb49
Add functions for determining if the stdin/out/err is connected to a
...
console or not.
llvm-svn: 19236
2005-01-01 22:54:05 +00:00
Reid Spencer
6f802ba876
Add functions for determining if the stdin/out/err is connected to a
...
console or not.
llvm-svn: 19233
2005-01-01 22:29:26 +00:00
Jeff Cohen
b6ecaa2d1c
Where do these tabs keep coming from???
...
llvm-svn: 19203
2004-12-31 19:03:31 +00:00
Jeff Cohen
25dcdcc973
Mostly cleanup, but also some bug fixes, for win32/Path.cpp
...
llvm-svn: 19202
2004-12-31 19:01:08 +00:00
Reid Spencer
0f371a1637
Fix a compilation error for the case where mallinfo() is not available.
...
llvm-svn: 19201
2004-12-31 05:53:27 +00:00
Jeff Cohen
63f13c4cbc
Get rid of those nasty tabs...
...
llvm-svn: 19199
2004-12-31 05:07:26 +00:00
Jeff Cohen
98aff88c9b
Bring win32/Path.cpp up to date with respect to Unix/Path.cpp
...
llvm-svn: 19198
2004-12-31 04:39:07 +00:00
Jeff Cohen
a6d9c1415c
Fix MINGW compilation errors
...
llvm-svn: 19190
2004-12-30 03:02:31 +00:00
Reid Spencer
e925d8b8b2
For PR351:
...
* 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.
llvm-svn: 19161
2004-12-27 06:17:50 +00:00
Reid Spencer
efda887fe2
For PR351:
...
* Remove redundant #includes that are now in Unix.h
llvm-svn: 19160
2004-12-27 06:17:39 +00:00
Reid Spencer
cf15b874e8
For PR351:
...
* Move implementation of sys::PreventCoreFiles function to this file from
the now defunct SysConfig abstraction.
llvm-svn: 19159
2004-12-27 06:17:27 +00:00
Reid Spencer
d103e0851c
For PR351:
...
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Ensure variations in "dirent" structure are accounted for.
llvm-svn: 19158
2004-12-27 06:17:15 +00:00
Reid Spencer
47cd653411
For PR351:
...
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Consolidate implementation from operating system specific directory.
llvm-svn: 19157
2004-12-27 06:17:03 +00:00
Reid Spencer
d554bbcefd
For PR351:
...
* Ensure #includes are wrapped with appropriate HAVE_ guards
llvm-svn: 19156
2004-12-27 06:16:52 +00:00
Reid Spencer
af6d3d5c8f
For PR351:
...
* Consolidate implementation for Unix systems into Unix/TimeValue.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19155
2004-12-27 06:16:38 +00:00
Reid Spencer
51ea06abf8
For PR351:
...
* Consolidate implementation for Unix systems into Unix/Program.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19154
2004-12-27 06:16:25 +00:00
Reid Spencer
844f3fec49
For PR351:
...
* Consolidate implementation for Unix systems into Unix/Signals.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19153
2004-12-27 06:16:11 +00:00
Reid Spencer
71383fb646
For PR351:
...
* Consolidate implementation for Unix systems into Unix/Memory.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19152
2004-12-27 06:15:57 +00:00
Reid Spencer
1a7a435b49
For PR351:
...
* Consolidate implementation for Unix systems into Unix/MappedFile.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19151
2004-12-27 06:15:43 +00:00
Reid Spencer
97d4a17f04
For PR351:
...
* Consolidate implementation for Unix systems into Unix/Process.cpp
* Avoid use of symbolic link to #include platform-specific implementation.
llvm-svn: 19150
2004-12-27 06:15:29 +00:00
Reid Spencer
0d1ad6ac34
For PR351:
...
SysConf abstraction was pointless because it had a single function in it that
pertained only to the current process. So merge it into the Process abstraction
and remove the files completely.
llvm-svn: 19149
2004-12-27 06:15:14 +00:00
Jeff Cohen
f365c33b62
mingw doesn't support the official debug API.
...
Old versions of the C runtime somehow get loaded into the process. Make
sure they aren't searched for symbols.
llvm-svn: 19141
2004-12-25 04:50:17 +00:00
Jeff Cohen
683b1a5e3c
Get VC++ building again
...
llvm-svn: 19140
2004-12-24 16:26:47 +00:00
Jeff Cohen
039b4abf6c
Eliminate use of ltdl.c when doing a VC++ build. Because libtool isn't used,
...
ltdl's LGPL license would infect all of LLVM.
llvm-svn: 19137
2004-12-24 07:57:09 +00:00
Reid Spencer
20540311e1
For PR351:
...
Merge implementations of isValid and GetTemporaryDirectory into this file. There
is not any point having the operating system specific files for such little
variation between the Unix family of systems.
llvm-svn: 19134
2004-12-24 06:29:42 +00:00
Reid Spencer
e7c870364f
For PR351:
...
This implementation is no longer needed, its been merged to Unix/Path.cpp since
there is such little variation between the platforms.
llvm-svn: 19133
2004-12-24 06:29:28 +00:00
Reid Spencer
328ee53573
For PR351:
...
Use the LLVM_ON_UNIX and LLVM_ON_WIN32 #defines to include the implementation
instead of relying upon the "platform" link
llvm-svn: 19132
2004-12-24 06:29:17 +00:00
Reid Spencer
4befbf3f14
Resurrect this file.
...
llvm-svn: 19130
2004-12-24 06:03:31 +00:00
Reid Spencer
265b02ed3a
Remove these files as they are not being included any more. DynamicLibrary
...
is now implemented via ltdl.cpp which has its own way of dealing with
the different platforms.
llvm-svn: 19129
2004-12-24 03:59:46 +00:00
Jeff Cohen
d567bb6af6
Fix VC++ compilation error
...
llvm-svn: 19124
2004-12-24 02:38:34 +00:00
Reid Spencer
c84ee1aee0
Put CopyFile in the sys namespace.
...
llvm-svn: 19122
2004-12-23 22:14:32 +00:00
Jeff Cohen
53fbecce6e
Patch to fix mingw compilation problem contributed by Henrik.
...
llvm-svn: 19112
2004-12-23 03:44:40 +00:00
Reid Spencer
107410613b
Put the CopyFile function explicitly in the sys namespace.
...
llvm-svn: 19079
2004-12-21 03:27:08 +00:00
Reid Spencer
22dd8b15c0
Cygwin doesn't like .. through a link, so drop the ..
...
llvm-svn: 19076
2004-12-20 22:21:41 +00:00
Reid Spencer
d4c6988809
Implement GetTimeUsage correctly.
...
llvm-svn: 19074
2004-12-20 21:43:33 +00:00
Reid Spencer
8005e66f0a
Provide a getrusage based implementation of GetTotalMemoryUsage and use
...
the ru_maxrss field as an approximation.
llvm-svn: 19072
2004-12-20 16:33:37 +00:00
Reid Spencer
1cf74cee21
Consistently use the same #if style. Also, fix a bug testing for sbrk(3)
...
llvm-svn: 19071
2004-12-20 16:06:44 +00:00
Jeff Cohen
7ae0bc7111
Keep up with lib/System changes
...
llvm-svn: 19057
2004-12-20 03:24:56 +00:00
Reid Spencer
ac38f3a028
For PR351:
...
* Implement GetMallocUsage to get usage of malloc heap
* Implement GetMemoryUsage to get total memory usage of process
* Implement GetTimeUsage to get elapsed/user/system time
llvm-svn: 19055
2004-12-20 00:59:28 +00:00
Reid Spencer
27fa6c6d49
For PR351:
...
No need for Unix/SUS/Process.cpp any more, just ifdef it.
llvm-svn: 19054
2004-12-20 00:59:16 +00:00
Misha Brukman
f06cb1db24
* Use "" for LLVM include files, not <>
...
* llvm/Config/alloca.h already #includes config.h
* Minor readability/stylistic changes
llvm-svn: 19048
2004-12-20 00:16:38 +00:00
Misha Brukman
0eb431c04c
Use <> for system #include files
...
llvm-svn: 19046
2004-12-19 19:27:11 +00:00
Brian Gaeke
8062bde121
Make references to 'struct sigaction' compile under Solaris.
...
llvm-svn: 19045
2004-12-19 18:58:11 +00:00
Reid Spencer
6cb551b279
For PR351:
...
Move the functionality of RunProgramWithTimeout into the ExecuteAndWait
function: support a timeout and I/O redirects
llvm-svn: 19043
2004-12-19 18:00:44 +00:00
Reid Spencer
72d1627d16
For PR351:
...
Add a needed include.
llvm-svn: 19042
2004-12-19 18:00:32 +00:00
Jeff Cohen
81184bb528
Fix win32 breakage
...
llvm-svn: 19028
2004-12-18 06:42:15 +00:00
Jeff Cohen
fc6ebc9cb7
Expository comment submitted by Henrik Bach
...
llvm-svn: 18976
2004-12-16 04:06:56 +00:00
Reid Spencer
e56242780c
Change the signatures of the destroyFile and destroyDirectory methods to
...
const because they affect the file system, not the Path object.
llvm-svn: 18973
2004-12-15 23:02:10 +00:00
Reid Spencer
35d15bdf52
Remove the CFE's lib directory from the bytecode path because LLVM should
...
be agnostic to the needs of any specific FE.
llvm-svn: 18969
2004-12-15 22:22:51 +00:00
Reid Spencer
879f11df3d
Remove automatic insertion of CFE's lib directory into the bytecode path
...
because LLVM should be agnostic to the needs of specific front ends.
llvm-svn: 18968
2004-12-15 22:21:42 +00:00
Reid Spencer
98ce23ffb0
Fix a file overwrite bug in llvm-ar introduced by changes to
...
createTemporaryFile semantics where it doesn't create a fully unique name
if the basename doesn't exist. This functionality is now optionally
provided by the boolean reuse_current parameter to createTemporaryFile and
makeUnique. The default values differ because of the way these functions
are used in LLVM.
llvm-svn: 18961
2004-12-15 08:32:45 +00:00
Jeff Cohen
92e02d40cb
Make Win32 TimeValue::toString() re-entrant and work with mingw
...
llvm-svn: 18954
2004-12-15 04:28:44 +00:00
Jeff Cohen
e408341854
Fix VC++ compilation errors
...
llvm-svn: 18953
2004-12-15 04:08:15 +00:00
Reid Spencer
f66d93239e
For PR351:
...
* Fix implementation and documentation about LLVMGCCDIR/bytecode-libs
* Add the makeUnique method, replacement for getUniqueFilename in Support.
* Add the sys::CopyFile function, replacement for CopyFile in Support.
* Move GetLLVMConfigDir() into generic code area since its generic.
llvm-svn: 18947
2004-12-15 01:50:13 +00:00
Reid Spencer
c936ad1208
Add the getMagicNumber method.
...
Patch contributed by Henrik Bach. Thanks Henrik!
llvm-svn: 18933
2004-12-14 18:42:13 +00:00
Jeff Cohen
2b60d39499
Implement Win32 Path::getStatusInfo(), TimeValue::toString()
...
llvm-svn: 18930
2004-12-14 05:26:43 +00:00
Reid Spencer
cdefe0aebc
For PR351:
...
Implement the new environment pointer for ExecuteAndWait
llvm-svn: 18928
2004-12-14 04:18:51 +00:00
Reid Spencer
94bf2265df
For PR351:
...
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.
llvm-svn: 18907
2004-12-13 19:59:50 +00:00
Reid Spencer
e05ab4a1ec
Genericize implementation of GetDLLSuffix now that we have LTDL_SHLIB_EXT
...
available.
llvm-svn: 18904
2004-12-13 18:41:28 +00:00
Reid Spencer
790100674a
Fix a bug where "." or any single character file name doesn't get the
...
terminating / when setDirectory is called.
llvm-svn: 18886
2004-12-13 07:51:52 +00:00
Reid Spencer
a85abc23d5
Remove an always false clause from an if statement.
...
llvm-svn: 18885
2004-12-13 07:51:07 +00:00
Alkis Evlogimenos
5b1a05fb7c
Fix a bug where directory names of length one or less where not set
...
properly (examples: "", ".", "a").
llvm-svn: 18883
2004-12-13 07:41:35 +00:00
Reid Spencer
0230a5eead
* Add a std::ostream inserter for sys::Path
...
* Correct the std::string constructor to take a const reference.
llvm-svn: 18877
2004-12-13 06:57:15 +00:00
Jeff Cohen
ccd99b9b61
Fix recent breakage of win32 build
...
llvm-svn: 18876
2004-12-13 06:26:35 +00:00
Reid Spencer
0a0d582719
Implement new functions per new interface
...
llvm-svn: 18866
2004-12-13 03:03:42 +00:00
Reid Spencer
9b155dc4c0
For PR351: \
...
* Remove IsLibrary and GetLibraryPath, replaced by FindLibrary in ../Path.cpp \
* Implement GetSystemLibraryPaths and GetBytecodeLibraryPaths, instead of the \
GetSystemLibraryPath1 and GetSystemLibraryPath2 methods
llvm-svn: 18862
2004-12-13 03:00:51 +00:00
Reid Spencer
66b8182866
For PR351: \
...
* Move generic isArchive method here from Unix/Path.cpp \
* Implement isDynamicLibrary \
* Implement FindLibrary for Linker
llvm-svn: 18861
2004-12-13 03:00:39 +00:00
Reid Spencer
35f16dd40b
Make the size() method const
...
llvm-svn: 18852
2004-12-13 02:58:51 +00:00
Reid Spencer
5625dec232
Rename Path::get -> Path::toString
...
llvm-svn: 18802
2004-12-11 17:37:01 +00:00
Reid Spencer
5ccfd5a48b
Path::get -> Path::toString
...
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Jeff Cohen
07a900f0b7
Fix residual Visual Studio build problems
...
llvm-svn: 18688
2004-12-09 05:51:11 +00:00
Chris Lattner
6ef473f53c
Make this work with the ICC compiler, contributed by Bjørn Wennberg
...
llvm-svn: 18626
2004-12-08 16:10:52 +00:00
Chris Lattner
73a1914131
Fix compilation error on Darwin.
...
llvm-svn: 18485
2004-12-04 04:17:20 +00:00
Chris Lattner
4cf8b36469
Move darwin-specific majik here.
...
llvm-svn: 18466
2004-12-03 23:02:42 +00:00
Reid Spencer
f473185cbc
Fix seriously broken implementation of GetMagicNumber.
...
llvm-svn: 18422
2004-12-02 09:09:48 +00:00
Reid Spencer
0e6a4fc448
Implement two new functions: LoadLibraryPermanently and
...
SearchForAddressOfSymbol.
llvm-svn: 18355
2004-11-29 13:33:28 +00:00
Reid Spencer
3468ae1a87
We just use ltdl's implementation for this abstraction now. Its portable to
...
more platforms than LLVM supports.
llvm-svn: 18352
2004-11-29 12:39:10 +00:00
Reid Spencer
47430cf2a5
Mods for compilation with llvm.
...
llvm-svn: 18346
2004-11-29 12:04:27 +00:00
Reid Spencer
11ba920d55
Original version of ltdl.h from libtool 1.5.10
...
llvm-svn: 18345
2004-11-29 12:02:48 +00:00
Reid Spencer
6717b80ba2
Original version of ltdl.c from libtool 1.5.10
...
llvm-svn: 18344
2004-11-29 12:02:25 +00:00
Reid Spencer
72a7457a90
Implement the default constructor which causes the current program to be
...
opened as if it was a dynamic library so its symbols can be searched too.
llvm-svn: 18341
2004-11-29 10:39:46 +00:00
Reid Spencer
9afecaf4ff
Cast the void* handle data member to HMODULE* to keep the VC++ compiler
...
happy. Thanks to Henrik Bach for pointing this out.
llvm-svn: 18056
2004-11-20 23:30:55 +00:00
Reid Spencer
4a763ca854
Dynamic Library abstraction. This makes the abstraction of a single dynamic
...
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.
llvm-svn: 17940
2004-11-18 04:33:39 +00:00
Reid Spencer
1b13a7cdb8
* Use low-level unix I/O interface since we're on Unix.
...
* Don't use variable length arrays (replaced with alloca)
llvm-svn: 17901
2004-11-16 17:14:08 +00:00
Misha Brukman
c356686749
Erase non-applicable Unix comment, this is Win32
...
llvm-svn: 17896
2004-11-16 07:35:32 +00:00
Reid Spencer
7cdcb2b0cb
Remove useless #include.
...
Patch contributed by Jeff Cohen.
llvm-svn: 17891
2004-11-16 07:00:23 +00:00