develooper Front page | perl.perl5.porters | Postings from January 2003

[perl #20606] [no subject]

From:
Todd C. Miller
Date:
January 29, 2003 19:44
Subject:
[perl #20606] [no subject]
Message ID:
rt-20606-49879.4.78874436094841@bugs6.perl.org
# New Ticket Created by  "Todd C. Miller" 
# Please include the string:  [perl #20606]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=20606 >


~s OpenBSD hints file update
This is a bug report for perl from millert@courtesan.com,
generated with the help of perlbug 1.34 running under perl v5.8.0.


-----------------------------------------------------------------
[Please enter your report here]

The following diff against the current version of hints/openbsd.sh
does the following:

 1) OpenBSD still doesn't have a "real" vfork.  The version that
    was slated for 2.7 never happened.

 2) OpenBSD 3.3 will have real setre?[ug]id() functions.

 3) Add workarounds for deficiencies in the (nascent) hppa port.

 4) Adding -lpthread to libswanted is bogus, and OpenBSD 3.3 will
    no longer use libc_r.  The correct way to handle threads is to
    simply add -pthread to the compile and link lines.  It may be
    safest to simply set "usenm=false" but I haven't done that here
    since Configure seems to do the right thing even when threading
    is enabled.

--- openbsd.sh.orig	Wed Dec 11 04:29:50 2002
+++ openbsd.sh	Wed Jan 29 11:29:08 2003
@@ -11,17 +11,20 @@
 # OpenBSD has a better malloc than perl...
 test "$usemymalloc" || usemymalloc='n'
 
-# Currently, vfork(2) is not a real win over fork(2) but this will
-# change starting with OpenBSD 2.7.
-usevfork='true'
-
-# setre?[ug]id() have been replaced by the _POSIX_SAVED_IDS versions
-# in 4.4BSD.  Configure will find these but they are just emulated
-# and do not have the same semantics as in 4.3BSD.
-d_setregid=$undef
-d_setreuid=$undef
-d_setrgid=$undef
-d_setruid=$undef
+# Currently, vfork(2) is not a real win over fork(2).
+usevfork="$undef"
+
+# In OpenBSD < 3.3, the setre?[ug]id() are emulated using the
+# _POSIX_SAVED_IDS functionality which does not have the same
+# semantics as 4.3BSD.  Starting with OpenBSD 3.3, the original
+# semantics have been restored.
+case "$osvers" in
+[0-2].*|3.[0-2])
+	d_setregid=$undef
+	d_setreuid=$undef
+	d_setrgid=$undef
+	d_setruid=$undef
+esac
 
 #
 # Not all platforms support dynamic loading...
@@ -32,7 +35,7 @@
 #
 ARCH=`arch | sed 's/^OpenBSD.//'`
 case "${ARCH}-${osvers}" in
-alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-*|vax-*)
+alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-*|hppa-*|vax-*)
 	test -z "$usedl" && usedl=$undef
 	;;
 *)
@@ -85,6 +88,9 @@
 m88k)
    optimize='-O0'
    ;;
+hppa)
+   optimize='-O0'
+   ;;
 *)
    test "$optimize" || optimize='-O2'
    ;;
@@ -98,11 +104,6 @@
 	# any openbsd version dependencies with pthreads?
 	ccflags="-pthread $ccflags"
 	ldflags="-pthread $ldflags"
-	# Add -lpthread.  Also change from -lc to -lc_r
-	libswanted="$libswanted pthread"
-	libswanted=`echo " $libswanted "| sed -e 's/ c / c_r /' -e 's/^ //' -e 's/ $//'`
-	# This is strange.
-	usevfork="$undef"
 esac
 EOCBU
 


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=low
---
Site configuration information for perl v5.8.0:

Configured by root at Wed Jan 29 10:10:16 MST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=openbsd, osvers=3.2, archname=i386-openbsd
    uname='openbsd'
    config_args='-Dopenbsd_distribution=defined -dsE'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-pthread -fno-strict-aliasing -I/usr/local/include',
    optimize='-O2',
    cppflags='-pthread -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.95.3 20010125 (prerelease, propolice)', gccosandvers='openbsd3.2'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='-pthread '
    libpth=/usr/lib
    libs=-lm -lc -lutil
    perllibs=-lm -lc -lutil
    libc=/usr/lib/libc.a, so=so, useshrplib=true, libperl=libperl.so.8.0
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=define, ccdlflags='-Wl,-R/usr/libdata/perl5/i386-openbsd/5.8.0/CORE'
    cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC '

Locally applied patches:
    

---
@INC for perl v5.8.0:
    /usr/libdata/perl5/i386-openbsd/5.8.0
    /usr/local/libdata/perl5/i386-openbsd/5.8.0
    /usr/libdata/perl5
    /usr/local/libdata/perl5
    /usr/local/libdata/perl5/site_perl/i386-openbsd
    /usr/libdata/perl5/site_perl/i386-openbsd
    /usr/local/libdata/perl5/site_perl
    /usr/libdata/perl5/site_perl
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl v5.8.0:
    HOME=/home/millert
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/millert/bin/OpenBSD.i386:/home/millert/bin:/home/millert/bin/scripts:/usr/local/gnu/bin:/usr/local/bin:/usr/local/sbin:/usr/local/etc:/usr/local/rcs/bin:/usr/local/nmh/bin:/usr/local/news/bin:/usr/local/emacs/bin:/usr/local/netpbm/bin:/usr/local/mtools/bin:/usr/local/netscape/bin:/usr/local/ghostscript/bin:/usr/local/frame-5.5.6/bin:/usr/local/teTeX/bin:/usr/local/cvs-1.10.1/bin:/usr/local/games/bin:/usr/local/archivers/bin:/usr/local/skey/bin:/usr/local/audio/bin:/usr/local/rtty/bin:/bin:/sbin:/usr/games:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/X11/bin:/usr/X11R6/bin:/usr/local/bin:/usr/obj/bin:/usr/src/bin
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/tcsh




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About