Front page | perl.perl5.changes |
Postings from May 2008
Change 33904: Integrate:
From:
Dave Mitchell
Date:
May 21, 2008 09:45
Subject:
Change 33904: Integrate:
Change 33904 by davem@davem-pigeon on 2008/05/21 16:37:54
Integrate:
[ 33631]
Subject: [PATCH] Re: Change 33598: [PATCH] Re: Smoke [5.11.0] 33456 PASS darwin 9.2.0 (macppcG5/1 cpu)
From: "Jerry D. Hedden" <jdhedden@cpan.org>
Date: Wed, 2 Apr 2008 13:45:26 -0400
Message-ID: <1ff86f510804021045s1f7ec22ftbf5b9e2f2c6c619e@mail.gmail.com>
[ 33757]
Use File::Find rather than shell globbing to get the list of *.pm files
to pass to AutoSplit::autosplit_lib_modules(). This way we only need to
invoke miniperl once, and we don't miss anything that is 3 or more
levels deep.
[ 33843]
Subject: [perl #54120] [PATCH] [metaconfig] Need more -fstack-protector
From: Andy Dougherty (via RT) <perlbug-followup@perl.org>
Date: Tue, 13 May 2008 09:37:07 -0700
Message-ID: <rt-3.6.HEAD-9992-1210696625-331.54120-75-0@perl.org>
[ 33845]
Subject: [PATCH] Re: [perl #50180] NDBM_File fails to build
From: Andy Dougherty <doughera@lafayette.edu>
Date: Tue, 13 May 2008 12:28:45 -0400 (EDT)
Message-ID: <Pine.LNX.4.64.0805131224130.9728@fractal.phys.lafayette.edu>
[ 33887]
Subject: Re: Change 33843: [perl #54120] [PATCH] [metaconfig] Need more -fstack-protector
From: Andy Dougherty <doughera@lafayette.edu>
Date: Tue, 20 May 2008 11:21:14 -0400 (EDT)
Message-ID: <Pine.LNX.4.64.0805201102040.767@fractal.phys.lafayette.edu>
Affected files ...
... //depot/maint-5.10/perl/Configure#9 integrate
... //depot/maint-5.10/perl/Makefile.SH#5 integrate
... //depot/maint-5.10/perl/Porting/Glossary#7 integrate
... //depot/maint-5.10/perl/config_h.SH#7 integrate
... //depot/maint-5.10/perl/ext/NDBM_File/NDBM_File.xs#2 integrate
... //depot/maint-5.10/perl/hints/linux.sh#2 integrate
Differences ...
==== //depot/maint-5.10/perl/Configure#9 (xtext) ====
Index: perl/Configure
--- perl/Configure#8~33894~ 2008-05-20 16:39:57.000000000 -0700
+++ perl/Configure 2008-05-21 09:37:54.000000000 -0700
@@ -25,7 +25,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Sun Mar 30 11:17:56 CEST 2008 [metaconfig 3.5 PL0]
+# Generated on Tue May 20 17:29:22 CEST 2008 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
@@ -873,6 +873,9 @@
i_math=''
i_memory=''
i_mntent=''
+d_ndbm=''
+i_gdbm_ndbm=''
+i_gdbmndbm=''
i_ndbm=''
i_netdb=''
i_neterrno=''
@@ -5119,7 +5122,7 @@
# as that way the compiler can do the right implementation dependant
# thing. (NWC)
case "$gccversion" in
- ?*) set stack-protector -fstack-protector 'ldflags="$ldflags -fstack-protector"'
+ ?*) set stack-protector -fstack-protector
eval $checkccflag
;;
esac
@@ -5261,6 +5264,15 @@
;;
*) dflt="$ldflags";;
esac
+# See note above about -fstack-protector
+case "$ccflags" in
+*-fstack-protector*)
+ case "$dflt" in
+ *-fstack-protector*) ;; # Don't add it again
+ *) dflt="$dflt -fstack-protector" ;;
+ esac
+ ;;
+esac
: Try to guess additional flags to pick up local libraries.
for thislibdir in $libpth; do
@@ -6567,7 +6579,7 @@
$cat >try.c <<EOCP
#include <stdlib.h>
#include <malloc.h>
-$i_mallocmalloc I_MALLOCMALLOC
+#$i_mallocmalloc I_MALLOCMALLOC
#ifdef I_MALLOCMALLOC
# include <malloc/malloc.h>
#endif
@@ -8023,6 +8035,16 @@
''|' ') dflt='none' ;;
esac
+ case "$ldflags" in
+ *-fstack-protector*)
+ case "$dflt" in
+ *-fstack-protector*) ;; # Don't add it again
+ *) dflt="$dflt -fstack-protector" ;;
+ esac
+ ;;
+ esac
+
+
rp="Any special flags to pass to $ld to create a dynamically loaded library?"
. ./myread
case "$ans" in
@@ -20780,6 +20802,35 @@
set i_gdbm
eval $setvar
+: see if ndbm.h is available
+set ndbm.h i_ndbm
+eval $inhdr
+: Compatibility location for RedHat 7.1
+set gdbm/ndbm.h i_gdbmndbm
+eval $inhdr
+: Compatibility location for Debian 4.0
+set gdbm-ndbm.h i_gdbm_ndbm
+eval $inhdr
+
+if $test "$i_ndbm" = "$define" -o "$i_gdbmndbm" = "$define" -o "$i_gdbm_ndbm" = "$define"; then
+ : see if dbm_open exists
+ set dbm_open d_dbm_open
+ eval $inlibc
+ case "$d_dbm_open" in
+ $undef)
+ i_ndbm="$undef"
+ i_gdbmndbm="$undef"
+ i_gdbm_ndbm="$undef"
+ echo "We won't be including <ndbm.h>"
+ val="$undef"
+ ;;
+ *) val="$define"
+ ;;
+ esac
+fi
+set d_ndbm
+eval $setvar
+
: see if this is a ieeefp.h system
case "$i_ieeefp" in
'' ) set ieeefp.h i_ieeefp
@@ -20803,40 +20854,6 @@
set mntent.h i_mntent
eval $inhdr
-: see if ndbm.h is available
-set ndbm.h t_ndbm
-eval $inhdr
-
-case "$t_ndbm" in
-$undef)
- # Some Linux distributions such as RedHat 7.1 put the
- # ndbm.h header in /usr/include/gdbm/ndbm.h.
- if $test -f /usr/include/gdbm/ndbm.h; then
- echo '<gdbm/ndbm.h> found.'
- ccflags="$ccflags -I/usr/include/gdbm"
- cppflags="$cppflags -I/usr/include/gdbm"
- t_ndbm=$define
- fi
- ;;
-esac
-
-case "$t_ndbm" in
-$define)
- : see if dbm_open exists
- set dbm_open d_dbm_open
- eval $inlibc
- case "$d_dbm_open" in
- $undef)
- t_ndbm="$undef"
- echo "We won't be including <ndbm.h>"
- ;;
- esac
- ;;
-esac
-val="$t_ndbm"
-set i_ndbm
-eval $setvar
-
: see if net/errno.h is available
val=''
set net/errno.h val
@@ -21660,7 +21677,7 @@
;;
*) case "$usedl" in
$define|true|[yY]*)
- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
+ set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
shift
perllibs="$*"
;;
@@ -22060,6 +22077,7 @@
d_msync='$d_msync'
d_munmap='$d_munmap'
d_mymalloc='$d_mymalloc'
+d_ndbm='$d_ndbm'
d_nice='$d_nice'
d_nl_langinfo='$d_nl_langinfo'
d_nv_preserves_uv='$d_nv_preserves_uv'
@@ -22359,6 +22377,8 @@
i_fp='$i_fp'
i_fp_class='$i_fp_class'
i_gdbm='$i_gdbm'
+i_gdbm_ndbm='$i_gdbm_ndbm'
+i_gdbmndbm='$i_gdbmndbm'
i_grp='$i_grp'
i_ieeefp='$i_ieeefp'
i_inttypes='$i_inttypes'
==== //depot/maint-5.10/perl/Makefile.SH#5 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#4~33633~ 2008-04-03 03:41:22.000000000 -0700
+++ perl/Makefile.SH 2008-05-21 09:37:54.000000000 -0700
@@ -840,10 +840,10 @@
preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
@sh ./makedir lib/auto
@echo " AutoSplitting perl library"
- $(LDLIBPTH) $(RUN) ./miniperl -Ilib -e 'use AutoSplit; \
- autosplit_lib_modules(@ARGV)' lib/*.pm
- $(LDLIBPTH) $(RUN) ./miniperl -Ilib -e 'use AutoSplit; \
- autosplit_lib_modules(@ARGV)' lib/*/*.pm
+ $(LDLIBPTH) $(RUN) ./miniperl -Ilib -MAutoSplit -MFile::Find -e ' \
+ find ({no_chdir=>1, wanted => \
+ sub {autosplit_lib_modules($$_) if /\.pm$$/}}, \
+ "lib")'
$(MAKE) lib/re.pm
lib/Config.pod: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
==== //depot/maint-5.10/perl/Porting/Glossary#7 (text) ====
Index: perl/Porting/Glossary
--- perl/Porting/Glossary#6~33894~ 2008-05-20 16:39:57.000000000 -0700
+++ perl/Porting/Glossary 2008-05-21 09:37:54.000000000 -0700
@@ -1429,6 +1429,14 @@
of the source want to take special action if MYMALLOC is used.
This may include different sorts of profiling or error detection.
+d_ndbm (i_ndbm.U):
+ This variable conditionally defines the HAS_NDBM symbol, which
+ indicates that both the ndbm.h include file and an appropriate ndbm
+ library exist. Consult the different i_*ndbm variables
+ to find out the actual include location. Sometimes, a system has the
+ header file but not the library. This variable will only be set if
+ the system has both.
+
d_nice (d_nice.U):
This variable conditionally defines the HAS_NICE symbol, which
indicates to the C program that the nice() routine is available.
@@ -2886,6 +2894,18 @@
indicates to the C program that <gdbm.h> exists and should
be included.
+i_gdbm_ndbm (i_ndbm.U):
+ This variable conditionally defines the I_GDBM_NDBM symbol, which
+ indicates to the C program that <gdbm-ndbm.h> exists and should
+ be included. This is the location of the ndbm.h compatibility file
+ in Debian 4.0.
+
+i_gdbmndbm (i_ndbm.U):
+ This variable conditionally defines the I_GDBMNDBM symbol, which
+ indicates to the C program that <gdbm/ndbm.h> exists and should
+ be included. This was the location of the ndbm.h compatibility file
+ in RedHat 7.1.
+
i_grp (i_grp.U):
This variable conditionally defines the I_GRP symbol, and indicates
whether a C program should include <grp.h>.
==== //depot/maint-5.10/perl/config_h.SH#7 (text) ====
Index: perl/config_h.SH
--- perl/config_h.SH#6~33894~ 2008-05-20 16:39:57.000000000 -0700
+++ perl/config_h.SH 2008-05-21 09:37:54.000000000 -0700
@@ -689,12 +689,6 @@
*/
#$i_locale I_LOCALE /**/
-/* I_MALLOCMALLOC:
- * This symbol, if defined, indicates to the C program that it should
- * include <malloc/malloc.h>.
- */
-#$i_mallocmalloc I_MALLOCMALLOC /**/
-
/* I_MATH:
* This symbol, if defined, indicates to the C program that it should
* include <math.h>.
@@ -4109,6 +4103,12 @@
*/
#$i_libutil I_LIBUTIL /**/
+/* I_MALLOCMALLOC:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <malloc/malloc.h>.
+ */
+#$i_mallocmalloc I_MALLOCMALLOC /**/
+
/* I_MNTENT:
* This symbol, if defined, indicates that <mntent.h> exists and
* should be included.
==== //depot/maint-5.10/perl/ext/NDBM_File/NDBM_File.xs#2 (text) ====
Index: perl/ext/NDBM_File/NDBM_File.xs
--- perl/ext/NDBM_File/NDBM_File.xs#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/ext/NDBM_File/NDBM_File.xs 2008-05-21 09:37:54.000000000 -0700
@@ -1,7 +1,13 @@
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#if defined(I_GDBM_NDBM)
+# include <gdbm-ndbm.h> /* Debian compatibility version */
+#elif defined(I_GDBMNDBM)
+# include <gdbm/ndbm.h> /* RedHat compatibility version */
+#elif defined(I_NDBM)
#include <ndbm.h>
+#endif
typedef struct {
DBM * dbp ;
==== //depot/maint-5.10/perl/hints/linux.sh#2 (text) ====
Index: perl/hints/linux.sh
--- perl/hints/linux.sh#1~32694~ 2007-12-22 01:23:09.000000000 -0800
+++ perl/hints/linux.sh 2008-05-21 09:37:54.000000000 -0700
@@ -54,6 +54,9 @@
shift
libswanted="$*"
+# Debian 4.0 puts ndbm in the -lgdbm_compat library.
+libswanted="$libswanted gdbm_compat"
+
# If you have glibc, then report the version for ./myconfig bug reporting.
# (Configure doesn't need to know the specific version since it just uses
# gcc to load the library for all tests.)
End of Patch.
-
Change 33904: Integrate:
by Dave Mitchell