electric-fence 2.1.13-0.1
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>
This commit is contained in:
parent
daaa4a80a6
commit
1fc1ecf9f8
1 changed files with 59 additions and 0 deletions
59
Formula/electric-fence.rb
Normal file
59
Formula/electric-fence.rb
Normal file
|
@ -0,0 +1,59 @@
|
|||
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
|
Loading…
Reference in a new issue