diff options
author | jlam <jlam@pkgsrc.org> | 2001-09-05 17:13:40 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2001-09-05 17:13:40 +0000 |
commit | b56ee42f1988576c1a1ec52941a733d9aba4e59f (patch) | |
tree | 467c0c79b247b5a4a1bd5d528d1051917d34a847 /lang/perl5/patches/patch-ae | |
parent | 97329043155198ac06573c08572f2766ddee2e83 (diff) | |
download | pkgsrc-b56ee42f1988576c1a1ec52941a733d9aba4e59f.tar.gz |
Update perl to 5.6.1nb2. Changes from perl-5.6.1nb1 include undoing the
perl mess I created a year ago and making this a vanilla perl installation
again, and explicitly setting the system library path so that /usr/local/*
doesn't appear anywhere.
The installed perl library now also includes CGI.pm-2.752. The www/p5-CGI
package installs in to ${PERL5_SITEARCH} so there is no conflict with the
"standard" CGI.pm.
Diffstat (limited to 'lang/perl5/patches/patch-ae')
-rw-r--r-- | lang/perl5/patches/patch-ae | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/lang/perl5/patches/patch-ae b/lang/perl5/patches/patch-ae new file mode 100644 index 00000000000..4e41088bd59 --- /dev/null +++ b/lang/perl5/patches/patch-ae @@ -0,0 +1,51 @@ +$NetBSD: patch-ae,v 1.8 2001/09/05 17:13:41 jlam Exp $ + +--- regcomp.c.orig Wed Mar 21 21:05:02 2001 ++++ regcomp.c Sat Sep 1 03:57:59 2001 +@@ -541,6 +541,17 @@ + cl->flags |= ANYOF_EOS; + } + ++/* ++ * There are strange code-generation bugs caused on sparc64 by gcc-2.95.2. ++ * These need to be revisited when a newer toolchain becomes available. ++ */ ++#if defined(__sparc64__) && defined(__GNUC__) ++#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) ++#undef SPARC64_WORKAROUND ++#define SPARC64_WORKAROUND 1 ++#endif ++#endif ++ + /* REx optimizer. Converts nodes into quickier variants "in place". + Finds fixed substrings. */ + +@@ -1076,11 +1087,28 @@ + int counted = mincount != 0; + + if (data->last_end > 0 && mincount != 0) { /* Ends with a string. */ ++#if defined(SPARC64_WORKAROUND) ++ I32 b = 0; ++ STRLEN l = 0; ++ char *s = NULL; ++ I32 old = 0; ++ ++ if (pos_before >= data->last_start_min) ++ b = pos_before; ++ else ++ b = data->last_start_min; ++ ++ l = 0; ++ s = SvPV(data->last_found, l); ++ old = b - data->last_start_min; ++ ++#else + I32 b = pos_before >= data->last_start_min + ? pos_before : data->last_start_min; + STRLEN l; + char *s = SvPV(data->last_found, l); + I32 old = b - data->last_start_min; ++#endif + + if (UTF) + old = utf8_hop((U8*)s, old) - (U8*)s; |