In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/c796e3db23c597b99f07485542338844e61a6a69?hp=944d48f78fffdf92a1710164726d48604225142c>

- Log -----------------------------------------------------------------
commit c796e3db23c597b99f07485542338844e61a6a69
Author: H.Merijn Brand <h.m.br...@xs4all.nl>
Date:   Mon Mar 29 10:16:44 2010 +0200

    Probe for prctl () and check id PR_SET_NAME is supported

M       Configure
M       Porting/Glossary
M       config_h.SH
M       handy.h

commit 1bb125e2afe6197deaf55852a3f8a9c52736bfdc
Author: H.Merijn Brand <h.m.br...@xs4all.nl>
Date:   Wed Mar 24 08:58:29 2010 +0100

    Note how to deal with broken dbm.h on OpenSUSE

M       INSTALL

commit 064b70ffe2beced36b4693cdd2a8e2cbd2139b47
Author: H.Merijn Brand <h.m.br...@xs4all.nl>
Date:   Mon Mar 15 16:33:22 2010 +0100

    Allow -Duse64bitint without promoting to use64bitall on HP-UX
    
    Fix for http://rt.perl.org/rt3/Public/Bug/Display.html?id=17736

M       hints/hpux.sh
-----------------------------------------------------------------------

Summary of changes:
 Configure        |   31 ++++++++++++++++++++++++++++++-
 INSTALL          |   20 ++++++++++++++++++++
 Porting/Glossary |    8 ++++++++
 config_h.SH      |   51 +++++++++++++++++++++++++++++++--------------------
 handy.h          |    3 ++-
 hints/hpux.sh    |   10 +++++++---
 6 files changed, 98 insertions(+), 25 deletions(-)

diff --git a/Configure b/Configure
index 576b88d..f4d9cfb 100755
--- a/Configure
+++ b/Configure
@@ -30,7 +30,7 @@
 
 # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
 #
-# Generated on Sat Feb 13 19:05:42 CET 2010 [metaconfig 3.5 PL0]
+# Generated on Mon Mar 29 10:12:43 CEST 2010 [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perl...@perl.org)
 
 cat >c1$$ <<EOF
@@ -628,6 +628,8 @@ d_pause=''
 d_pipe=''
 d_poll=''
 d_portable=''
+d_prctl=''
+d_prctl_set_name=''
 d_procselfexe=''
 procselfexe=''
 d_old_pthread_create_joinable=''
@@ -16049,6 +16051,31 @@ eval $inlibc
 set poll d_poll
 eval $inlibc
 
+: see if prctl exists
+set prctl d_prctl
+eval $inlibc
+
+: see if prctl supports PR_SET_NAME
+d_prctl_set_name=$undef
+case $d_prctl in
+    $define)
+       $cat >try.c <<EOM
+#include <sys/prctl.h>
+
+int main (int argc, char *argv[])
+{
+    return (prctl (PR_SET_NAME, "Test"));
+    } /* main */
+EOM
+       set try
+       if eval $compile_ok && $run ./try; then
+           echo "Your prctl (PR_SET_NAME, ...) works"
+           d_prctl_set_name=$define
+           fi
+       $rm_try
+       ;;
+    esac
+
 : see if readlink exists
 set readlink d_readlink
 eval $inlibc
@@ -22615,6 +22642,8 @@ d_phostname='$d_phostname'
 d_pipe='$d_pipe'
 d_poll='$d_poll'
 d_portable='$d_portable'
+d_prctl='$d_prctl'
+d_prctl_set_name='$d_prctl_set_name'
 d_printf_format_null='$d_printf_format_null'
 d_procselfexe='$d_procselfexe'
 d_pseudofork='$d_pseudofork'
diff --git a/INSTALL b/INSTALL
index 4a0e567..eb7cc07 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1561,6 +1561,26 @@ specific rule.
 SCO prior to 3.2.4 may be missing dbmclose().  An upgrade to 3.2.4
 that includes libdbm.nfs (which includes dbmclose()) may be available.
 
+=item error: too few arguments to function 'dbmclose'
+
+Building ODBM_File on some (Open)SUSE distributions might run into this
+error, as the header file is broken. There are two ways to deal with this
+
+ 1. Disable the use of ODBM_FILE
+
+    Configure ... -Dnoextensions=ODBM_File
+
+ 2. Fix the header file, somewhat like this:
+
+    --- a/usr/include/dbm.h  2010-03-24 08:54:59.000000000 +0100
+    +++ b/usr/include/dbm.h  2010-03-24 08:55:15.000000000 +0100
+    @@ -59,4 +59,4 @@ extern datum  firstkey __P((void));
+
+     extern datum   nextkey __P((datum key));
+
+    -extern int     dbmclose __P((DBM *));
+    +extern int     dbmclose __P((void));
+
 =item Note (probably harmless): No library found for -lsomething
 
 If you see such a message during the building of an extension, but
diff --git a/Porting/Glossary b/Porting/Glossary
index e43fa89..b503e2b 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -1617,6 +1617,14 @@ d_portable (d_portable.U):
        indicates to the C program that it should not assume that it is
        running on the machine it was compiled on.
 
