summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordwmalone <dwmalone@FreeBSD.org>2002-01-24 12:11:31 +0000
committerdwmalone <dwmalone@FreeBSD.org>2002-01-24 12:11:31 +0000
commit33776f88dc7a21766cda77b39d94c1b57a18ddc2 (patch)
treeb31855c8a65a23be32e28129e6ef6b841a1500fe
parent3d5a7ba605c55d5a349fd48ea3ce463a951502fc (diff)
downloadFreeBSD-src-33776f88dc7a21766cda77b39d94c1b57a18ddc2.zip
FreeBSD-src-33776f88dc7a21766cda77b39d94c1b57a18ddc2.tar.gz
Change brk's prototype from char *brk(const char *) to int brk(const void *)
and sbrk's prototype from char *sbrk(int) to void *sbrk(intptr_t). This makes us more consistant with NetBSD and standards which include these functions. Bruce pointed out that ptrdiff_t would probably have been better than intptr_t, but this doesn't match other implimentations. Also remove local declarations of sbrk and unnecessary casting. PR: 32296 Tested by: Harti Brandt <brandt@fokus.gmd.de> MFC after: 1 month
-rw-r--r--include/unistd.h4
-rw-r--r--lib/libc/sys/brk.222
-rw-r--r--libexec/rtld-aout/rtld.c2
-rw-r--r--libexec/rtld-elf/malloc.c1
4 files changed, 10 insertions, 19 deletions
diff --git a/include/unistd.h b/include/unistd.h
index 37dab67..56e9de3 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -118,7 +118,7 @@ struct timeval; /* select(2) */
#endif
int acct __P((const char *));
int async_daemon __P((void));
-char *brk __P((const char *));
+int brk __P((const void *));
int chroot __P((const char *));
size_t confstr __P((int, char *, size_t));
char *crypt __P((const char *, const char *));
@@ -187,7 +187,7 @@ pid_t rfork_thread __P((int, void *, int (*)(void *), void *));
int rresvport __P((int *));
int rresvport_af __P((int *, int));
int ruserok __P((const char *, int, const char *, const char *));
-char *sbrk __P((int));
+void *sbrk __P((intptr_t));
int select __P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
int setdomainname __P((const char *, int));
int setegid __P((gid_t));
diff --git a/lib/libc/sys/brk.2 b/lib/libc/sys/brk.2
index ac3a8d8..2683fb4 100644
--- a/lib/libc/sys/brk.2
+++ b/lib/libc/sys/brk.2
@@ -42,11 +42,12 @@
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
+.In sys/types.h
.In unistd.h
-.Ft char *
-.Fn brk "const char *addr"
-.Ft char *
-.Fn sbrk "int incr"
+.Ft int
+.Fn brk "const void *addr"
+.Ft void *
+.Fn sbrk "intptr_t incr"
.Sh DESCRIPTION
.Bf -symbolic
The
@@ -116,22 +117,13 @@ value is returned from a call to
for the definition of
.Va etext ) .
.Sh RETURN VALUES
-The
-.Fn brk
-function returns
-.Po Vt "char *" Pc Ns 0
-if successful;
-otherwise the value
-.Po Vt "char *" Pc Ns \-1
-is returned and the global variable
-.Va errno
-is set to indicate the error.
+.Rv -std brk
.Pp
The
.Fn sbrk
function returns the prior break value if successful;
otherwise the value
-.Po Vt "char *" Pc Ns \-1
+.Po Vt "void *" Pc Ns \-1
is returned and the global variable
.Va errno
is set to indicate the error.
diff --git a/libexec/rtld-aout/rtld.c b/libexec/rtld-aout/rtld.c
index 7f0908b..6769fa1 100644
--- a/libexec/rtld-aout/rtld.c
+++ b/libexec/rtld-aout/rtld.c
@@ -2518,7 +2518,7 @@ malloc(size)
newbrk = (char *)
roundup2((unsigned long)rtld_alloc_lev, PAGSIZ);
- if (brk(newbrk) == (char *)-1)
+ if (brk(newbrk) == -1)
return NULL;
}
diff --git a/libexec/rtld-elf/malloc.c b/libexec/rtld-elf/malloc.c
index cb00a20..1e0664c 100644
--- a/libexec/rtld-elf/malloc.c
+++ b/libexec/rtld-elf/malloc.c
@@ -119,7 +119,6 @@ union overhead {
*/
#define NBUCKETS 30
static union overhead *nextf[NBUCKETS];
-extern char *sbrk();
static int pagesz; /* page size */
static int pagebucket; /* page size bucket */
OpenPOWER on IntegriCloud