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

[perl #20606] [no subject]

Todd C. Miller
January 29, 2003 19:44
[perl #20606] [no subject]
Message ID:
# 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: >

~s OpenBSD hints file update
This is a bug report for perl from,
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/
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.

---	Wed Dec 11 04:29:50 2002
+++	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.
-# 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.
+# Currently, vfork(2) is not a real win over fork(2).
+# 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
+	d_setregid=$undef
+	d_setreuid=$undef
+	d_setrgid=$undef
+	d_setruid=$undef
 # Not all platforms support dynamic loading...
@@ -32,7 +35,7 @@
 ARCH=`arch | sed 's/^OpenBSD.//'`
 case "${ARCH}-${osvers}" in
 	test -z "$usedl" && usedl=$undef
@@ -85,6 +88,9 @@
+   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"

[Please do not change anything below this line]
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:
    osname=openbsd, osvers=3.2, archname=i386-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
    cc='cc', ccflags ='-pthread -fno-strict-aliasing -I/usr/local/include',
    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 '
    libs=-lm -lc -lutil
    perllibs=-lm -lc -lutil
    libc=/usr/lib/libc.a, so=so, useshrplib=true,
  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:

Environment for perl v5.8.0:
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/tcsh Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About