Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Mar 1995 00:52:11 +0000
From:      Ed Hudson <elh@p5.spnet.com>
To:        hackers@FreeBSD.org
Cc:        elh@p5.spnet.com
Subject:   is this reasonable?
Message-ID:  <199503240052.AAA15572@p5.spnet.com>

next in thread | raw e-mail | index | archive | help

	sbrk called with an arg of 1 (eg, sbrk(1))
	under fbsd2.x increments the brk by 1.

	under SunOS4.1.3, sbrk(1) increments the brk by 8,
	and returns a result always double-word (8byte)
	aligned.

	fbsd malloc, /usr/lib/src/libc/stdlib/malloc.c,
	only aligns sbrk on its first call.

	i'm hazy about whether or not fbsd requires malloc
	to have exclusive control of a programs brk values,
	but in my reading of the man pages and this code, it
	doesn't appear to be the case.  if indeed malloc
	is supposed to be able to co-exist with other routines
	calling sbrk with >0 values, then i think that either
	malloc has a latent bug, or sbrk is broken in its
	behavior.

	clearly confused and seeking re-education...

		-elh



#include	<stdio.h>
#include	<unistd.h>
#include	<stdlib.h>

int
main(int argc, char **argv)
{
  char	*t;
  int	i;

  for (i=0; i<8; i++) {
    fprintf(stderr,"sbrk(1)= 0x%08x\n",sbrk(1));
  }
  return(0);
}

FreeBSD output
FreeBSD p5 2.1.0-Development FreeBSD 2.1.0-Development #0: Mon Mar 20 17:43:36  1995
gcc version 2.6.3
sbrk(1)= 0x00002204
sbrk(1)= 0x00002205
sbrk(1)= 0x00002206
sbrk(1)= 0x00002207
sbrk(1)= 0x00002208
sbrk(1)= 0x00002209
sbrk(1)= 0x0000220a
sbrk(1)= 0x0000220b

sun4 (gcc), sunos4.1.3 output:
SunOS maui 4.1.3 1 sun4c
gcc version 2.6.0
sbrk(1)= 0x00007368
sbrk(1)= 0x00007370
sbrk(1)= 0x00007378
sbrk(1)= 0x00007380
sbrk(1)= 0x00007388
sbrk(1)= 0x00007390
sbrk(1)= 0x00007398
sbrk(1)= 0x000073a0



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