1fc1ecf9f8
Formula for Electric Fence, the C malloc debug library written by Bruce Perens. Closes Homebrew/homebrew#22596. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
59 lines
1.4 KiB
Ruby
59 lines
1.4 KiB
Ruby
require 'formula'
|
|
|
|
class ElectricFence < Formula
|
|
homepage 'http://perens.com/FreeSoftware/ElectricFence/'
|
|
url 'http://perens.com/FreeSoftware/ElectricFence/electric-fence_2.1.13-0.1.tar.gz'
|
|
version '2.1.13-0.1'
|
|
sha1 'e6765bcb1543272040b806eea706fc7ae9b60524'
|
|
|
|
def install
|
|
system "make"
|
|
lib.install "libefence.a"
|
|
man3.install "libefence.3"
|
|
end
|
|
|
|
def patches
|
|
# Patch based on this MacPorts port: https://trac.macports.org/ticket/23836
|
|
# Discussion on how to port it to OS X: http://lists.apple.com/archives/xcode-users/2005/Oct/msg00791.html
|
|
DATA
|
|
end
|
|
|
|
test do
|
|
(testpath/'test1.c').write <<-EOS.undent
|
|
#include <stdlib.h>
|
|
int main() {
|
|
int *arr = (int*)malloc(sizeof(int) * 10);
|
|
arr[10] = 1000;
|
|
return 0;
|
|
}
|
|
EOS
|
|
#{ENV.cc}, (testpath/'test1.c'), '-lefence'
|
|
end
|
|
end
|
|
|
|
__END__
|
|
diff --git a/Makefile b/Makefile
|
|
index 660f586..82054b9 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -4,7 +4,7 @@ AR= ar
|
|
INSTALL= install
|
|
MV= mv
|
|
CHMOD= chmod
|
|
-CFLAGS= -g
|
|
+CFLAGS= -g -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS
|
|
LIB_INSTALL_DIR= /usr/lib
|
|
MAN_INSTALL_DIR= /usr/man/man3
|
|
|
|
diff --git a/page.c b/page.c
|
|
index 07ac9d5..69374c4 100644
|
|
--- a/page.c
|
|
+++ b/page.c
|
|
@@ -30,7 +30,7 @@
|
|
static caddr_t startAddr = (caddr_t) 0;
|
|
|
|
#if ( !defined(sgi) && !defined(_AIX) )
|
|
-extern int sys_nerr;
|
|
+/*extern int sys_nerr;*/
|
|
/*extern char * sys_errlist[];*/
|
|
#endif
|