Browse Source

Windows: Use backtrace.dll to print usable backtraces to stderr on crash

Luke Dashjr 12 years ago
parent
commit
12bc64ee33
2 changed files with 8 additions and 3 deletions
  1. 4 3
      make-release
  2. 4 0
      miner.c

+ 4 - 3
make-release

@@ -9,10 +9,10 @@ sw="$1"; shift || true
 builds=(win32 win64)
 
 win32_machine='i686-pc-mingw32'
-win32_CFLAGS='-march=i686'
+win32_CFLAGS='-g -march=i686'
 
 win64_machine='x86_64-w64-mingw32'
-win64_CFLAGS=''
+win64_CFLAGS='-g'
 
 IDIR="$PWD"
 OUTDIR="$PWD"
@@ -42,6 +42,7 @@ tar cjvpf "$OUTDIR/${sw}.tbz2" "$sw"
 SRCDIR="$TMPDIR/$sw"
 
 dlls='
+	backtrace.dll
 	pdcurses.dll
 	libcurl-4.dll
 	pthreadGC2.dll
@@ -64,7 +65,7 @@ for build in "${builds[@]}"; do
 	cd "$TMPDIR"
 	mkdir -vp "$PKGDIR"
 	for v in machine CFLAGS; do
-		eval "${v}"="$(eval echo "\${${build}_${v}}")"
+		eval "${v}"="'$(eval echo "\${${build}_${v}}")'"
 	done
 	libdir="/usr/$machine/usr/bin/$dll"
 	for dll in $dlls; do

+ 4 - 0
miner.c

@@ -7654,6 +7654,10 @@ int main(int argc, char *argv[])
 	int i, j;
 	char *s;
 
+#ifdef WIN32
+	LoadLibrary("backtrace.dll");
+#endif
+
 	blkmk_sha256_impl = my_blkmaker_sha256_callback;
 
 	/* This dangerous functions tramples random dynamically allocated