Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Aug 2002 18:55:44 -0700 (PDT)
From:      John Polstra <jdp@polstra.com>
To:        stable@freebsd.org
Cc:        ian@niw.com.au
Subject:   Re: Malloc backwards compat problem in stable as of yesterday ?
Message-ID:  <200208210155.g7L1tiJx083675@vashon.polstra.com>
In-Reply-To: <20020820222727.GC407@axiom.niw.com.au>
References:  <20020820222727.GC407@axiom.niw.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <20020820222727.GC407@axiom.niw.com.au>,
Ian West  <ian@niw.com.au> wrote:
> The following program when compiled on a box cvs updated to RELENG_4
> late yesterday (about 8 hours ago) works fine on the box itself, but the
> dynamic binary fails (returns 0) when run on a box running RELENG_4 from
> about a week ago. Is this a known and expected issue ?
> 
> #include <stdlib.h>
> #include <stdio.h>
> 
> int
> main(int argc, char **argv){
>   char *temp=(char *)malloc(24);
>   printf("temp=%p\n",temp);
> }

Yes, and what a pain!  For any program linked against a recent
libc but run against a slightly older one, malloc fails on
all calls.  I looked into it a bit, and found that sbrk() is
returning garbage.  I'm fairly certain the cause was this commit to
"src/lib/libc/i386/sys/sbrk.S":

    revision 1.7.2.1
    date: 2002/08/12 14:23:29;  author: kan;  state: Exp;  lines: +3 -3
    MFC 1.11: Use '_end' symbol instead of 'end' to initialize minbrk
    and curbrk variables.

    Approved by:    obrien

John
-- 
  John Polstra
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208210155.g7L1tiJx083675>