| @@ -1,36 +1,36 @@ | | | @@ -1,36 +1,36 @@ |
1 | $NetBSD: patch-ab,v 1.8 2012/08/12 07:20:15 ryoon Exp $ | | 1 | $NetBSD: patch-ab,v 1.9 2012/08/24 12:48:11 ryoon Exp $ |
2 | | | 2 | |
3 | --- zfuncs.cc.orig 2012-08-04 11:58:30.000000000 +0000 | | 3 | --- zfuncs.cc.orig 2012-08-04 11:58:30.000000000 +0000 |
4 | +++ zfuncs.cc | | 4 | +++ zfuncs.cc |
5 | @@ -81,6 +81,7 @@ void zappcrash(cchar *pMess, ... ) | | 5 | @@ -81,6 +81,7 @@ void zappcrash(cchar *pMess, ... ) |
6 | | | 6 | |
7 | printf("*** zappcrash: \n %s \n",message); // output message to stdout | | 7 | printf("*** zappcrash: \n %s \n",message); // output message to stdout |
8 | | | 8 | |
9 | +#if defined (__linux__) || (defined (__NetBSD__) && (__NetBSD_Version__ >= 699000000)) | | 9 | +#if defined (HAVE_LINEXECINFO) |
10 | nstack = backtrace(stacklist,nstack); // get traceback data | | 10 | nstack = backtrace(stacklist,nstack); // get traceback data |
11 | stackents = backtrace_symbols(stacklist,nstack); | | 11 | stackents = backtrace_symbols(stacklist,nstack); |
12 | | | 12 | |
13 | @@ -90,6 +91,7 @@ void zappcrash(cchar *pMess, ... ) | | 13 | @@ -90,6 +91,7 @@ void zappcrash(cchar *pMess, ... ) |
14 | fid1 = fopen("zappcrash","w"); // text file for backtrace | | 14 | fid1 = fopen("zappcrash","w"); // text file for backtrace |
15 | | | 15 | |
16 | fprintf(fid1,"zappcrash: \n %s \n",message); // output message to text file | | 16 | fprintf(fid1,"zappcrash: \n %s \n",message); // output message to text file |
17 | +#endif | | 17 | +#endif |
18 | | | 18 | |
19 | cc = readlink("/proc/self/exe",progexe,300); // get own program path | | 19 | cc = readlink("/proc/self/exe",progexe,300); // get own program path |
20 | if (cc <= 0) { | | 20 | if (cc <= 0) { |
21 | @@ -98,6 +100,7 @@ void zappcrash(cchar *pMess, ... ) | | 21 | @@ -98,6 +100,7 @@ void zappcrash(cchar *pMess, ... ) |
22 | } | | 22 | } |
23 | progexe[cc] = 0; | | 23 | progexe[cc] = 0; |
24 | | | 24 | |
25 | +#if defined (__linux__) || (defined (__NetBSD__) && (__NetBSD_Version__ >= 699000000)) | | 25 | +#if defined (HAVE_LINEXECINFO) |
26 | for (ii = 0; ii < nstack; ii++) // output backtrace to text file | | 26 | for (ii = 0; ii < nstack; ii++) // output backtrace to text file |
27 | { | | 27 | { |
28 | pfunc = 0; | | 28 | pfunc = 0; |
29 | @@ -117,6 +120,7 @@ void zappcrash(cchar *pMess, ... ) | | 29 | @@ -117,6 +120,7 @@ void zappcrash(cchar *pMess, ... ) |
30 | | | 30 | |
31 | fprintf(fid1," %s %s \n",stackents[ii],pfunc); // write to text file | | 31 | fprintf(fid1," %s %s \n",stackents[ii],pfunc); // write to text file |
32 | } | | 32 | } |
33 | +#endif | | 33 | +#endif |
34 | | | 34 | |
35 | fclose(fid1); | | 35 | fclose(fid1); |
36 | | | 36 | |