From owner-freebsd-arch@FreeBSD.ORG Wed May 7 01:35:30 2003 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CEFD637B401 for ; Wed, 7 May 2003 01:35:30 -0700 (PDT) Received: from perrin.int.nxad.com (internal.ext.nxad.com [69.1.70.251]) by mx1.FreeBSD.org (Postfix) with ESMTP id 57D4043F93 for ; Wed, 7 May 2003 01:35:30 -0700 (PDT) (envelope-from hmp@perrin.int.nxad.com) Received: by perrin.int.nxad.com (Postfix, from userid 1072) id 4D2022105C; Wed, 7 May 2003 01:35:29 -0700 (PDT) Date: Wed, 7 May 2003 01:35:29 -0700 From: Hiten Pandya To: freebsd-arch@FreeBSD.ORG Message-ID: <20030507083529.GA73613@perrin.int.nxad.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="PmA2V3Z32TCmWXqI" Content-Disposition: inline User-Agent: Mutt/1.4i X-Operating-System: FreeBSD FreeBSD 4.7-STABLE Subject: Using weak referencing for uuid routines X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 May 2003 08:35:31 -0000 --PmA2V3Z32TCmWXqI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello gang. I am sending a patch for changing the uuid part of libc to use weak referencing. This was originally requested by Alexander Kabaev . If this patch is accepted, than I would like one of src committers to commit it for me. Cheers. -- Hiten (hmp@FreeBSD.ORG) --PmA2V3Z32TCmWXqI Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="uuid-weak-ref.patch" Index: lib/libc/uuid/uuid_compare.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_compare.c,v retrieving revision 1.1 diff -u -r1.1 uuid_compare.c --- lib/libc/uuid/uuid_compare.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_compare.c 6 May 2003 17:27:21 -0000 @@ -40,7 +40,7 @@ * than any non-nil UUID. */ int32_t -uuid_compare(uuid_t *a, uuid_t *b, uint32_t *status) +__uuid_compare(uuid_t *a, uuid_t *b, uint32_t *status) { int res; @@ -74,3 +74,5 @@ return ((res < 0) ? -1 : 1); return (memcmp(a->node, b->node, sizeof(uuid_t))); } + +__weak_reference(__uuid_compare, uuid_compare); Index: lib/libc/uuid/uuid_create.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_create.c,v retrieving revision 1.1 diff -u -r1.1 uuid_create.c --- lib/libc/uuid/uuid_create.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_create.c 6 May 2003 17:29:24 -0000 @@ -36,7 +36,7 @@ * http://www.transarc.ibm.com/Library/documentation/dce/1.1/uuid_create.html */ void -uuid_create(uuid_t *u, uint32_t *status) +__uuid_create(uuid_t *u, uint32_t *status) { if (status) @@ -44,3 +44,5 @@ uuidgen(u, 1); } + +__weak_reference(__uuid_create, uuid_create); Index: lib/libc/uuid/uuid_create_nil.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_create_nil.c,v retrieving revision 1.1 diff -u -r1.1 uuid_create_nil.c --- lib/libc/uuid/uuid_create_nil.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_create_nil.c 6 May 2003 17:30:15 -0000 @@ -37,7 +37,7 @@ * http://www.transarc.ibm.com/Library/documentation/dce/1.1/uuid_create_nil.html */ void -uuid_create_nil(uuid_t *u, uint32_t *status) +__uuid_create_nil(uuid_t *u, uint32_t *status) { if (status) @@ -45,3 +45,5 @@ bzero(u, sizeof(*u)); } + +__weak_reference(__uuid_create_nil, uuid_create_nil); Index: lib/libc/uuid/uuid_equal.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_equal.c,v retrieving revision 1.1 diff -u -r1.1 uuid_equal.c --- lib/libc/uuid/uuid_equal.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_equal.c 6 May 2003 17:27:01 -0000 @@ -37,7 +37,7 @@ * http://www.transarc.ibm.com/Library/documentation/dce/1.1/uuid_equal.html */ int32_t -uuid_equal(uuid_t *a, uuid_t *b, uint32_t *status) +__uuid_equal(uuid_t *a, uuid_t *b, uint32_t *status) { if (status != NULL) @@ -54,3 +54,5 @@ /* Do a byte for byte comparison. */ return ((memcmp(a, b, sizeof(uuid_t))) ? 0 : 1); } + +__weak_reference(__uuid_equal, uuid_equal); Index: lib/libc/uuid/uuid_from_string.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_from_string.c,v retrieving revision 1.1 diff -u -r1.1 uuid_from_string.c --- lib/libc/uuid/uuid_from_string.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_from_string.c 6 May 2003 17:27:40 -0000 @@ -42,7 +42,7 @@ * native byte order. */ void -uuid_from_string(const char *s, uuid_t *u, uint32_t *status) +__uuid_from_string(const char *s, uuid_t *u, uint32_t *status) { int n; @@ -91,3 +91,5 @@ *status = uuid_s_ok; } } + +__weak_reference(__uuid_from_string, uuid_from_string); Index: lib/libc/uuid/uuid_hash.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_hash.c,v retrieving revision 1.1 diff -u -r1.1 uuid_hash.c --- lib/libc/uuid/uuid_hash.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_hash.c 6 May 2003 17:28:17 -0000 @@ -36,7 +36,7 @@ * http://www.transarc.ibm.com/Library/documentation/dce/1.1/uuid_hash.html */ uint16_t -uuid_hash(uuid_t *u, uint32_t *status) +__uuid_hash(uuid_t *u, uint32_t *status) { if (status) @@ -48,3 +48,5 @@ */ return ((u) ? u->time_low & 0xffff : 0); } + +__weak_reference(__uuid_hash, uuid_hash); Index: lib/libc/uuid/uuid_is_nil.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_is_nil.c,v retrieving revision 1.1 diff -u -r1.1 uuid_is_nil.c --- lib/libc/uuid/uuid_is_nil.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_is_nil.c 6 May 2003 17:28:36 -0000 @@ -36,7 +36,7 @@ * http://www.transarc.ibm.com/Library/documentation/dce/1.1/uuid_is_nil.html */ int32_t -uuid_is_nil(uuid_t *u, uint32_t *status) +__uuid_is_nil(uuid_t *u, uint32_t *status) { uint32_t *p; @@ -53,3 +53,5 @@ p = (uint32_t*)u; return ((p[0] == 0 && p[1] == 0 && p[2] == 0 && p[3] == 0) ? 1 : 0); } + +__weak_reference(__uuid_is_nil, uuid_is_nil); Index: lib/libc/uuid/uuid_to_string.c =================================================================== RCS file: /home/ncvs/src/lib/libc/uuid/uuid_to_string.c,v retrieving revision 1.1 diff -u -r1.1 uuid_to_string.c --- lib/libc/uuid/uuid_to_string.c 30 Oct 2002 03:51:00 -0000 1.1 +++ lib/libc/uuid/uuid_to_string.c 6 May 2003 17:28:00 -0000 @@ -42,7 +42,7 @@ * taken from the Hewlett-Packard implementation. */ void -uuid_to_string(uuid_t *u, char **s, uint32_t *status) +__uuid_to_string(uuid_t *u, char **s, uint32_t *status) { uuid_t nil; @@ -66,3 +66,5 @@ if (*s == NULL && status != NULL) *status = uuid_s_no_memory; } + +__weak_reference(__uuid_to_string, uuid_to_string); --PmA2V3Z32TCmWXqI--