summaryrefslogtreecommitdiff
path: root/hints
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafayette.edu>2002-05-30 06:50:18 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2002-05-30 13:51:29 +0000
commit73d5b9a0733b4e04fd94a5762670c7c76dec4231 (patch)
tree08f267de0f2c3f6333497ae2b811d4c0adbafb9b /hints
parent16f7bb68db421d28ad8e9aad0b940103189bbc43 (diff)
downloadperl-73d5b9a0733b4e04fd94a5762670c7c76dec4231.tar.gz
Re: Linux glibc 2.2.90 issue; likely from readonly stdio mmap
Message-ID: <Pine.SOL.4.10.10205301008040.22885-100000@maxwell.phys.lafayette.edu> p4raw-id: //depot/perl@16887
Diffstat (limited to 'hints')
-rw-r--r--hints/linux.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/hints/linux.sh b/hints/linux.sh
index 7dccc1cc07..2b6e5d5f75 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -56,6 +56,33 @@ if test -L /lib/libc.so.6; then
libc=/lib/$libc
fi
+# glibc 2.2.90 and above apparently change stdio streams so Perl's
+# direct buffer manipulation no longer works. The Configure tests
+# should be changed to correctly detect this, but until then,
+# the following check should at least let perl compile and run.
+# (This quick fix should be updated before 5.8.1.)
+# Since we just computed libc above, we'll use it here. A typical
+# value looks like libc='/lib/libc-2.0.6.so'
+# To be defensive, reject all unknown versions > 2.2.9.
+# A. Dougherty, May. 30, 2001
+case "$libc" in
+*-2.[01]*) ;;
+*-2.2.so) ;;
+*-2.2.[0-9].*) ;;
+*) # Honor a command-line override
+ if test -z "$d_stdstdio"; then
+ d_stdstdio="$undef"
+ cat <<'EOM' >&4
+
+Disabling perl's stdio buffer snooping. This will generate a harmless
+ *** WHOA THERE!!! ***
+message in Configure. Accept the recommended value.
+Read hints/linux.sh for further information.
+EOM
+ fi
+ ;;
+esac
+
# Configure may fail to find lstat() since it's a static/inline
# function in <sys/stat.h>.
d_lstat=define