This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix cbacktrace
authorH.Merijn Brand <h.m.brand@xs4all.nl>
Wed, 11 Jun 2014 07:45:44 +0000 (09:45 +0200)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Wed, 11 Jun 2014 07:45:44 +0000 (09:45 +0200)
16 files changed:
Configure
Cross/config.sh-arm-linux
NetWare/config.wc
Porting/Glossary
Porting/config.sh
config_h.SH
configure.com
metaconfig.h
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc

index 059e8cf..02c2a9b 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -28,7 +28,7 @@
 # See Porting/pumpkin.pod for more information on metaconfig.
 #
 
-# Generated on Wed Jun  4 08:58:13 CEST 2014 [metaconfig 3.5 PL0]
+# Generated using [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -9364,6 +9364,29 @@ rp='Pathname where add-on public executable scripts should be installed?'
 prefixvar=sitescript
 . ./setprefixvar
 
+: see if backtrace exists
+set backtrace d_backtrace
+eval $inlibc
+
+: add flags if using c backtrace
+case "$usecbacktrace" in
+  "") usecbacktrace=$undef ;;
+  [yY]*|true|$define)
+    case "$d_backtrace" in
+      [yY]*|true|$define)
+        case " $ccflags " in
+         *" -DUSE_C_BACKTRACE "*) ;; # Already there.
+         *) ccflags="$ccflags -DUSE_C_BACKTRACE -g" ;;
+         esac
+        ;;
+      *)
+        echo "This system does not support backtrace" >&4
+        usecbacktrace=$undef
+        ;;
+      esac
+    ;;
+  esac
+
 : Check if faststdio is requested and available
 case "$usefaststdio" in
 $define|true|[yY]*|'')
@@ -10840,10 +10863,6 @@ set d_attribute_warn_unused_result
 eval $setvar
 $rm -f attrib*
 
-: see if backtrace exists
-set backtrace d_backtrace
-eval $inlibc
-
 : see if bcmp exists
 set bcmp d_bcmp
 eval $inlibc
@@ -12347,17 +12366,6 @@ $rm -f fred fred.* dyna.$dlext dyna.* tmp-dyna.*
 set d_dlsymun
 eval $setvar
 
-: add flags if using c backtrace
-case "$usecbacktrace" in
-[yY]*|true|$define)
-  case " $ccflags " in
-  *" -DUSE_C_BACKTRACE "*) ;; # Already there.
-  *) ccflags="$ccflags -DUSE_C_BACKTRACE -g"
-     ;;
-  esac
-  ;;
-esac
-
 : see if drand48_r exists
 set drand48_r d_drand48_r
 eval $inlibc
@@ -24100,11 +24108,7 @@ EOM
 fi
 
 : preserve RCS keywords in files with variable substitution, grrr
-Date='$Date'
 Id='$Id'
-Log='$Log'
-RCSfile='$RCSfile'
-Revision='$Revision'
 
 : Finish up by extracting the .SH files
 case "$alldone" in
index 1aad80d..f703258 100644 (file)
@@ -1028,6 +1028,7 @@ uquadtype='unsigned long long'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='define'
index f37517d..3824d99 100644 (file)
@@ -991,6 +991,7 @@ uquadtype='unsigned __int64'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='define'
index 301fa66..9128f5f 100644 (file)
@@ -478,6 +478,11 @@ d_attribute_warn_unused_result (d_attribut.U):
        compiler can know that certain functions have a return values
        that must not be ignored, such as malloc() or open().
 
+d_backtrace (d_backtrace.U):
+       This variable conditionally defines the HAS_BACKTRACE symbol, which
+       indicates to the C program that the backtrace() routine is available
+       to get a stack trace.
+
 d_bcmp (d_bcmp.U):
        This variable conditionally defines the HAS_BCMP symbol if
        the bcmp() routine is available to compare strings.
@@ -650,6 +655,11 @@ d_dirnamlen (i_dirent.U):
        to the C program that the length of directory entry names is
        provided by a d_namelen field.
 
+d_dladdr (d_dladdr.U):
+       This variable conditionally defines the HAS_DLADDR symbol, which
+       indicates to the C program that the dladdr() routine is available
+       to get a stack trace.
+
 d_dlerror (d_dlerror.U):
        This variable conditionally defines the HAS_DLERROR symbol, which
        indicates to the C program that the dlerror() routine is available.
@@ -3030,6 +3040,10 @@ i_assert (i_assert.U):
        indicates to the C program that <assert.h> exists and could be
        included.
 
+i_bfd (i_bfd.U):
+       This variable conditionally defines the I_BFD symbol, and
+       indicates whether a C program can include <bfd.h>.
+
 i_bsdioctl (i_sysioctl.U):
        This variable conditionally defines the I_SYS_BSDIOCTL symbol, which
        indicates to the C program that <sys/bsdioctl.h> exists and should
