This problem also affects the ports/archivers/rpm, which dumps core 
while trying to install ports/emulators/linux_base.
If it's not fixed, we'd loose linux emulation and mose linux based
applications from 5-CURRENT-DP1.

I reported this problem last week with:
  Message-Id: <[EMAIL PROTECTED]>
  Subject: problem with libz 1.1.4 when installing linux_base ports
  Date: Sat, 16 Mar 2002 16:21:35 +0900

From: Bruce Evans <[EMAIL PROTECTED]>
Date: Mon, 18 Mar 2002 13:49:55 +1100 (EST)
::
::This bug affects everything that uses libz of course.  It also breaks
::zgrep.  Try "cd /home/ncvs/C*/*logs; zgrep foo *".
::
::On Sun, 17 Mar 2002, Bruce Evans wrote:
::
::> On Sun, 17 Mar 2002, I wrote:
::>
::> > That may be, but ispell is not man's best friend:
::> >
::> >     $ man ispell
::> >     Segmentation fault (core dumped)
::> >
::> > The bug seems to be in libz.  Upgrading to the previous version of libz
::> > fixes it.
::>
::> The following patch (obtained from the upgrade) fixes "man ispell"
::> (but may break libz).
::>
::> %%%
::> Index: infcodes.c
::> ===================================================================
::> RCS file: /home/ncvs/src/lib/libz/infcodes.c,v
::> retrieving revision 1.3
::> diff -u -2 -r1.3 infcodes.c
::> --- infcodes.c      11 Mar 2002 22:36:26 -0000      1.3
::> +++ infcodes.c      17 Mar 2002 02:41:53 -0000
::> @@ -201,5 +201,5 @@
::>      case COPY:          /* o: copying bytes in window, waiting for space */
::>        f = q - c->sub.copy.dist;
::> -      while (f < s->window)             /* modulo window size-"while" instead */
::> +      if (f < s->window)                /* modulo window size-"while" instead */
::>          f += s->end - s->window;        /* of "if" handles invalid distances */
::>        while (c->len)
::> %%%
::>
::> The while loop caused some pointer to become invalid.  I think the bug
::> is really in gcc.  The register hildng 's' seemed to get clobbered to
::> (s->end - s->window) so 's' was invalid after 1 iteration.  With an
::> "if" instead of a "while", gcc generates simpler code with line numbers
::> that are actually correct and without the register clobber.  Compiling
::> the unpatched version with -O0 also unbreaks "man ispell".
::>
::> Bruce
::
::Bruce
::
::
::To Unsubscribe: send mail to [EMAIL PROTECTED]
::with "unsubscribe freebsd-current" in the body of the message
::
::

Haro
=------------------------------------------------------------------------------
           _ _    Munehiro (haro) Matsuda
 -|- /_\  |_|_|   Business Incubation Dept., Kubota Corp.
 /|\ |_|  |_|_|   1-3 Nihonbashi-Muromachi 3-Chome
                  Chuo-ku Tokyo 103-8310, Japan
                  Tel: +81-3-3245-3318  Fax: +81-3-3245-3315
                  Email: [EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to