diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 1999-01-21 00:55:32 +0000 |
commit | 76b5366091f76c9bc73570149ef5055648fc2c39 (patch) | |
tree | 590d020e0f2a5bea6e09d66d951a674443b21d67 /lib/libstand | |
parent | 4b4d01da6f07f7754ff6a6e4f5223e9f0984d1a6 (diff) |
Notes
Diffstat (limited to 'lib/libstand')
-rw-r--r-- | lib/libstand/Makefile | 18 | ||||
-rw-r--r-- | lib/libstand/assert.c | 37 | ||||
-rw-r--r-- | lib/libstand/dev_net.c | 13 | ||||
-rw-r--r-- | lib/libstand/gets.c | 5 | ||||
-rw-r--r-- | lib/libstand/libstand.3 | 20 | ||||
-rw-r--r-- | lib/libstand/printf.c | 14 | ||||
-rw-r--r-- | lib/libstand/qdivrem.c | 303 | ||||
-rw-r--r-- | lib/libstand/quad.h | 116 | ||||
-rw-r--r-- | lib/libstand/stand.h | 15 | ||||
-rw-r--r-- | lib/libstand/zalloc_defs.h | 4 | ||||
-rw-r--r-- | lib/libstand/zalloc_malloc.c | 11 |
11 files changed, 18 insertions, 538 deletions
diff --git a/lib/libstand/Makefile b/lib/libstand/Makefile index 5c207be2159af..84e031d89e031 100644 --- a/lib/libstand/Makefile +++ b/lib/libstand/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.10 1998/11/04 07:39:53 msmith Exp $ +# $Id: Makefile,v 1.5 1998/10/04 08:10:29 msmith Exp $ # # Originally from $NetBSD: Makefile,v 1.21 1997/10/26 22:08:38 lukem Exp $ # @@ -13,16 +13,16 @@ NOPIC= YES MAN3= libstand.3 # Mostly OK, some of the libc imports are a bit noisy -CFLAGS+= -Wall -g +CFLAGS+= -Wall #-g .if ${MACHINE_ARCH} == "alpha" CFLAGS+= -mno-fp-regs .endif # standalone components and stuff we have modified locally -SRCS+= __main.c assert.c bcd.c bswap.c environment.c getopt.c gets.c \ - globals.c pager.c printf.c strdup.c strerror.c strtol.c random.c \ - sbrk.c twiddle.c zalloc.c zalloc_malloc.c +SRCS+= __main.c bcd.c bswap.c environment.c getopt.c gets.c globals.c \ + pager.c printf.c strdup.c strerror.c strtol.c random.c sbrk.c \ + twiddle.c zalloc.c zalloc_malloc.c # private (pruned) versions of libc string functions SRCS+= strcasecmp.c @@ -31,7 +31,7 @@ SRCS+= strcasecmp.c .PATH: ${.CURDIR}/../libc/string .if ${MACHINE_ARCH} == "i386" SRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c memccpy.c memchr.c memcmp.c \ - memcpy.c memmove.c memset.c qdivrem.c rindex.c strcat.c strchr.c \ + memcpy.c memmove.c memset.c rindex.c strcat.c strchr.c \ strcmp.c strcpy.c strcspn.c strlen.c strncat.c strncmp.c strncpy.c \ strpbrk.c strrchr.c strsep.c strspn.c strstr.c strtok.c swab.c .endif @@ -90,12 +90,6 @@ __reml.S: ${.CURDIR}/../libc/alpha/gen/divrem.m4 .PATH: ${.CURDIR}/../libc/net SRCS+= inet_ntoa.c inet_addr.c -# _setjmp/_longjmp -.PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/gen -SRCS+= _setjmp.S -# really only required for i386 -CFLAGS+=-I${.CURDIR}/../libc/${MACHINE_ARCH} - # decompression functionality from libz .PATH: ${.CURDIR}/../libz CFLAGS+=-DHAVE_MEMCPY diff --git a/lib/libstand/assert.c b/lib/libstand/assert.c deleted file mode 100644 index 1ca15f86be951..0000000000000 --- a/lib/libstand/assert.c +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright (c) 1998 Michael Smith. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#include <stand.h> -#include <assert.h> - -void -__assert(const char *file, int line, const char *expression) -{ - printf("assertion \"%s\" failed: file \"%s\", line %d\n", expression, file, line); - exit(); -} diff --git a/lib/libstand/dev_net.c b/lib/libstand/dev_net.c index cfa9fbff8a944..8d09e4f7c0840 100644 --- a/lib/libstand/dev_net.c +++ b/lib/libstand/dev_net.c @@ -73,8 +73,6 @@ static int netdev_opens; static int net_getparams(int sock); -static void net_print(int verbose); - struct devsw netdev = { "net", DEVT_NET, @@ -83,20 +81,9 @@ struct devsw netdev = { net_open, net_close, noioctl - net_print, }; /* - * Print stuff about our net 'device'. - */ -static void -net_print(int verbose) -{ - pager_output(" net: network interface"); - /* XXX much more verbose stuff here */ -} - -/* * Called by devopen after it sets f->f_dev to our devsw entry. * This opens the low-level device and sets f->f_devdata. * This is declared with variable arguments... diff --git a/lib/libstand/gets.c b/lib/libstand/gets.c index dc26a998b325a..3fbe9b4047a30 100644 --- a/lib/libstand/gets.c +++ b/lib/libstand/gets.c @@ -95,11 +95,8 @@ fgetstr(char *buf, int size, int fd) err = read(fd, &c, sizeof(c)); if (err < 0) /* read error */ return(-1); - if (err == 0) { /* EOF */ - if (len == 0) - return(-1); /* nothing to read */ + if (err == 0) /* EOF */ break; - } if ((c == '\r') || /* line terminators */ (c == '\n')) break; diff --git a/lib/libstand/libstand.3 b/lib/libstand/libstand.3 index aa5365ed43d70..4d4b287b3583f 100644 --- a/lib/libstand/libstand.3 +++ b/lib/libstand/libstand.3 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: libstand.3,v 1.2 1998/11/01 09:31:08 msmith Exp $ +.\" $Id$ .\" .Dd June 22, 1998 .Dt LIBSTAND 3 @@ -124,19 +124,6 @@ may be used to prevent a variable being unset. .Pp Returns error messages for the subset of errno values supported by .Nm No . -.It Fn "assert" "expression" -.Pp -Requires -.Fd #include <assert.h> -.It Fn "int setjmp" "jmp_buf env" -.It Fn "void longjmp" "jmp_buf env" "int val" -.Pp -Defined as -.Fn _setjmp -and -.Fn _lonjmp -respectively as there is no signal state to manipulate. Requires -.Fd #include <setjmp.h> .El .Sh CHARACTER I/O .Bl -hang -width 10n @@ -168,7 +155,6 @@ if successful, or -1 if a read error occurs. .It Fn "int printf" "const char *fmt" "..." .It Fn "void vprintf" "const char *fmt" "va_list ap" .It Fn "int sprintf" "char *buf" "const char *fmt" "..." -.It Fn "void vsprintf" "char *buf" "const char *fmt" "va_list ap" .Pp The *printf functions implement a subset of the standard .Fn printf @@ -462,10 +448,6 @@ and .Nm libkern from .Fx 3.0 . -.It -.Nm zalloc -from -.An Matthew Dillon Aq dillon@backplane.com .El .Pp The reorganisation and port to diff --git a/lib/libstand/printf.c b/lib/libstand/printf.c index 5135e10183a93..8c7b38477a7ea 100644 --- a/lib/libstand/printf.c +++ b/lib/libstand/printf.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)subr_prf.c 8.3 (Berkeley) 1/21/94 - * $Id: printf.c,v 1.1.1.1 1998/08/20 08:19:55 msmith Exp $ + * $Id: subr_prf.c,v 1.46 1998/05/28 09:30:20 phk Exp $ */ /* @@ -74,6 +74,9 @@ vprintf(const char *fmt, va_list ap) kvprintf(fmt, putchar, NULL, 10, ap); } +/* + * Scaled down version of sprintf(3). + */ int sprintf(char *buf, const char *cfmt, ...) { @@ -87,15 +90,6 @@ sprintf(char *buf, const char *cfmt, ...) return retval; } -void -vsprintf(char *buf, const char *cfmt, va_list ap) -{ - int retval; - - retval = kvprintf(cfmt, NULL, (void *)buf, 10, ap); - buf[retval] = '\0'; -} - /* * Put a number (base <= 16) in a buffer in reverse order; return an * optional length and a pointer to the NULL terminated (preceded?) diff --git a/lib/libstand/qdivrem.c b/lib/libstand/qdivrem.c deleted file mode 100644 index d42b9f507021b..0000000000000 --- a/lib/libstand/qdivrem.c +++ /dev/null @@ -1,303 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - * From: Id: qdivrem.c,v 1.7 1997/11/07 09:20:40 phk Exp - */ - -/* - * Multiprecision divide. This algorithm is from Knuth vol. 2 (2nd ed), - * section 4.3.1, pp. 257--259. - */ - -#include "quad.h" - -#define B (1 << HALF_BITS) /* digit base */ - -/* Combine two `digits' to make a single two-digit number. */ -#define COMBINE(a, b) (((u_long)(a) << HALF_BITS) | (b)) - -/* select a type for digits in base B: use unsigned short if they fit */ -#if ULONG_MAX == 0xffffffff && USHRT_MAX >= 0xffff -typedef unsigned short digit; -#else -typedef u_long digit; -#endif - -/* - * Shift p[0]..p[len] left `sh' bits, ignoring any bits that - * `fall out' the left (there never will be any such anyway). - * We may assume len >= 0. NOTE THAT THIS WRITES len+1 DIGITS. - */ -static void -shl(register digit *p, register int len, register int sh) -{ - register int i; - - for (i = 0; i < len; i++) - p[i] = LHALF(p[i] << sh) | (p[i + 1] >> (HALF_BITS - sh)); - p[i] = LHALF(p[i] << sh); -} - -/* - * __qdivrem(u, v, rem) returns u/v and, optionally, sets *rem to u%v. - * - * We do this in base 2-sup-HALF_BITS, so that all intermediate products - * fit within u_long. As a consequence, the maximum length dividend and - * divisor are 4 `digits' in this base (they are shorter if they have - * leading zeros). - */ -u_quad_t -__qdivrem(uq, vq, arq) - u_quad_t uq, vq, *arq; -{ - union uu tmp; - digit *u, *v, *q; - register digit v1, v2; - u_long qhat, rhat, t; - int m, n, d, j, i; - digit uspace[5], vspace[5], qspace[5]; - - /* - * Take care of special cases: divide by zero, and u < v. - */ - if (vq == 0) { - /* divide by zero. */ - static volatile const unsigned int zero = 0; - - tmp.ul[H] = tmp.ul[L] = 1 / zero; - if (arq) - *arq = uq; - return (tmp.q); - } - if (uq < vq) { - if (arq) - *arq = uq; - return (0); - } - u = &uspace[0]; - v = &vspace[0]; - q = &qspace[0]; - - /* - * Break dividend and divisor into digits in base B, then - * count leading zeros to determine m and n. When done, we - * will have: - * u = (u[1]u[2]...u[m+n]) sub B - * v = (v[1]v[2]...v[n]) sub B - * v[1] != 0 - * 1 < n <= 4 (if n = 1, we use a different division algorithm) - * m >= 0 (otherwise u < v, which we already checked) - * m + n = 4 - * and thus - * m = 4 - n <= 2 - */ - tmp.uq = uq; - u[0] = 0; - u[1] = HHALF(tmp.ul[H]); - u[2] = LHALF(tmp.ul[H]); - u[3] = HHALF(tmp.ul[L]); - u[4] = LHALF(tmp.ul[L]); - tmp.uq = vq; - v[1] = HHALF(tmp.ul[H]); - v[2] = LHALF(tmp.ul[H]); - v[3] = HHALF(tmp.ul[L]); - v[4] = LHALF(tmp.ul[L]); - for (n = 4; v[1] == 0; v++) { - if (--n == 1) { - u_long rbj; /* r*B+u[j] (not root boy jim) */ - digit q1, q2, q3, q4; - - /* - * Change of plan, per exercise 16. - * r = 0; - * for j = 1..4: - * q[j] = floor((r*B + u[j]) / v), - * r = (r*B + u[j]) % v; - * We unroll this completely here. - */ - t = v[2]; /* nonzero, by definition */ - q1 = u[1] / t; - rbj = COMBINE(u[1] % t, u[2]); - q2 = rbj / t; - rbj = COMBINE(rbj % t, u[3]); - q3 = rbj / t; - rbj = COMBINE(rbj % t, u[4]); - q4 = rbj / t; - if (arq) - *arq = rbj % t; - tmp.ul[H] = COMBINE(q1, q2); - tmp.ul[L] = COMBINE(q3, q4); - return (tmp.q); - } - } - - /* - * By adjusting q once we determine m, we can guarantee that - * there is a complete four-digit quotient at &qspace[1] when - * we finally stop. - */ - for (m = 4 - n; u[1] == 0; u++) - m--; - for (i = 4 - m; --i >= 0;) - q[i] = 0; - q += 4 - m; - - /* - * Here we run Program D, translated from MIX to C and acquiring - * a few minor changes. - * - * D1: choose multiplier 1 << d to ensure v[1] >= B/2. - */ - d = 0; - for (t = v[1]; t < B / 2; t <<= 1) - d++; - if (d > 0) { - shl(&u[0], m + n, d); /* u <<= d */ - shl(&v[1], n - 1, d); /* v <<= d */ - } - /* - * D2: j = 0. - */ - j = 0; - v1 = v[1]; /* for D3 -- note that v[1..n] are constant */ - v2 = v[2]; /* for D3 */ - do { - register digit uj0, uj1, uj2; - - /* - * D3: Calculate qhat (\^q, in TeX notation). - * Let qhat = min((u[j]*B + u[j+1])/v[1], B-1), and - * let rhat = (u[j]*B + u[j+1]) mod v[1]. - * While rhat < B and v[2]*qhat > rhat*B+u[j+2], - * decrement qhat and increase rhat correspondingly. - * Note that if rhat >= B, v[2]*qhat < rhat*B. - */ - uj0 = u[j + 0]; /* for D3 only -- note that u[j+...] change */ - uj1 = u[j + 1]; /* for D3 only */ - uj2 = u[j + 2]; /* for D3 only */ - if (uj0 == v1) { - qhat = B; - rhat = uj1; - goto qhat_too_big; - } else { - u_long nn = COMBINE(uj0, uj1); - qhat = nn / v1; - rhat = nn % v1; - } - while (v2 * qhat > COMBINE(rhat, uj2)) { - qhat_too_big: - qhat--; - if ((rhat += v1) >= B) - break; - } - /* - * D4: Multiply and subtract. - * The variable `t' holds any borrows across the loop. - * We split this up so that we do not require v[0] = 0, - * and to eliminate a final special case. - */ - for (t = 0, i = n; i > 0; i--) { - t = u[i + j] - v[i] * qhat - t; - u[i + j] = LHALF(t); - t = (B - HHALF(t)) & (B - 1); - } - t = u[j] - t; - u[j] = LHALF(t); - /* - * D5: test remainder. - * There is a borrow if and only if HHALF(t) is nonzero; - * in that (rare) case, qhat was too large (by exactly 1). - * Fix it by adding v[1..n] to u[j..j+n]. - */ - if (HHALF(t)) { - qhat--; - for (t = 0, i = n; i > 0; i--) { /* D6: add back. */ - t += u[i + j] + v[i]; - u[i + j] = LHALF(t); - t = HHALF(t); - } - u[j] = LHALF(u[j] + t); - } - q[j] = qhat; - } while (++j <= m); /* D7: loop on j. */ - - /* - * If caller wants the remainder, we have to calculate it as - * u[m..m+n] >> d (this is at most n digits and thus fits in - * u[m+1..m+n], but we may need more source digits). - */ - if (arq) { - if (d) { - for (i = m + n; i > m; --i) - u[i] = (u[i] >> d) | - LHALF(u[i - 1] << (HALF_BITS - d)); - u[i] = 0; - } - tmp.ul[H] = COMBINE(uspace[1], uspace[2]); - tmp.ul[L] = COMBINE(uspace[3], uspace[4]); - *arq = tmp.q; - } - - tmp.ul[H] = COMBINE(qspace[1], qspace[2]); - tmp.ul[L] = COMBINE(qspace[3], qspace[4]); - return (tmp.q); -} - -/* - * Divide two unsigned quads. - */ - -u_quad_t -__udivdi3(a, b) - u_quad_t a, b; -{ - - return (__qdivrem(a, b, (u_quad_t *)0)); -} - -/* - * Return remainder after dividing two unsigned quads. - */ -u_quad_t -__umoddi3(a, b) - u_quad_t a, b; -{ - u_quad_t r; - - (void)__qdivrem(a, b, &r); - return (r); -} diff --git a/lib/libstand/quad.h b/lib/libstand/quad.h deleted file mode 100644 index bddca839a5049..0000000000000 --- a/lib/libstand/quad.h +++ /dev/null @@ -1,116 +0,0 @@ -/*- - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)quad.h 8.1 (Berkeley) 6/4/93 - * $Id: quad.h,v 1.6 1997/02/22 09:39:58 peter Exp $ - */ - -/* - * Quad arithmetic. - * - * This library makes the following assumptions: - * - * - The type long long (aka quad_t) exists. - * - * - A quad variable is exactly twice as long as `long'. - * - * - The machine's arithmetic is two's complement. - * - * This library can provide 128-bit arithmetic on a machine with 128-bit - * quads and 64-bit longs, for instance, or 96-bit arithmetic on machines - * with 48-bit longs. - */ - -#include <sys/cdefs.h> -#include <sys/types.h> -#include <limits.h> - -/* - * Depending on the desired operation, we view a `long long' (aka quad_t) in - * one or more of the following formats. - */ -union uu { - quad_t q; /* as a (signed) quad */ - quad_t uq; /* as an unsigned quad */ - long sl[2]; /* as two signed longs */ - u_long ul[2]; /* as two unsigned longs */ -}; - -/* - * Define high and low longwords. - */ -#define H _QUAD_HIGHWORD -#define L _QUAD_LOWWORD - -/* - * Total number of bits in a quad_t and in the pieces that make it up. - * These are used for shifting, and also below for halfword extraction - * and assembly. - */ -#define QUAD_BITS (sizeof(quad_t) * CHAR_BIT) -#define LONG_BITS (sizeof(long) * CHAR_BIT) -#define HALF_BITS (sizeof(long) * CHAR_BIT / 2) - -/* - * Extract high and low shortwords from longword, and move low shortword of - * longword to upper half of long, i.e., produce the upper longword of - * ((quad_t)(x) << (number_of_bits_in_long/2)). (`x' must actually be u_long.) - * - * These are used in the multiply code, to split a longword into upper - * and lower halves, and to reassemble a product as a quad_t, shifted left - * (sizeof(long)*CHAR_BIT/2). - */ -#define HHALF(x) ((x) >> HALF_BITS) -#define LHALF(x) ((x) & ((1 << HALF_BITS) - 1)) -#define LHUP(x) ((x) << HALF_BITS) - -quad_t __divdi3 __P((quad_t a, quad_t b)); -quad_t __moddi3 __P((quad_t a, quad_t b)); -u_quad_t __qdivrem __P((u_quad_t u, u_quad_t v, u_quad_t *rem)); -u_quad_t __udivdi3 __P((u_quad_t a, u_quad_t b)); -u_quad_t __umoddi3 __P((u_quad_t a, u_quad_t b)); - -/* - * XXX - * Compensate for gcc 1 vs gcc 2. Gcc 1 defines ?sh?di3's second argument - * as u_quad_t, while gcc 2 correctly uses int. Unfortunately, we still use - * both compilers. - */ -#if __GNUC__ >= 2 -typedef unsigned int qshift_t; -#else -typedef u_quad_t qshift_t; -#endif diff --git a/lib/libstand/stand.h b/lib/libstand/stand.h index 74abcd7660b38..4199fd672e465 100644 --- a/lib/libstand/stand.h +++ b/lib/libstand/stand.h @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: stand.h,v 1.12 1998/11/04 07:39:53 msmith Exp $ + * $Id: stand.h,v 1.6 1998/09/26 10:48:50 dfr Exp $ * From $NetBSD: stand.h,v 1.22 1997/06/26 19:17:40 drochner Exp $ */ @@ -137,7 +137,6 @@ struct devsw { int (*dv_open)(struct open_file *f, ...); int (*dv_close)(struct open_file *f); int (*dv_ioctl)(struct open_file *f, u_long cmd, void *data); - void (*dv_print)(int verbose); /* print device information */ }; extern int errno; @@ -162,7 +161,7 @@ extern struct open_file files[]; #define isupper(c) ((c) >= 'A' && (c) <= 'Z') #define islower(c) ((c) >= 'a' && (c) <= 'z') -#define isspace(c) ((c) == ' ' || ((c) >= 0x9 && (c) <= 0xd)) +#define isspace(c) ((c) == ' ' || (c) == '\t') #define isdigit(c) ((c) >= '0' && (c) <= '9') #define isxdigit(c) (isdigit(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F')) #define isascii(c) ((c) >= 0 || (c <= 0x7f)) @@ -182,9 +181,6 @@ extern void *calloc(size_t n1, size_t n2); extern void *realloc(void *ptr, size_t size); extern void *reallocf(void *ptr, size_t size); extern void mallocstats(void); -#ifdef __alpha__ -extern void free_region(void *start, void *end); -#endif /* disklabel support (undocumented, may be junk) */ struct disklabel; @@ -194,7 +190,6 @@ extern int dkcksum(struct disklabel *); extern int printf(const char *fmt, ...); extern void vprintf(const char *fmt, _BSD_VA_LIST_); extern int sprintf(char *buf, const char *cfmt, ...); -extern void vsprintf(char *buf, const char *cfmt, _BSD_VA_LIST_); extern void twiddle(void); @@ -220,7 +215,7 @@ extern u_long random(void); extern long strtol(const char *, char **, int); extern char * strerror(int err); extern char *optarg; /* getopt(3) external variables */ -extern int optind, opterr, optopt, optreset; +extern int optind, opterr, optopt; extern int getopt(int, char * const [], const char *); /* pager.c */ @@ -229,10 +224,6 @@ extern void pager_close(void); extern int pager_output(const char *lines); extern int pager_file(const char *fname); -/* No signal state to preserve */ -#define setjmp _setjmp -#define longjmp _longjmp - /* environment.c */ #define EV_DYNAMIC (1<<0) /* value was dynamically allocated, free if changed/unset */ #define EV_VOLATILE (1<<1) /* value is volatile, make a copy of it */ diff --git a/lib/libstand/zalloc_defs.h b/lib/libstand/zalloc_defs.h index 051c53fffb12a..d3f46da410aa4 100644 --- a/lib/libstand/zalloc_defs.h +++ b/lib/libstand/zalloc_defs.h @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: zalloc_defs.h,v 1.4 1998/10/16 19:23:37 msmith Exp $ + * $Id: zalloc_defs.h,v 1.2 1998/09/26 10:48:50 dfr Exp $ */ /* @@ -63,7 +63,7 @@ typedef long saddr_t; /* signed int same size as pointer */ * block extension for sbrk() */ -#define BLKEXTEND (4 * 1024) +#define BLKEXTEND (64 * 1024) #define BLKEXTENDMASK (BLKEXTEND - 1) /* diff --git a/lib/libstand/zalloc_malloc.c b/lib/libstand/zalloc_malloc.c index d70a8f7577c0f..6cb4953ef312f 100644 --- a/lib/libstand/zalloc_malloc.c +++ b/lib/libstand/zalloc_malloc.c @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: zalloc_malloc.c,v 1.3 1998/10/01 17:35:08 msmith Exp $ + * $Id: zalloc_malloc.c,v 1.2 1998/09/26 10:48:50 dfr Exp $ */ /* @@ -49,15 +49,6 @@ void mallocstats(void); #undef free #endif -#ifdef __alpha__ -void -free_region(void *start, void *end) -{ - zextendPool(&MallocPool, start, (caddr_t)end - (caddr_t)start); - zfree(&MallocPool, start, (caddr_t)end - (caddr_t)start); -} -#endif - void * malloc(size_t bytes) { |