@@ -3057,6 +3071,10 @@ i_dlfcn (i_dlfcn.U):
        indicates to the C program that <dlfcn.h> exists and should
        be included.
 
+i_execinfo (i_execinfo.U):
+       This variable conditionally defines the I_EXECINFO symbol, and indicates
+       whether a C program may include <execinfo.h>, for backtrace() support.
+
 i_fcntl (i_fcntl.U):
        This variable controls the value of I_FCNTL (which tells
        the C program to include <fcntl.h>).
@@ -5084,6 +5102,10 @@ use64bitint (use64bits.U):
        This may mean using for example "long longs", while your memory
        may still be limited to 2 gigabytes.
 
+usecbacktrace (usebacktrace.U):
+       This variable indicates whether we are compiling with backtrace
+       support.
+
 usecrosscompile (Cross.U):
        This variable conditionally defines the USE_CROSS_COMPILE symbol,
        and indicates that Perl has been cross-compiled.
index f20ad5a..2c1c25d 100644 (file)
@@ -1056,6 +1056,7 @@ uquadtype='unsigned long long'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='define'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='define'
 usedl='define'
index 5e8432b..fcd1c4d 100755 (executable)
@@ -131,12 +131,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_difftime HAS_DIFFTIME              /**/
 
-/* HAS_DLADDR:
- *     This symbol, if defined, indicates that the dladdr routine is
- *     available to return information about stack addresses.
- */
-#$d_dladdr HAS_DLADDR  /**/
-
 /* HAS_DLERROR:
  *     This symbol, if defined, indicates that the dlerror routine is
  *     available to return a string describing the last error that
@@ -144,12 +138,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_dlerror HAS_DLERROR        /**/
 
-/* HAS_BACKTRACE:
- *     This symbol, if defined, indicates that the backtrace routine is
- *     available to return backtrace information about the C stack.
- */
-#$d_backtrace HAS_BACKTRACE    /**/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
@@ -701,12 +689,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_dlfcn I_DLFCN              /**/
 
-/* I_EXECINFO:
- *     This symbol, if defined, indicates that <execinfo.h> exists and should
- *     be included.
- */
-#$i_execinfo I_EXECINFO                /**/
-
 /* I_FCNTL:
  *     This manifest constant tells the C program to include <fcntl.h>.
  */
@@ -3338,6 +3320,26 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp"               /**/
 #$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem"            /**/
 
+/* HAS_BACKTRACE:
+ *     This symbol, if defined, indicates that the backtrace() routine is
+ *     available to get a stack trace.  The <execinfo.h> header must be
+ *     included to use this routine.
+ */
+#$d_backtrace HAS_BACKTRACE    /**/
+
+/* HAS_DLADDR:
+ *     This symbol, if defined, indicates that the dladdr() routine is
+ *     available to get a stack trace.  The <execinfo.h> header must be
+ *     included to use this routine.
+ */
+#$d_dladdr HAS_DLADDR  /**/
+
+/* I_EXECINFO:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <execinfo.h> for backtrace() support.
+ */
+#$i_execinfo I_EXECINFO                /**/
+
 /* I_TERMIO:
  *     This symbol, if defined, indicates that the program should include
  *     <termio.h> rather than <sgtty.h>.  There are also differences in
@@ -4232,7 +4234,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 
 /* I_BFD:
  *     This symbol, if defined, indicates that <bfd.h> exists and
- *     could be included by the C program to use the BFD library.
+ *     can be included.
  */
 #$i_bfd        I_BFD           /**/
 
@@ -4701,6 +4703,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$use64bitall  USE_64_BIT_ALL          /**/
 #endif
 
+/* USE_CBACKTRACE:
+ *     This symbol, if defined, indicates that Perl should
+ *     be built with support for backtrace.
+ */
+#$usecbacktrace USE_CBACKTRACE         /**/
+
 /* USE_DTRACE:
  *     This symbol, if defined, indicates that Perl should
  *     be built with support for DTrace.
index deade6d..4d8a4f1 100644 (file)
@@ -6677,6 +6677,7 @@ $ WC "use64bitint='" + use64bitint + "'"
 $ WC "usecasesensitive='" + be_case_sensitive + "'"    ! VMS-specific
 $ WC "usedebugging_perl='"+use_debugging_perl+"'"
 $ WC "usedefaulttypes='" + usedefaulttypes + "'"    ! VMS-specific
+$ WC "usecbacktrace='undef'"
 $ WC "usecrosscompile='undef'"
 $ WC "usedevel='" + usedevel + "'"
 $ WC "usedl='" + usedl + "'"
index 0a90c86..72f73e3 100644 (file)
  * BOOTSTRAP_CHARSET
  * CHARBITS
  * HAS_ASCTIME64
+ * HAS_BACKTRACE
  * HAS_CTIME64
  * HAS_DIFFTIME64
+ * HAS_DLADDR
  * HAS_GMTIME64
  * HAS_ISBLANK
  * HAS_LOCALTIME64
@@ -32,6 +34,7 @@
  * I8SIZE
  * LOCALTIME_R_NEEDS_TZSET
  * U8SIZE
+ * USE_CBACKTRACE
  * USE_KERN_PROC_PATHNAME
  * USE_NSGETEXECUTABLEPATH
  *
index 112878a..fdfba5c 100644 (file)
@@ -999,6 +999,7 @@ uquadtype='unsigned long long'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='undef'
index 4c3c590..fc588c3 100644 (file)
@@ -814,6 +814,7 @@ uquadtype='uint64_t'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='undef'
index 37a2545..6707d66 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_DIFFTIME         / **/
 
