summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hints/dec_osf.sh10
-rw-r--r--hints/solaris_2.sh12
-rw-r--r--sv.c4
3 files changed, 26 insertions, 0 deletions
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh
index 0ba4dad077..fa7596b398 100644
--- a/hints/dec_osf.sh
+++ b/hints/dec_osf.sh
@@ -161,6 +161,16 @@ case "$optimize" in
;;
esac
+if [ "X$usethreads" != "X" ]; then
+ ccflags="-DUSE_THREADS $ccflags"
+ optimize="-pthread $optimize"
+ ldflags="-pthread $ldflags"
+ set `echo X "$libswanted "| sed -e 's/ c / pthread c_r /'`
+ shift
+ libswanted="$*"
+ usemymalloc='n'
+fi
+
#
# Unset temporary variables no more needed.
#
diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh
index d2124edb06..21593f132f 100644
--- a/hints/solaris_2.sh
+++ b/hints/solaris_2.sh
@@ -223,6 +223,18 @@ esac
# as --version or ld --version might dump core.
rm -f core
+if [ "X$usethreads" != "X" ]; then
+ ccflags="-D_REENTRANT -DUSE_THREADS $ccflags"
+ cppflags="-D_REENTRANT -DUSE_THREADS $cppflags"
+ # -lpthread needs to come before -lc but after other libraries such
+ # as -lgdbm and such like. We assume here that -lc is present in
+ # libswanted. If that fails to be true in future, then this can be
+ # changed to add pthread to the very end of libswanted.
+ set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
+ shift
+ libswanted="$*"
+fi
+
# This is just a trick to include some useful notes.
cat > /dev/null <<'End_of_Solaris_Notes'
diff --git a/sv.c b/sv.c
index 8668d1cd7a..bdc3c71ed5 100644
--- a/sv.c
+++ b/sv.c
@@ -4044,10 +4044,14 @@ I32 n;
}
SV*
+#ifndef CAN_PROTOTYPE
sv_bless3(sv,stash,zaptilde)
SV* sv;
HV* stash;
bool zaptilde;
+#else
+sv_bless3(SV *sv, HV *stash, bool zaptilde)
+#endif /* CAN_PROTOTYPE */
{
dTHR;
SV *ref;