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
Daniel Dunbar
aa311ca000
Fix unused variable warnings.
...
llvm-svn: 74250
2009-06-26 01:34:35 +00:00
Owen Anderson
276fc52b72
Fix error in the Win32 implementation pointed out by Howard Su.
...
llvm-svn: 74248
2009-06-26 00:51:20 +00:00
Owen Anderson
eba6e65291
Add support for const thread locals.
...
llvm-svn: 74226
2009-06-25 23:31:18 +00:00
Owen Anderson
eb51111851
Fix typo in assertion.
...
llvm-svn: 74225
2009-06-25 23:28:28 +00:00
Owen Anderson
1154983b9c
Add a configure test for pthread_getspecific, and use it when building ThreadLocal.
...
llvm-svn: 74222
2009-06-25 23:10:26 +00:00
Owen Anderson
bc17dc6ed4
Update cmake build files.
...
llvm-svn: 74210
2009-06-25 21:58:34 +00:00
Owen Anderson
f17f6f06fa
Add a class for supporting platform independent thread-local storage.
...
Windows people, please double-check/patch this.
llvm-svn: 74209
2009-06-25 21:58:01 +00:00
Owen Anderson
021c3b0756
Guard dynamic library loading.
...
I did my best at implementing this for Win32, but I don't have a way to test it.
Can someone with access to a Win32 machine test/fix this?
llvm-svn: 74188
2009-06-25 18:12:44 +00:00
Owen Anderson
1fdf01026b
Add atomic multiply and divide operations, built on top of CompareAndSwap.
...
llvm-svn: 74004
2009-06-23 21:19:04 +00:00
Owen Anderson
5cc4131063
Revert my last series of commits related to Timer and 64-bit atomics. Not all the targets
...
we care about are capable of supporting it.
llvm-svn: 73993
2009-06-23 20:17:22 +00:00
Owen Anderson
9262d43c5d
Atomic ops that do arithmetic use signed arithmetic.
...
llvm-svn: 73980
2009-06-23 18:30:27 +00:00
Owen Anderson
9e3df5b67f
Label the existing atomic functions as 32-bit specific, and add a 64-bit one that will be useful in
...
the near future.
llvm-svn: 73971
2009-06-23 18:01:04 +00:00
Owen Anderson
cdf2b2dfea
Add an atomic add operation.
...
llvm-svn: 73964
2009-06-23 17:39:31 +00:00
Owen Anderson
96c51a8de1
Workaround for an... interesting bug in Darwin's pthread_rwlock_init.
...
llvm-svn: 73806
2009-06-20 00:32:27 +00:00
Owen Anderson
ff5f14c15e
Fix bad paste-o in the MSVC atomics.
...
Patch by Ðван СоÑокин.
llvm-svn: 73779
2009-06-19 18:37:50 +00:00
Owen Anderson
1498a7a510
Give RWMutex the SmartRWMutex treatment too.
...
llvm-svn: 73710
2009-06-18 18:26:15 +00:00
Owen Anderson
68f6598c69
Insert a SmartMutex templated class into the class hierarchy, which takes a 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
2009-06-18 17:53:17 +00:00
Ted Kremenek
81ef65d491
Update CMake files to account for new location of Threading.cpp.
...
llvm-svn: 73708
2009-06-18 17:47:09 +00:00
Owen Anderson
7d42b95b6c
Move Threading.[h|cpp] from Support to System.
...
llvm-svn: 73707
2009-06-18 16:54:52 +00:00
Owen Anderson
6eb4a73633
Fix build when disable thread support.
...
Patch by Howard Su.
llvm-svn: 73680
2009-06-18 04:44:46 +00:00
Douglas Gregor
2761988cfd
Add RWMutex.cpp to the CMake makefiles
...
llvm-svn: 73615
2009-06-17 17:01:30 +00:00
Owen Anderson
74af4ee79d
Improve the Win32 reader-writer lock implementation by making it just a normal
...
lock. This is obviously bad, but at least it's threadsafe! If you know how
to improve this in a pre-Vista friendly well, patches welcome!
Patch by Max Burke.
llvm-svn: 73607
2009-06-17 09:10:42 +00:00
Owen Anderson
82b58a843b
Use atomic increment/decrement for reference counting of Type's.
...
llvm-svn: 73588
2009-06-17 00:28:49 +00:00
Owen Anderson
8d0fe6f0d7
Add an atomic increment and decrement implementation, which will be used for
...
thread-safe reference counting.
llvm-svn: 73587
2009-06-17 00:13:00 +00:00
Owen Anderson
79b76b5bea
Accidentally broke this file.
...
llvm-svn: 73552
2009-06-16 20:57:51 +00:00
Owen Anderson
896cee711f
Remove the Win32 implementation, since it doesn't compile pre-Vista.
...
llvm-svn: 73550
2009-06-16 20:49:20 +00:00
Owen Anderson
372a9289a5
Fix/cleanup trailing newlines.
...
llvm-svn: 73546
2009-06-16 20:23:05 +00:00
Owen Anderson
324f94c317
Add a portable wrapper for reader-writer locks.
...
llvm-svn: 73545
2009-06-16 20:19:28 +00:00
Dan Gohman
970da81e8a
glibc has two versions of strerror_r, a standards compliant one and a GNU
...
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
2009-06-15 18:05:46 +00:00
Chris Lattner
7038cd5247
"This patch implements the method with the GetModuleFileName function for windows."
...
Patch by Benjamin Kramer!
llvm-svn: 73379
2009-06-15 05:38:04 +00:00
Chris Lattner
3f556daa6e
add a new static method to portably determine whether a patch is
...
absolute or not, based on a patch by Gregory Curfman!
llvm-svn: 73368
2009-06-15 04:17:07 +00:00
Torok Edwin
63e44bb2a9
Fix comments.
...
llvm-svn: 72858
2009-06-04 08:18:25 +00:00
Torok Edwin
9b5a47fc3c
Add support for outputting ANSI colors to raw_fd_ostream.
...
llvm-svn: 72854
2009-06-04 07:09:50 +00:00
Duncan Sands
06b61a281a
At a newline at the end of this file.
...
llvm-svn: 72767
2009-06-03 11:54:28 +00:00
Owen Anderson
5bd914d0ae
Undef MemoryFence when compiling on MSVC.
...
llvm-svn: 72732
2009-06-02 17:35:55 +00:00
Bill Wendling
09f17a8479
Untabification.
...
llvm-svn: 72604
2009-05-30 01:09:53 +00:00
Jay Foad
c1fca9fb3a
Work around a page size issue on Cygwin.
...
llvm-svn: 72332
2009-05-23 17:57:59 +00:00
Owen Anderson
2ef7cae93b
Add Atomic.cpp to the CMake build system.
...
llvm-svn: 72202
2009-05-21 00:48:56 +00:00
Owen Anderson
76ae5dde51
Tabs, be gone!
...
llvm-svn: 72180
2009-05-20 19:06:49 +00:00
Owen Anderson
5b9400d6bd
I just fail today.
...
Hopefully this fixes the last build errors on systems with GCC < 4.1.
llvm-svn: 72179
2009-05-20 19:01:50 +00:00
Owen Anderson
04911b4fee
Copy-and-paste-o.
...
llvm-svn: 72177
2009-05-20 18:47:53 +00:00
Owen Anderson
e5370f409b
Move atomic operations' definitions out of line. While this seems kind of silly,
...
all kinds of problems caused by including windows.h and/or config.h in an LLVM header.
llvm-svn: 72174
2009-05-20 18:26:15 +00:00
Douglas Gregor
b81294d989
termios.h contains the winsize structure we need to determine the
...
width of a terminal. Don't try to get the width of a terminal if we
don't have this header.
llvm-svn: 72018
2009-05-18 17:21:34 +00:00
Douglas Gregor
15436617f4
Add terminal width detection to llvm::sys::Process. This is needed to
...
fix Clang PRs 4148 and 4183.
llvm-svn: 71448
2009-05-11 18:05:52 +00:00
Stefanus Du Toit
d2b7be6e9b
Fix choice of version of Windows callback to use to consider not only the Visual Studio version, but also the Windows SDK version.
...
Patch by Tareq Siraj.
llvm-svn: 70299
2009-04-28 16:37:58 +00:00
Torok Edwin
c8afb09a3b
Fix g++-4.4.0 warning, it was causing llvm-nm to fail on wrapped BC files:
...
Path.cpp:59: warning: case label value exceeds maximum value for type
magic[0] is a (signed) char, but some case values are unsigned (e.g. 0xde).
When magic[0] was 0xde, the switch has taken the default branch instead of case
0xde branch.
Apparently this was the behaviour with older versions of gcc too, but not with g++.
Now g++-4.4 behaves as gcc, and ignores unsigned case values out of range signed
range.
llvm-svn: 70038
2009-04-25 10:25:12 +00:00
Anton Korobeynikov
f7d0c1a5e6
Silence warnings.
...
Patch by Jay Foad!
llvm-svn: 69679
2009-04-21 16:04:56 +00:00
Anton Korobeynikov
5a4b52dc0c
Drop obsolete reference to __eprintf.
...
Patch by Jay Foad!
llvm-svn: 69678
2009-04-21 16:04:41 +00:00
Daniel Dunbar
3222b9be04
Make Unix.h:MakeErrMsg separate the prefix and errno string, so we get:
...
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
2009-04-20 20:50:13 +00:00
Mikhail Glushenkov
60cde5ba7c
Call CreateProcess with bInheritHandles = TRUE.
...
Makes llvmc show error messages printed by child processes when run from the
Cygwin/MSYS shell. Since ExecuteAndWait does not return until the child program
has finished execution, this change should be harmless.
llvm-svn: 69082
2009-04-14 21:31:36 +00:00
Mikhail Glushenkov
3a62efb732
Delete trailing whitespace.
...
llvm-svn: 69081
2009-04-14 21:31:14 +00:00
Chris Lattner
ce8b7d2e24
fix PR3965:SIGINT handler not restored after calling ParseAST(),
...
patch by Alexei Svitkine!
llvm-svn: 68929
2009-04-12 23:33:13 +00:00
Daniel Dunbar
3f48987069
Add sys::Path::makeAbsolute().
...
llvm-svn: 68663
2009-04-09 00:33:08 +00:00
Chris Lattner
7e06443d44
hopefully fix an apparent build error on windows.
...
llvm-svn: 68175
2009-04-01 02:03:38 +00:00
Daniel Dunbar
fb1a6eb69b
Add llvm::sys::getHostTriple and remove
...
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
2009-03-31 17:30:15 +00:00
Chris Lattner
f2b60658ef
fix a bug Alexei Svitkine pointed out.
...
llvm-svn: 67510
2009-03-23 06:46:20 +00:00
Chris Lattner
fb95472123
When we restore signal handlers, restore them back to what they
...
were when we came around, not to their default handler. This
should fix PR3848
llvm-svn: 67509
2009-03-23 05:55:36 +00:00
Chris Lattner
f299a68ee0
factorize signal registration, part of PR3848.
...
llvm-svn: 67508
2009-03-23 05:42:29 +00:00
Sebastian Redl
8d5baa09f8
Fix the Win32 VS2008 build:
...
- Make type declarations match the struct/class keyword of the definition.
- Move AddSignalHandler into the namespace where it belongs.
- Correctly call functions from template base.
- Some other small changes.
With this patch, LLVM and Clang should build properly and with far less noise under VS2008.
llvm-svn: 67347
2009-03-19 23:26:52 +00:00
Chris Lattner
bb1ba7b7d3
add some explicit llvm:: qualifiers to the unix side, fix problems on the windows side.
...
llvm-svn: 66386
2009-03-08 19:13:45 +00:00
Chris Lattner
6acb4d6f7e
When a crash signal is delivered do two things: remove all of our
...
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
2009-03-07 08:15:47 +00:00
Chris Lattner
bbbbbf30bd
move some code to gracefully handle the case when a handler crashes.
...
llvm-svn: 66171
2009-03-05 18:22:14 +00:00
Chris Lattner
4fdd042d9e
Add a new 'AddSignalHandler' function to Signals.h that allows
...
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
2009-03-04 21:21:36 +00:00
Chris Lattner
bab4417e05
Fix main executable path name resolution on FreeBSD, patch by
...
Ed Schouten!
llvm-svn: 65882
2009-03-02 22:17:15 +00:00
Chris Lattner
3c50fdf4ca
If an executable is run through a symlink, dladdr will return the
...
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
2009-02-19 05:34:35 +00:00
Mikhail Glushenkov
58a1a8e546
Fix warning on gcc 4.3.
...
"system() declared with attribute warn_unused_result."
llvm-svn: 64574
2009-02-15 03:20:32 +00:00
Mikhail Glushenkov
a539836b95
Whitespace fixes.
...
llvm-svn: 64573
2009-02-15 03:20:03 +00:00
Cedric Venet
d1e179d992
Unbreak the build on win32.
...
Cleanup some warning.
Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync.
Only tested with VS2008. hope it does not break anything. feel free to revert.
llvm-svn: 64554
2009-02-14 16:06:42 +00:00
Julien Lerouge
7682ffdeb9
Fix MingW build, patch by Kenneth Boyd!
...
llvm-svn: 64366
2009-02-12 07:39:10 +00:00
Dan Gohman
1f517dd1c4
Use const, to support platforms where strrchr returns a const char *.
...
This fixes PR3535.
llvm-svn: 64224
2009-02-10 17:56:28 +00:00
Mikhail Glushenkov
8b5bfbfc7a
Add a Sleep() function.
...
llvm-svn: 64101
2009-02-08 22:47:39 +00:00
Mikhail Glushenkov
a6435d48bc
Add Emacs hints to Alarm.inc.
...
Also removes some trailing whitespace and fixes one 80-column violation.
llvm-svn: 64094
2009-02-08 21:10:57 +00:00
Chris Lattner
dfb6735385
Fix windows build, patch by Marius Wachtler!
...
llvm-svn: 63325
2009-01-29 18:53:28 +00:00
Chris Lattner
c0474013cb
Fix PR3424, a static constructor ordering issue. Patch by Robert Schuster!
...
llvm-svn: 63269
2009-01-29 04:43:42 +00:00
Chris Lattner
aa1212271a
rename methods in System/Host to be more consistent.
...
llvm-svn: 62776
2009-01-22 19:53:00 +00:00
Misha Brukman
5cbf223916
Removed trailing whitespace from Makefiles.
...
llvm-svn: 61991
2009-01-09 16:44:42 +00:00
Dan Gohman
35e2cfccaf
Don't use plain %x to print pointer values. I had changed it from %p
...
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
2008-12-05 23:39:24 +00:00
Dan Gohman
7f079aabed
Demangle and pretty-print symbols in internal backtraces. Patch by
...
Wesley Peck, with a few fixes by me.
llvm-svn: 60605
2008-12-05 20:12:48 +00:00
Evan Cheng
889b79bb86
ARM / Mac OS X also wants to invalidate icache after jitting.
...
llvm-svn: 59291
2008-11-14 02:33:17 +00:00
Oscar Fuentes
0c6b786ab2
CMake: when bulding shared libraries on non-WIN32 systems, link dl to
...
LLVMSystem.
llvm-svn: 59159
2008-11-12 20:40:56 +00:00
Nuno Lopes
2817338558
plug leakage of mutex data. pthread_mutex_destroy() doesnt free our malloc'ed memory.
...
llvm-svn: 58805
2008-11-06 16:21:49 +00:00
Evan Cheng
c1d10e6b42
hasDisassembler should return false if disassembler isn't available.
...
llvm-svn: 58682
2008-11-04 06:09:38 +00:00
Anton Korobeynikov
1db1b64e6e
Silence a warning
...
llvm-svn: 58563
2008-11-02 11:47:11 +00:00
Jim Grosbach
9396051e3d
Update the stub and callback code to handle lazy compilation. The stub
...
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
2008-10-20 21:39:23 +00:00
Duncan Sands
26ff6f9c54
Add <cstdio> include where needed by gcc-4.4.
...
Patch by Samuel Tardieu.
llvm-svn: 57291
2008-10-08 07:23:46 +00:00
Argyrios Kyrtzidis
a6f9bb7905
Add implementations for sys::Memory::setWritable and sys::Memory::setExecutable on Win32 platform.
...
llvm-svn: 57047
2008-10-04 08:15:32 +00:00
Jim Grosbach
b22ef71d46
On Darwin ARM, memory needs special handling to do JIT. This patch expands
...
this handling to work properly for modifying stub functions, relocations
back to entry points after JIT compilation, etc..
llvm-svn: 57013
2008-10-03 16:17:20 +00:00
Oscar Fuentes
e3c43d6279
CMake: Added Host.cpp to lib/System/CMakeLists.txt.
...
llvm-svn: 56957
2008-10-02 17:39:29 +00:00
Daniel Dunbar
e52e6bfd29
Add llvm::sys::{osName,osVersion} for retrieving operating system name
...
& version as strings.
- Win32 code is untested.
llvm-svn: 56942
2008-10-02 01:17:28 +00:00
Oscar Fuentes
a229b3c9a7
Initial support for the CMake build system.
...
llvm-svn: 56419
2008-09-22 01:08:49 +00:00
Evan Cheng
5cc53c34c3
Preliminary support for systems which require changing JIT memory regions privilege from read / write to read / executable.
...
llvm-svn: 56303
2008-09-18 07:54:21 +00:00
Evan Cheng
7c5dbd95e2
AllocateRWXMemory -> AllocateRWX.
...
llvm-svn: 56244
2008-09-16 17:28:18 +00:00
Chris Lattner
b56e07e736
add a helper method to sys::Path for clang, patch by
...
Kovarththanan Rajaratnam!
llvm-svn: 54655
2008-08-11 23:39:47 +00:00
Devang Patel
cbfc1a4737
Create temp. file in current path.
...
llvm-svn: 53973
2008-07-24 00:35:38 +00:00
Devang Patel
c5552c44a0
While creating temp. file on disk, if the current filename points to a existing directory then create new temp. file inside the directory.
...
llvm-svn: 53929
2008-07-22 20:02:39 +00:00
Devang Patel
bd06440440
Handle bitcode wrappers.
...
llvm-svn: 53924
2008-07-22 18:00:36 +00:00
Chris Lattner
2e24e0ca68
open plugins with RTLD_GLOBAL, pointed out by Bram Adams.
...
llvm-svn: 53385
2008-07-10 00:52:20 +00:00
Chris Lattner
a660f4bb07
Add a little wrapper header that is put around bc files when emitting
...
bc files for modules with a target triple that indicates they are for
darwin. The reader unconditionally handles this, and the writer could
turn this on for more targets if we care.
This change has two benefits for darwin:
1) it allows us to encode the cpu type of the file in an easy to read
place that doesn't require decoding the bc file.
2) it works around a bug (IMO) in darwin's AR where it is incapable of
handling files that are not a multiple of 8 bytes long. BC files
are only guaranteed to be multiples of 4 bytes long.
llvm-svn: 53275
2008-07-09 05:14:23 +00:00
Seo Sanghyeon
8f7291387f
Fix GetMainExecutable. Patch by Sam Bishop.
...
llvm-svn: 52847
2008-06-27 22:55:30 +00:00
Matthijs Kooijman
f61fd54237
Make LLVM compile on DragonFly BSD (PR2499).
...
Patch by Hasso Tepper!
llvm-svn: 52781
2008-06-26 10:36:58 +00:00
Bill Wendling
3fdca23ee1
Cleanup for unitialized types. Patch by Jean-Daniel Dupas!
...
llvm-svn: 52775
2008-06-26 08:32:05 +00:00
Chris Lattner
d4741e803f
"An improved Mach-O file type detection for sys::IdentifyFileType()
...
This patch add supports for single architecture mach-o files (the current implementation only support Universal Binary), and solve the signature conflict between java class and Universal Binary magics.
Note that this function will always returned dynamic library for Universal Binaries (like the current implementation) because the binary type is not include in the file header."
Patch by Jean-Daniel Dupas!
llvm-svn: 52766
2008-06-26 05:17:18 +00:00
Chris Lattner
b4325a8316
fix compilation errors in my previous patch
...
llvm-svn: 52733
2008-06-25 17:17:53 +00:00
Chris Lattner
881d537d2c
Add a new InvalidateInstructionCache method to sys::Memory.
...
llvm-svn: 52731
2008-06-25 17:14:10 +00:00
Dan Gohman
1cf5af9e42
Use static_cast instead of reinterpret_cast for casting void*.
...
llvm-svn: 52592
2008-06-21 20:17:03 +00:00
Argyrios Kyrtzidis
06f0d441f7
Minor comment fix.
...
llvm-svn: 52312
2008-06-16 10:14:09 +00:00
Wojciech Matyjewicz
c6a6618e6a
Add a missing semicolon.
...
llvm-svn: 52290
2008-06-15 18:02:47 +00:00
Argyrios Kyrtzidis
2cc0abf260
Fix the sys::Path::getSuffix() implementation.
...
llvm-svn: 52288
2008-06-15 15:15:19 +00:00
Argyrios Kyrtzidis
24f99985b8
Fix the environment block that is passed to the CreateProcess function.
...
This bug made llvm-ld unable to function with "-native" option, since the process that was used to call 'gcc' was crashing.
llvm-svn: 52284
2008-06-15 03:54:39 +00:00
Matthijs Kooijman
1cc695efd7
Fix redirection of stderr in sys::Program::ExecuteAndWait. There was logic
...
error that caused it to redirect stderr to stdout too often.
This fix is applied identically to the win32 code as well, but that is
untested.
--Thi line, and those below, will be ignored--
M System/Unix/Program.inc
M System/Win32/Program.inc
llvm-svn: 52233
2008-06-12 12:53:35 +00:00
Matthijs Kooijman
616e484be4
Make I/O redirection handling in sys::Program a bit more consistent. No
...
functional changes. Win32 code is untested, but should work fine.
In the unix variant, rename RedirectFD to RedirectIO and let that function
handle empty and null paths instead of doing that in the caller 3 times. This
is the same as win32 already does it.
In the win32 variant, use Path::isEmpty() instead of checking the resulting
c_str() manually. This is the same as unix already does it.
llvm-svn: 52230
2008-06-12 10:47:18 +00:00
Anton Korobeynikov
5e8644071d
Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
...
Patch by Julien Lerouge!
llvm-svn: 52037
2008-06-06 07:20:07 +00:00