Libraries updates and cleanup
* Updating common/lib * Updating lib/csu * Updating lib/libc * Updating libexec/ld.elf_so * Corrected test on __minix in featuretest to actually follow the meaning of the comment. * Cleaned up _REENTRANT-related defintions. * Disabled -D_REENTRANT for libfetch * Removing some unneeded __NBSD_LIBC defines and tests Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: bcmp.c,v 1.6 2009/04/25 12:20:48 skrll Exp $ */
|
||||
/* $NetBSD: bcmp.c,v 1.7 2012/03/09 15:41:16 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1987, 1993
|
||||
@@ -34,7 +34,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)bcmp.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: bcmp.c,v 1.6 2009/04/25 12:20:48 skrll Exp $");
|
||||
__RCSID("$NetBSD: bcmp.c,v 1.7 2012/03/09 15:41:16 christos Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -66,5 +66,5 @@ bcmp(const void *b1, const void *b2, size_t length)
|
||||
if (*p1++ != *p2++)
|
||||
break;
|
||||
while (--length);
|
||||
return(length);
|
||||
return length != 0;
|
||||
}
|
||||
|
||||
19
common/lib/libc/string/consttime_bcmp.c
Normal file
19
common/lib/libc/string/consttime_bcmp.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/* $NetBSD: consttime_bcmp.c,v 1.1 2012/08/30 12:16:49 drochner Exp $ */
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
#include <string.h>
|
||||
#define consttime_bcmp __consttime_bcmp
|
||||
#else
|
||||
#include <lib/libkern/libkern.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
consttime_bcmp(const void *b1, const void *b2, size_t len)
|
||||
{
|
||||
const char *c1 = b1, *c2 = b2;
|
||||
int res = 0;
|
||||
|
||||
while (len --)
|
||||
res |= *c1++ ^ *c2++;
|
||||
return res;
|
||||
}
|
||||
22
common/lib/libc/string/explicit_bzero.c
Normal file
22
common/lib/libc/string/explicit_bzero.c
Normal file
@@ -0,0 +1,22 @@
|
||||
/* $NetBSD: explicit_bzero.c,v 1.1 2012/08/30 12:16:49 drochner Exp $ */
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
#include <string.h>
|
||||
#define explicit_bzero __explicit_bzero
|
||||
#define explicit_memset_impl __explicit_memset_impl
|
||||
#else
|
||||
#include <lib/libkern/libkern.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The use of a volatile pointer guarantees that the compiler
|
||||
* will not optimise the call away.
|
||||
*/
|
||||
void *(* volatile explicit_memset_impl)(void *, int, size_t) = memset;
|
||||
|
||||
void
|
||||
explicit_bzero(void *b, size_t len)
|
||||
{
|
||||
|
||||
(*explicit_memset_impl)(b, 0, len);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ffs.c,v 1.3 2007/11/02 21:05:06 christos Exp $ */
|
||||
/* $NetBSD: ffs.c,v 1.4 2011/08/07 01:52:47 mrg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993
|
||||
@@ -34,7 +34,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)ffs.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: ffs.c,v 1.3 2007/11/02 21:05:06 christos Exp $");
|
||||
__RCSID("$NetBSD: ffs.c,v 1.4 2011/08/07 01:52:47 mrg Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: ffs.c,v 1.3 2007/11/02 21:05:06 christos Exp $");
|
||||
/*
|
||||
* ffs -- vax ffs instruction
|
||||
*/
|
||||
__weak_alias(__ffssi2,ffs)
|
||||
int
|
||||
ffs(int mask)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: memcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $ */
|
||||
/* $NetBSD: memcmp.c,v 1.3 2011/11/08 16:52:11 joerg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993
|
||||
@@ -37,7 +37,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)memcmp.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: memcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
|
||||
__RCSID("$NetBSD: memcmp.c,v 1.3 2011/11/08 16:52:11 joerg Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -48,6 +48,7 @@ __RCSID("$NetBSD: memcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
|
||||
#include <lib/libkern/libkern.h>
|
||||
#endif
|
||||
|
||||
#undef memcmp
|
||||
/*
|
||||
* Compare memory regions.
|
||||
*/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: memset.c,v 1.8 2009/03/18 12:25:06 tsutsui Exp $ */
|
||||
/* $NetBSD: memset.c,v 1.9 2011/11/08 16:52:11 joerg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993
|
||||
@@ -37,7 +37,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)memset.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: memset.c,v 1.8 2009/03/18 12:25:06 tsutsui Exp $");
|
||||
__RCSID("$NetBSD: memset.c,v 1.9 2011/11/08 16:52:11 joerg Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -60,8 +60,8 @@ __RCSID("$NetBSD: memset.c,v 1.8 2009/03/18 12:25:06 tsutsui Exp $");
|
||||
|
||||
#ifdef _FORTIFY_SOURCE
|
||||
#undef bzero
|
||||
#undef memset
|
||||
#endif
|
||||
#undef memset
|
||||
|
||||
#ifndef __OPTIMIZE_SIZE__
|
||||
#ifdef BZERO
|
||||
|
||||
@@ -27,6 +27,11 @@
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
__RCSID("$NetBSD: memset2.c,v 1.5 2012/03/02 16:22:27 apb Exp $");
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
@@ -49,18 +54,16 @@
|
||||
|
||||
#ifdef _FORTIFY_SOURCE
|
||||
#undef bzero
|
||||
#undef memset
|
||||
#endif
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
__RCSID("$NetBSD: memset2.c,v 1.2 2009/12/14 00:39:01 matt Exp $");
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
#undef memset
|
||||
|
||||
/*
|
||||
* Assume uregister_t is the widest non-synthetic unsigned type.
|
||||
*/
|
||||
typedef uregister_t memword_t;
|
||||
|
||||
__CTASSERT((~(memword_t)0U >> 1) != ~(memword_t)0U);
|
||||
|
||||
#ifdef BZERO
|
||||
static inline
|
||||
#define memset memset0
|
||||
@@ -71,10 +74,6 @@ static
|
||||
#define memset test_memset
|
||||
#endif
|
||||
|
||||
#ifdef CTASSERT
|
||||
CTASSERT((~(memword_t)0U >> 1) != ~(memword_t)0U);
|
||||
#endif
|
||||
|
||||
void *
|
||||
memset(void *addr, int c, size_t len)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: popcount32.c,v 1.3 2009/07/21 19:56:55 drochner Exp $ */
|
||||
/* $NetBSD: popcount32.c,v 1.4 2011/08/21 21:25:04 dholland Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 2009 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
@@ -32,10 +32,11 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: popcount32.c,v 1.3 2009/07/21 19:56:55 drochner Exp $");
|
||||
__RCSID("$NetBSD: popcount32.c,v 1.4 2011/08/21 21:25:04 dholland Exp $");
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <strings.h>
|
||||
#else
|
||||
#include <lib/libkern/libkern.h>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: popcount64.c,v 1.5 2009/08/05 15:04:15 joerg Exp $ */
|
||||
/* $NetBSD: popcount64.c,v 1.7 2012/03/09 15:41:16 christos Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 2009 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
@@ -32,10 +32,11 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: popcount64.c,v 1.5 2009/08/05 15:04:15 joerg Exp $");
|
||||
__RCSID("$NetBSD: popcount64.c,v 1.7 2012/03/09 15:41:16 christos Exp $");
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <strings.h>
|
||||
#else
|
||||
#include <lib/libkern/libkern.h>
|
||||
@@ -63,10 +64,12 @@ popcount64(uint64_t v)
|
||||
{
|
||||
unsigned int c;
|
||||
|
||||
v = v - ((v >> 1) & 0x5555555555555555ULL);
|
||||
v = (v & 0x3333333333333333ULL) + ((v >> 2) & 0x3333333333333333ULL);
|
||||
v = ((v + (v >> 4)) & 0x0f0f0f0f0f0f0f0fULL) * 0x0101010101010101ULL;
|
||||
c = v >> 56;
|
||||
v = v - ((v >> 1) & (uint64_t)0x5555555555555555ULL);
|
||||
v = (v & (uint64_t)0x3333333333333333ULL) +
|
||||
((v >> 2) & (uint64_t)0x3333333333333333ULL);
|
||||
v = ((v + (v >> 4)) & (uint64_t)0x0f0f0f0f0f0f0f0fULL) *
|
||||
(uint64_t)0x0101010101010101ULL;
|
||||
c = (unsigned int)(v >> 56);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: strchr.c,v 1.4 2009/07/17 19:37:57 dsl Exp $ */
|
||||
/* $NetBSD: strchr.c,v 1.5 2011/08/31 15:48:32 plunky Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993
|
||||
@@ -34,7 +34,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)index.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: strchr.c,v 1.4 2009/07/17 19:37:57 dsl Exp $");
|
||||
__RCSID("$NetBSD: strchr.c,v 1.5 2011/08/31 15:48:32 plunky Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -59,7 +59,7 @@ strchr(const char *p, int ch)
|
||||
return(__UNCONST(p));
|
||||
}
|
||||
if (!*p)
|
||||
return((char *)NULL);
|
||||
return(NULL);
|
||||
}
|
||||
/* NOTREACHED */
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: strcpy.c,v 1.2 2007/06/04 18:19:27 christos Exp $ */
|
||||
/* $NetBSD: strcpy.c,v 1.3 2011/11/08 16:52:11 joerg Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988, 1993
|
||||
@@ -34,7 +34,7 @@
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)strcpy.c 8.1 (Berkeley) 6/4/93";
|
||||
#else
|
||||
__RCSID("$NetBSD: strcpy.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
|
||||
__RCSID("$NetBSD: strcpy.c,v 1.3 2011/11/08 16:52:11 joerg Exp $");
|
||||
#endif
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
@@ -45,9 +45,7 @@ __RCSID("$NetBSD: strcpy.c,v 1.2 2007/06/04 18:19:27 christos Exp $");
|
||||
#include <lib/libkern/libkern.h>
|
||||
#endif
|
||||
|
||||
#ifdef _FORTIFY_SOURCE
|
||||
#undef strcpy
|
||||
#endif
|
||||
|
||||
char *
|
||||
strcpy(char *to, const char *from)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $NetBSD: strnlen.c,v 1.1 2009/05/01 17:27:01 perry Exp $ */
|
||||
/* $NetBSD: strnlen.c,v 1.1 2011/09/01 22:35:18 jym Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2009 David Schultz <das@FreeBSD.org>
|
||||
@@ -28,11 +28,15 @@
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
__RCSID("$NetBSD: strnlen.c,v 1.1 2009/05/01 17:27:01 perry Exp $");
|
||||
__RCSID("$NetBSD: strnlen.c,v 1.1 2011/09/01 22:35:18 jym Exp $");
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
/* FreeBSD: src/lib/libc/string/strnlen.c,v 1.1 2009/02/28 06:00:58 das Exp */
|
||||
|
||||
#if !defined(_KERNEL) && !defined(_STANDALONE)
|
||||
#include <string.h>
|
||||
#else
|
||||
#include <lib/libkern/libkern.h>
|
||||
#endif
|
||||
|
||||
size_t
|
||||
strnlen(const char *s, size_t maxlen)
|
||||
|
||||
Reference in New Issue
Block a user