+d_prctl (d_prctl.U):
+       This variable conditionally defines the HAS_PRCTL symbol, which
+       indicates to the C program that the prctl() routine is available.
+
+d_prctl_set_name (d_prctl.U):
+       This variable conditionally defines the HAS_PRCTL symbol, which
+       indicates to the C program that the prctl() routine is available.
+
 d_PRId64 (quadfio.U):
        This variable conditionally defines the PERL_PRId64 symbol, which
        indiciates that stdio has a symbol to print 64-bit decimal numbers.
diff --git a/config_h.SH b/config_h.SH
index 8392c60..eedc734 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -1185,6 +1185,26 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #$d_ctime_r HAS_CTIME_R           /**/
 #define CTIME_R_PROTO $ctime_r_proto      /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *     This symbol, if defined, indicates that the bug that prevents
+ *     setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *     This symbol, if defined, indicates that the C program should
+ *     check the script that it is executing for setuid/setgid bits, and
+ *     attempt to emulate setuid/setgid on systems that have disabled
+ *     setuid #! scripts because the kernel can't do it securely.
+ *     It is up to the package designer to make sure that this emulation
+ *     is done securely.  Among other things, it should do an fstat on
+ *     the script it just opened to make sure it really is a setuid/setgid
+ *     script, it should make sure the arguments passed correspond exactly
+ *     to the argument on the #! line, and it should not trust any
+ *     subprocesses to which it must pass the filename rather than the
+ *     file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
+#$d_dosuid DOSUID              /**/
+
 /* HAS_DRAND48_R:
  *     This symbol, if defined, indicates that the drand48_r routine
  *     is available to drand48 re-entrantly.
@@ -3309,26 +3329,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$ebcdic       EBCDIC          /**/
 
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *     This symbol, if defined, indicates that the bug that prevents
- *     setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *     This symbol, if defined, indicates that the C program should
- *     check the script that it is executing for setuid/setgid bits, and
- *     attempt to emulate setuid/setgid on systems that have disabled
- *     setuid #! scripts because the kernel can't do it securely.
- *     It is up to the package designer to make sure that this emulation
- *     is done securely.  Among other things, it should do an fstat on
- *     the script it just opened to make sure it really is a setuid/setgid
- *     script, it should make sure the arguments passed correspond exactly
- *     to the argument on the #! line, and it should not trust any
- *     subprocesses to which it must pass the filename rather than the
- *     file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW     /**/
-#$d_dosuid DOSUID              /**/
-
 /* PERL_USE_DEVEL:
  *     This symbol, if defined, indicates that Perl was configured with
  *     -Dusedevel, to enable development features.  This should not be
@@ -3807,6 +3807,17 @@ sed <<!GROK!THIS! >$CONFIG_H -e 
's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_off64_t    HAS_OFF64_T             /**/
 
+/* HAS_PRCTL:
+ *     This symbol, if defined, indicates that the prctl routine is
+ *     available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ *     This symbol, if defined, indicates that the prctl routine is
+ *     available to set process title and supports PR_SET_NAME.
+ */
+#$d_prctl HAS_PRCTL            /**/
+#$d_prctl_set_name HAS_PRCTL_SET_NAME          /**/
+
 /* HAS_PROCSELFEXE:
  *     This symbol is defined if PROCSELFEXE_PATH is a symlink
  *     to the absolute pathname of the executing program.
diff --git a/handy.h b/handy.h
index d12972d..81bf1e2 100644
--- a/handy.h
+++ b/handy.h
@@ -208,7 +208,8 @@ typedef U64TYPE U64;
  * GMTIME_MAX  GMTIME_MIN      LOCALTIME_MAX   LOCALTIME_MIN
  * HAS_CTIME64 HAS_LOCALTIME64 HAS_GMTIME64    HAS_DIFFTIME64
  * HAS_MKTIME64        HAS_ASCTIME64   HAS_GETADDRINFO HAS_GETNAMEINFO
- * HAS_INETNTOP        HAS_INETPTON    CHARBITS
+ * HAS_INETNTOP        HAS_INETPTON    CHARBITS        HAS_PRCTL_SET_NAME
+ * HAS_PRCTL
  * Not (yet) used at top level, but mention them for metaconfig
  */
 
diff --git a/hints/hpux.sh b/hints/hpux.sh
index bdfbec1..8d0aaf7 100644
--- a/hints/hpux.sh
+++ b/hints/hpux.sh
@@ -279,14 +279,18 @@ EOM
                                        ldflags="$ldflags -mlp64"
                                        ;;
                                    esac
-                                   ;;
+                               ;;
                            esac
                        ;;
                    esac
                ;;
            *)
-               ccflags="$ccflags +DD64"
-               ldflags="$ldflags +DD64"
+               case "$use64bitall" in
+                   $define|true|[yY]*)
+                       ccflags="$ccflags +DD64"
+                       ldflags="$ldflags +DD64"
+                       ;;
+                   esac
                ;;
            esac
 

--
Perl5 Master Repository

Reply via email to