Torok Edwin
487d576020
Fix ExplicitSymbols leak.
...
llvm-svn: 80589
2009-08-31 16:12:29 +00:00
Chris Lattner
30ebdc4311
remove the last uses of Config/alloca.h
...
llvm-svn: 79873
2009-08-23 22:57:38 +00:00
Chris Lattner
c521f54198
Prune #includes from llvm/Linker.h and llvm/System/Path.h,
...
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Owen Anderson
a83e868078
Get rid of a helgrind warning. If this is _actually_ a performance problem,
...
we can find a way to cache the answer that isn't racy.
llvm-svn: 79472
2009-08-19 21:48:34 +00:00
Owen Anderson
820739dccc
Add locking around signal handler registration.
...
llvm-svn: 79254
2009-08-17 17:07:22 +00:00
Dan Gohman
1432ef864e
This void is implicit in C++.
...
llvm-svn: 78848
2009-08-12 22:10:57 +00:00
Chris Lattner
c02f3d866f
improve win32 path support, patch by Baptiste Lepilleur!
...
llvm-svn: 78823
2009-08-12 17:47:06 +00:00
Dan Gohman
a6d0afcb74
Fix a bunch of namespace pollution.
...
llvm-svn: 78363
2009-08-07 01:32:21 +00:00
Dan Gohman
798ae47b59
Minor code simplification.
...
llvm-svn: 78239
2009-08-05 20:16:55 +00:00
Dan Gohman
4cf97dddea
Update a comment to reflect the current code.
...
llvm-svn: 78215
2009-08-05 17:32:39 +00:00
Dan Gohman
7ce1fe2d04
Remove needless uses of std::flush in the parent process after a
...
fork call. This eliminates a need for <iostream>. Also remove
needless fsync calls.
llvm-svn: 78131
2009-08-05 00:17:00 +00:00
Dan Gohman
23a419f361
Use _exit rather than exit in the child process after a failed exec.
...
Add a comment explaining why.
llvm-svn: 78128
2009-08-05 00:09:12 +00:00
Dan Gohman
6faa1d2f8f
Follow Unix behavior and return 127 if the command is not found,
...
and 126 if it is not executable.
llvm-svn: 78120
2009-08-04 23:15:49 +00:00
Daniel Dunbar
8b6be17777
When exec() fails, return 127 instead of errno; the parent process has no way to
...
distinguish that the result is errno, so it can't use it to provide more
information about the error (it also exposes the numeric value of errno).
llvm-svn: 78098
2009-08-04 20:32:25 +00:00
Daniel Dunbar
1a6a39eb46
Fix a race condition in getting the process exit code on Win32.
...
llvm-svn: 77953
2009-08-03 05:02:46 +00:00
Daniel Dunbar
381b89d3f1
Empty arguments need to be quoted on Win32.
...
llvm-svn: 77913
2009-08-02 20:41:09 +00:00
Chris Lattner
37d60ffce0
eXtensible Systems doesn't exist any more and Reid donated this to the
...
project under the normal license, yay. :)
llvm-svn: 77823
2009-08-01 22:54:17 +00:00
Dan Gohman
4723c103e3
Remove another F_OK.
...
llvm-svn: 77405
2009-07-29 00:02:58 +00:00
Dan Gohman
0c96daabad
On "Unix", if Program::FindProgramByName is given a name containing
...
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
2009-07-28 23:25:18 +00:00
Dan Gohman
367006523a
It isn't necessary to use F_OK when using R_OK or similar.
...
llvm-svn: 77392
2009-07-28 23:22:01 +00:00
Benjamin Kramer
6adb6e07ce
Fix a fixme; don't take binaries from the working directory.
...
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
2009-07-28 22:08:15 +00:00
Douglas Gregor
c0137150ee
CMake: make sure that the *.inc files for libSystem show up in the resulting
...
project.
llvm-svn: 77213
2009-07-27 17:55:55 +00:00
Daniel Dunbar
bcd92f1bc4
Don't use llvm_report_error in libSystem, this is a layering violation.
...
llvm-svn: 77169
2009-07-26 21:16:42 +00:00
Reid Kleckner
4b3a356493
Re-committing r76828 with the JIT memory manager changes now that the build
...
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
2009-07-23 21:46:56 +00:00
Reid Kleckner
921673225c
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.
...
llvm-svn: 76838
2009-07-23 01:40:54 +00:00
Reid Kleckner
1a722d9b73
Make the JIT code emitter properly retry and ask for more memory when it runs
...
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
2009-07-23 00:49:59 +00:00
Mikhail Glushenkov
36cb83202d
Remove duplication in Program::Execute{And,No}Wait.
...
Implemented by moving the code out of static functions into methods of Program
class.
llvm-svn: 76340
2009-07-18 21:43:12 +00:00
Mikhail Glushenkov
28309ac04c
Trailing whitespace.
...
llvm-svn: 76229
2009-07-17 20:38:17 +00:00
Ted Kremenek
39816d9157
Lexically order files in CMakeLists.txt files.
...
llvm-svn: 75831
2009-07-15 21:08:16 +00:00
Daniel Dunbar
5e2ebcba40
Use llvm_report_error, not llvm_unreachable.
...
llvm-svn: 75429
2009-07-12 21:01:49 +00:00
Daniel Dunbar
df555fd6f8
Improve sys::Path::makeAbsolute on Win32.
...
- Patch by Viktor Kutuzov!
- Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.
llvm-svn: 75424
2009-07-12 20:23:56 +00:00
Chris Lattner
a3c69aeb65
"UNIX paths can contain non-ASCII characters, so Path::isValid() should not reject paths with such characters in them. The attached patch removes the check from Path::isValid()."
...
patch by Benjamin Kramer!
llvm-svn: 75421
2009-07-12 19:01:16 +00:00
Chris Lattner
433cf71144
eraseFromDisk no longer throws.
...
llvm-svn: 75139
2009-07-09 16:17:28 +00:00
David Greene
cdde1bb0a6
Add an ExecuteNoWait interface to support asynchronous process spawning.
...
llvm-svn: 75055
2009-07-08 21:46:40 +00:00
Chris Lattner
d41531a2c0
remove two methods that no longer exist.
...
llvm-svn: 74982
2009-07-08 01:07:39 +00:00
Chris Lattner
e4807c5767
more getting windows to build.
...
llvm-svn: 74981
2009-07-08 00:52:12 +00:00
Chris Lattner
e3241b5719
hopefully fix the build on windows.
...
llvm-svn: 74977
2009-07-08 00:29:32 +00:00
Chris Lattner
3612256e2e
Eliminate the static constructors and locks from DynamicLibrary.cpp.
...
This fixes PR4512 and eliminating static ctors is always good. Losing
thread safety is unfortunate, but the code is just incredibly poorly
designed.
If someone is interested, the "right" solution is to split
DynamicLibrary.cpp into two separate pieces: a stateless piece in
libsystem, and a simple support file in libsupport that has the
"state" (e.g. AddSymbol) in managed static objects.
Doing this would both fix memory leaks we already have, as well as make
the code thread safe again. it would also make sense to move all the
unix specific code in System/DynamicLibrary.cpp into
System/Unix/DynamicLibrary.inc.
llvm-svn: 74927
2009-07-07 18:17:07 +00:00
Chris Lattner
5ceb2cb005
remove dead code, noone creates instances of "DynamicLibrary", so the ctor and dtor are dead.
...
llvm-svn: 74926
2009-07-07 18:01:58 +00:00
Chris Lattner
4efb280fb0
we don't use libtool anymore, update comments.
...
llvm-svn: 74924
2009-07-07 17:50:11 +00:00
Owen Anderson
2370b4d81f
No need to double-include config.h
...
llvm-svn: 74854
2009-07-06 21:24:37 +00:00
Owen Anderson
1d182d08ba
We need to include config.h to get the proper setting to LLVM_MULTITHREADED.
...
Patch by Xerxes Ranby.
llvm-svn: 74846
2009-07-06 18:50:47 +00:00
Chris Lattner
738cc28f4d
improve portability to windows, patch by Xerces Ranby!
...
llvm-svn: 74835
2009-07-06 17:24:48 +00:00
Jeffrey Yasskin
5a2e52182a
Oops, I #included errno.h from inside the llvm::sys namespace.
...
llvm-svn: 74834
2009-07-06 16:50:27 +00:00
Duncan Sands
f9cf4ffcc7
Fix windows build, patch by Howard Su.
...
llvm-svn: 74697
2009-07-02 12:09:50 +00:00
Jeffrey Yasskin
1a93330ffa
Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes the
...
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
2009-07-01 18:11:20 +00:00
Owen Anderson
02c4de3573
Try again at making this work on OpenBSD.
...
llvm-svn: 74612
2009-07-01 16:19:23 +00:00
Owen Anderson
cb86e113a9
Fix the build on OpenBSD.
...
llvm-svn: 74597
2009-07-01 06:53:29 +00:00
Oscar Fuentes
136f9a6512
Fixed assert that checks return value of TlsSetValue.
...
See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx
Patch by Olaf Krzikalla!
llvm-svn: 74526
2009-06-30 14:12:28 +00:00
Owen Anderson
331c8ab96f
Fix compilation without pthreads.
...
Patch by Xerxes Ranby.
llvm-svn: 74283
2009-06-26 08:48:03 +00:00