summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Matt Mullins [Mon, 26 May 2014 06:15:07 +0000 (23:15 -0700)]
Use macro for uint64_t printf format
Matt Mullins [Mon, 26 May 2014 05:21:42 +0000 (22:21 -0700)]
Use a check_segfault script as an automated test.
Matt Mullins [Mon, 26 May 2014 05:03:21 +0000 (22:03 -0700)]
Build the "segfault" test program.
Matt Mullins [Mon, 26 May 2014 02:29:18 +0000 (19:29 -0700)]
Include the version script with "make dist"
Matt Mullins [Mon, 26 May 2014 02:18:57 +0000 (19:18 -0700)]
Only register the native target.
It's highly unlikely that we're going to receive a SIGSEGV for code on
a different architecture.
Matt Mullins [Mon, 26 May 2014 02:15:49 +0000 (19:15 -0700)]
Don't register the signal handler if LLVM fails
If we fail to find an appropriate disassembler, we're just going to segfault
ourselves in the handle_sigsegv() anyway. Let's not do that.
Matt Mullins [Mon, 26 May 2014 02:14:28 +0000 (19:14 -0700)]
Makefile: complain loudly about code.
Matt Mullins [Mon, 26 May 2014 02:04:51 +0000 (19:04 -0700)]
Use the LLVM disassembler to advance %rip.
This contains logic to only permit the LLVM disassembler to read the page
containing the faulting address, so this cannot handle instructions that span
two pages. The effect of doing so would likely be ++%rip, but that has not
been tested yet.
Matt Mullins [Mon, 26 May 2014 01:24:50 +0000 (18:24 -0700)]
Use a GNU ld version script to hide all symbols
Without this, running clang (or anything else that uses LLVM) will crash
because we might LD_PRELOAD the wrong symbol versions into its binary.
We don't need to export any symbols at all, since everything is done via the
.init section. This library just needs to be mapped in memory somewhere so our
function pointers don't disappear.
Matt Mullins [Sun, 25 May 2014 23:23:12 +0000 (16:23 -0700)]
Initialize LLVM target and disassembler.
Matt Mullins [Sun, 25 May 2014 22:49:45 +0000 (15:49 -0700)]
Use autoconf to build.
Matt Mullins [Sun, 25 May 2014 22:06:29 +0000 (15:06 -0700)]
Set up LLVM at initialization.
Matt Mullins [Sun, 25 May 2014 22:02:43 +0000 (15:02 -0700)]
C++ doesn't do structure initialization.
Matt Mullins [Sun, 25 May 2014 21:55:02 +0000 (14:55 -0700)]
Use C++ because LLVM is C++.
Matt Mullins [Sun, 18 May 2014 00:13:19 +0000 (17:13 -0700)]
Add supporting test programs.
Matt Mullins [Sun, 18 May 2014 00:13:10 +0000 (17:13 -0700)]
Initial commit.