-/* HAS_DLADDR:
- *     This symbol, if defined, indicates that the dladdr routine is
- *     available to return information about stack addresses.
- */
-/*#define HAS_DLADDR   / **/
-
 /* HAS_DLERROR:
  *     This symbol, if defined, indicates that the dlerror routine is
  *     available to return a string describing the last error that
  */
 /*#define HAS_DLERROR  / **/
 
-/* HAS_BACKTRACE:
- *     This symbol, if defined, indicates that the backtrace routine is
- *     available to return backtrace information about the C stack.
- */
-/*#define HAS_BACKTRACE        / **/
-
 /* HAS_DUP2:
  *     This symbol, if defined, indicates that the dup2 routine is
  *     available to duplicate file descriptors.
  */
 /*#define I_DLFCN              / **/
 
-/* I_EXECINFO:
- *     This symbol, if defined, indicates that <execinfo.h> exists and should
- *     be included.
- */
-/*#define I_EXECINFO           / **/
-
 /* I_FCNTL:
  *     This manifest constant tells the C program to include <fcntl.h>.
  */
 /*#define PERL_VENDORLIB_EXP ""                / **/
 /*#define PERL_VENDORLIB_STEM ""               / **/
 
+/* HAS_BACKTRACE:
+ *     This symbol, if defined, indicates that the backtrace() routine is
+ *     available to get a stack trace.  The <execinfo.h> header must be
+ *     included to use this routine.
+ */
+/*#define HAS_BACKTRACE        / **/
+
+/* HAS_DLADDR:
+ *     This symbol, if defined, indicates that the dladdr() routine is
+ *     available to get a stack trace.  The <execinfo.h> header must be
+ *     included to use this routine.
+ */
+/*#define HAS_DLADDR   / **/
+
+/* I_EXECINFO:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <execinfo.h> for backtrace() support.
+ */
+/*#define I_EXECINFO           / **/
+
 /* I_TERMIO:
  *     This symbol, if defined, indicates that the program should include
  *     <termio.h> rather than <sgtty.h>.  There are also differences in
 
 /* I_BFD:
  *     This symbol, if defined, indicates that <bfd.h> exists and
- *     could be included by the C program to use the BFD library.
+ *     can be included.
  */
 /*#define      I_BFD           / **/
 
 /*#define      USE_64_BIT_ALL          / **/
 #endif
 
+/* USE_CBACKTRACE:
+ *     This symbol, if defined, indicates that Perl should
+ *     be built with support for backtrace.
+ */
+/*#define USE_CBACKTRACE               / **/
+
 /* USE_DTRACE:
  *     This symbol, if defined, indicates that Perl should
  *     be built with support for DTrace.
 #endif
 
 /* Generated from:
- * 45e2c6b42b88b07e21adb94c47d9bd7bcb8da04e2bbb38d7223eb516eb7d99de config_h.SH
- * 6d0cc2cac48fbe8139cf8a89bdd458a93797d18e649f3ed80896bfe4d218b0a2 uconfig.sh
+ * 611edf01f1919fa67b739fd66ee8691021498ca8029accb0ecd74d6352d4570c config_h.SH
+ * d4c6d7b05a17c792e1a29260fa58783614c7895971bc5a3ab830a39303a2be03 uconfig.sh
  * ex: set ro: */
index 810aaec..5c1a5d6 100644 (file)
@@ -782,6 +782,7 @@ uquadtype='uint64_t'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='undef'
index 8537547..748dfc0 100644 (file)
@@ -782,6 +782,7 @@ uquadtype='unsigned long'
 use5005threads='undef'
 use64bitall='define'
 use64bitint='define'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='undef'
index dae0c60..696f91d 100644 (file)
@@ -981,6 +981,7 @@ uquadtype='unsigned __int64'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='define'
 usedevel='undef'
 usedl='define'
index 2f5e6d0..a92880d 100644 (file)
@@ -1025,6 +1025,7 @@ uquadtype='unsigned long long'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='define'
index 3aa1992..77c8fa1 100644 (file)
@@ -1024,6 +1024,7 @@ uquadtype='unsigned __int64'
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='define'