| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 120298
|
|
|
|
| |
llvm-svn: 116072
|
|
|
|
|
|
|
| |
end up altering the thread on which crashes are done because of its use of
Darwin's broken raise() implementation.
llvm-svn: 114558
|
|
|
|
| |
llvm-svn: 112705
|
|
|
|
|
|
|
|
|
| |
of the current thread. This has the unfortunate effect that assert() and abort()
will end up bypassing our crash recovery attempts. We work around this for
anything in the same linkage unit by just defining our own versions of the
assert handler and abort.
llvm-svn: 111583
|
|
|
|
|
|
|
|
|
| |
and change llvm::sys::RunInterruptHandlers to call that function directly
instead of calling SignalHandler, because the rest of SignalHandler
invokes side effects which aren't appropriate, including raising the
signal.
llvm-svn: 104896
|
|
|
|
|
|
| |
stuff.
llvm-svn: 103333
|
|
|
|
|
|
|
|
| |
libstdc++'s std::string class points to the interior of an allocation, valgrind
reports strings still alive at program termination as possible leaks. I didn't
use a ManagedStatic for this because System can't depend on Support.
llvm-svn: 98716
|
|
|
|
| |
llvm-svn: 96172
|
|
|
|
|
|
| |
Kees van Reeuwijk!
llvm-svn: 95946
|
|
|
|
| |
llvm-svn: 85575
|
|
|
|
| |
llvm-svn: 79254
|
|
|
|
|
|
| |
patch by Alexei Svitkine!
llvm-svn: 68929
|
|
|
|
| |
llvm-svn: 67510
|
|
|
|
|
|
|
| |
were when we came around, not to their default handler. This
should fix PR3848
llvm-svn: 67509
|
|
|
|
| |
llvm-svn: 67508
|
|
|
|
|
|
| |
windows side.
llvm-svn: 66386
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 66171
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This fixes PR3535.
llvm-svn: 64224
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Wesley Peck, with a few fixes by me.
llvm-svn: 60605
|
|
|
|
| |
llvm-svn: 51088
|
|
|
|
| |
llvm-svn: 50659
|
|
|
|
| |
llvm-svn: 49496
|
|
|
|
|
|
| |
dynamic initialization.
llvm-svn: 48666
|
|
|
|
|
|
| |
program.
llvm-svn: 47161
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
| |
Patch by Sterling Stein!
llvm-svn: 41758
|
|
|
|
|
|
| |
Implement the PathWithStatus class and its use throughout lib/System.
llvm-svn: 35742
|
|
|
|
|
|
|
|
| |
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.
llvm-svn: 35476
|
|
|
|
|
|
|
| |
Make the Win32 code exception free (untested/uncompiled) which forced some
interface changes which had ripple effect. This should be the last of 797.
llvm-svn: 29884
|
|
|
|
| |
llvm-svn: 29541
|
|
|
|
|
|
|
|
|
|
|
| |
the removal of directories. Using std::remove is indiscriminate and can
lead to the removal of things like /dev/null if run as root. The
Path::eraseFromDisk method ensures that we only ever remove regular files
or directories, but never character or block special nodes. This should
clear up the problem with usage like: llvm-as -o /dev/null which is used
in the llvm-test makefiles.
llvm-svn: 29540
|
|
|
|
| |
llvm-svn: 29443
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 28810
|
|
|
|
|
|
| |
build will not fail
llvm-svn: 22578
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 22354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 22349
|
|
|
|
| |
llvm-svn: 21704
|
|
|
|
| |
llvm-svn: 21453
|
|
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
|