CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/softfloat

2011-06-01 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Jun  1 06:28:00 UTC 2011

Modified Files:
src/lib/libc/arch/mips/softfloat [matt-nb5-mips64]: mips-gcc.h

Log Message:
Kill a section copied from arm-gcc.h.  MIPS is normal (well, more normal)
than ARM for FP.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/lib/libc/arch/mips/softfloat/mips-gcc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/softfloat/mips-gcc.h
diff -u src/lib/libc/arch/mips/softfloat/mips-gcc.h:1.1.2.2 src/lib/libc/arch/mips/softfloat/mips-gcc.h:1.1.2.3
--- src/lib/libc/arch/mips/softfloat/mips-gcc.h:1.1.2.2	Fri Apr 29 07:48:34 2011
+++ src/lib/libc/arch/mips/softfloat/mips-gcc.h	Wed Jun  1 06:28:00 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: mips-gcc.h,v 1.1.2.2 2011/04/29 07:48:34 matt Exp $ */
+/* mips-gcc.h,v 1.1.2.2 2011/04/29 07:48:34 matt Exp */
 
 /*
 ---
@@ -85,16 +85,10 @@
 
 /*
 ---
-The MIPS FPA is odd in that it stores doubles high-order word first, no matter
-what the endianness of the CPU.  VFP is sane.
+The MIPS FP is sane.
 ---
 */
 #if defined(SOFTFLOAT_FOR_GCC)
-#if defined(__MIPSEB__)
 #define FLOAT64_DEMANGLE(a)	(a)
 #define FLOAT64_MANGLE(a)	(a)
-#else
-#define FLOAT64_DEMANGLE(a)	(((a)  32) | ((a)  32))
-#define FLOAT64_MANGLE(a)	FLOAT64_DEMANGLE(a)
-#endif
 #endif



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2011-04-29 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Apr 29 08:03:55 UTC 2011

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: _lwp.c

Log Message:
Both N32/N64 use 64-bit stack slots.


To generate a diff of this commit:
cvs rdiff -u -r1.5.14.1 -r1.5.14.2 src/lib/libc/arch/mips/gen/_lwp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/_lwp.c
diff -u src/lib/libc/arch/mips/gen/_lwp.c:1.5.14.1 src/lib/libc/arch/mips/gen/_lwp.c:1.5.14.2
--- src/lib/libc/arch/mips/gen/_lwp.c:1.5.14.1	Fri Apr 29 08:01:50 2011
+++ src/lib/libc/arch/mips/gen/_lwp.c	Fri Apr 29 08:03:55 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: _lwp.c,v 1.5.14.1 2011/04/29 08:01:50 matt Exp $	*/
+/*	$NetBSD: _lwp.c,v 1.5.14.2 2011/04/29 08:03:55 matt Exp $	*/
 
 /*
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include sys/cdefs.h
 #if defined(LIBC_SCCS)  !defined(lint)
-__RCSID($NetBSD: _lwp.c,v 1.5.14.1 2011/04/29 08:01:50 matt Exp $);
+__RCSID($NetBSD: _lwp.c,v 1.5.14.2 2011/04/29 08:03:55 matt Exp $);
 #endif /* LIBC_SCCS and not lint */
 
 #include namespace.h
@@ -43,7 +43,7 @@
 #if defined(__mips_o32) || defined(__mips_o64)
 #define CALLFRAME_SIZ	(6 * sizeof(void *))
 #else
-#define CALLFRAME_SIZ	(4 * sizeof(void *))
+#define CALLFRAME_SIZ	(4 * sizeof(uint64_t))
 #endif
 
 void



CVS commit: [matt-nb5-mips64] src/lib/libc/net

2010-05-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu May 13 05:38:16 UTC 2010

Modified Files:
src/lib/libc/net [matt-nb5-mips64]: getifaddrs.c

Log Message:
Decode the routing message using the new RT_ROUNDUP alignment restrictions.


To generate a diff of this commit:
cvs rdiff -u -r1.11.20.2 -r1.11.20.3 src/lib/libc/net/getifaddrs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/net/getifaddrs.c
diff -u src/lib/libc/net/getifaddrs.c:1.11.20.2 src/lib/libc/net/getifaddrs.c:1.11.20.3
--- src/lib/libc/net/getifaddrs.c:1.11.20.2	Tue May 11 21:01:23 2010
+++ src/lib/libc/net/getifaddrs.c	Thu May 13 05:38:16 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: getifaddrs.c,v 1.11.20.2 2010/05/11 21:01:23 matt Exp $	*/
+/*	$NetBSD: getifaddrs.c,v 1.11.20.3 2010/05/13 05:38:16 matt Exp $	*/
 
 /*
  * Copyright (c) 1995, 1999
@@ -27,7 +27,7 @@
 
 #include sys/cdefs.h
 #if defined(LIBC_SCCS)  !defined(lint)
-__RCSID($NetBSD: getifaddrs.c,v 1.11.20.2 2010/05/11 21:01:23 matt Exp $);
+__RCSID($NetBSD: getifaddrs.c,v 1.11.20.3 2010/05/13 05:38:16 matt Exp $);
 #endif /* LIBC_SCCS and not lint */
 
 #include namespace.h
@@ -45,6 +45,10 @@
 #include ifaddrs.h
 #include stdlib.h
 #include string.h
+ 
+#ifdef RTDEBUG
+#include stdio.h
+#endif
 
 #ifdef __weak_alias
 __weak_alias(getifaddrs,_getifaddrs)
@@ -76,6 +80,10 @@
 	char *data;
 	char *names;
 
+#ifdef RTDEBUG
+	static const char rtax_names[][8] = RTAX_NAMES;
+#endif
+
 	_DIAGASSERT(pif != NULL);
 
 	mib[0] = CTL_NET;
@@ -97,6 +105,11 @@
 		rtm = (struct rt_msghdr *)(void *)next;
 		if (rtm-rtm_version != RTM_VERSION)
 			continue;
+#ifdef RTDEBUG
+		printf(%d: %zd rtm len=%d type=%d\n, __LINE__,
+			(char *)rtm - buf,
+			rtm-rtm_msglen, rtm-rtm_type);
+#endif
 		switch (rtm-rtm_type) {
 		case RTM_IFINFO:
 			ifm = (struct if_msghdr *)(void *)rtm;
@@ -105,10 +118,18 @@
 
 idx = ifm-ifm_index;
 ++icnt;
-dl = (struct sockaddr_dl *)(void *)(ifm + 1);
+dl = (struct sockaddr_dl *)
+((uintptr_t)ifm + RT_ROUNDUP(sizeof(*ifm)));
 dcnt += SA_RLEN((const struct sockaddr *)(const void *)dl);
-dcnt += sizeof(ifm-ifm_data);
+dcnt += RT_ROUNDUP(sizeof(ifm-ifm_data));
 ncnt += dl-sdl_nlen + 1;
+#ifdef RTDEBUG
+printf(%d: %zd sdl idx=%d dcnt=%#x flags=%#x name=,
+	__LINE__, (const char *)dl - buf, idx,
+	dcnt, ifm-ifm_flags);
+fwrite(dl-sdl_data, 1, dl-sdl_nlen, stdout);
+putchar('\n');
+#endif
 			} else
 idx = 0;
 			break;
@@ -121,8 +142,14 @@
 #define	RTA_MASKS	(RTA_NETMASK | RTA_IFA | RTA_BRD)
 			if (idx == 0 || (ifam-ifam_addrs  RTA_MASKS) == 0)
 break;
-			p = (char *)(void *)(ifam + 1);
+			p = (char *)
+			((uintptr_t)ifam + RT_ROUNDUP(sizeof(*ifam)));
 			++icnt;
+#ifdef RTDEBUG
+			printf(%d: %zd sa index=%d addrs=%#x\n,
+__LINE__, p - buf,
+ifam-ifam_index, ifam-ifam_addrs);
+#endif
 			/* Scan to look for length of address */
 			alen = 0;
 			for (p0 = p, i = 0; i  RTAX_MAX; i++) {
@@ -131,6 +158,11 @@
 	continue;
 sa = (struct sockaddr *)(void *)p;
 len = SA_RLEN(sa);
+#ifdef RTDEBUG
+printf(%d: %zd sa %s len=%d family=%d\n,
+	__LINE__, p - buf, rtax_names[i],
+	sa-sa_len, sa-sa_family);
+#endif
 if (i == RTAX_IFA) {
 	alen = len;
 	break;
@@ -147,6 +179,11 @@
 	dcnt += alen;
 else
 	dcnt += len;
+#ifdef RTDEBUG
+printf(%d: %zd sa %s dcnt=%#x, len=%d family=%d\n,
+	__LINE__, p - buf, rtax_names[i], dcnt,
+	sa-sa_len, sa-sa_family);
+#endif
 p += len;
 			}
 			break;
@@ -158,24 +195,33 @@
 		free(buf);
 		return (0);
 	}
-	data = malloc(sizeof(struct ifaddrs) * icnt + dcnt + ncnt);
+	data = malloc(RT_ROUNDUP(sizeof(struct ifaddrs) * icnt) + dcnt + ncnt);
 	if (data == NULL) {
 		free(buf);
 		return(-1);
 	}
 
 	ifa = (struct ifaddrs *)(void *)data;
-	data += sizeof(struct ifaddrs) * icnt;
+	data += RT_ROUNDUP(sizeof(struct ifaddrs) * icnt);
 	names = data + dcnt;
 
 	memset(ifa, 0, sizeof(struct ifaddrs) * icnt);
 	ift = ifa;
+#ifdef RTDEBUG
+	printf(ifa=%p data=%p names=%p end=%p\n,
+	ifa, data, names, names + ncnt);
+#endif
 
 	idx = 0;
 	for (next = buf; next  buf + needed; next += rtm-rtm_msglen) {
 		rtm = (struct rt_msghdr *)(void *)next;
 		if (rtm-rtm_version != RTM_VERSION)
 			continue;
+#ifdef RTDEBUG
+		printf(%d: %zd rtm len=%d type=%d\n, __LINE__,
+			(char *)rtm - buf,
+			rtm-rtm_msglen, rtm-rtm_type);
+#endif
 		switch (rtm-rtm_type) {
 		case RTM_IFINFO:
 			ifm = (struct if_msghdr *)(void *)rtm;
@@ -183,7 +229,8 @@
 const struct sockaddr_dl *dl;
 
 idx = ifm-ifm_index;
-dl = (struct sockaddr_dl *)(void *)(ifm + 1);
+dl = (struct sockaddr_dl *)
+((uintptr_t)ifm + RT_ROUNDUP(sizeof(*ifm)));
 
 memset(cif, 0, sizeof(cif));
 
@@ -192,6 +239,12 @@
 memcpy(names, dl-sdl_data,
 (size_t)dl-sdl_nlen);
 names[dl-sdl_nlen] = 0;
+
+#ifdef RTDEBUG
+printf(%d: %zd 

CVS commit: [matt-nb5-mips64] src/lib/libc/net

2010-05-11 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue May 11 21:01:24 UTC 2010

Modified Files:
src/lib/libc/net [matt-nb5-mips64]: getifaddrs.c

Log Message:
Use RT_ROUNDUP which will always do the right thing for alignment now.


To generate a diff of this commit:
cvs rdiff -u -r1.11.20.1 -r1.11.20.2 src/lib/libc/net/getifaddrs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/net/getifaddrs.c
diff -u src/lib/libc/net/getifaddrs.c:1.11.20.1 src/lib/libc/net/getifaddrs.c:1.11.20.2
--- src/lib/libc/net/getifaddrs.c:1.11.20.1	Wed Apr 21 05:28:09 2010
+++ src/lib/libc/net/getifaddrs.c	Tue May 11 21:01:23 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: getifaddrs.c,v 1.11.20.1 2010/04/21 05:28:09 matt Exp $	*/
+/*	$NetBSD: getifaddrs.c,v 1.11.20.2 2010/05/11 21:01:23 matt Exp $	*/
 
 /*
  * Copyright (c) 1995, 1999
@@ -27,7 +27,7 @@
 
 #include sys/cdefs.h
 #if defined(LIBC_SCCS)  !defined(lint)
-__RCSID($NetBSD: getifaddrs.c,v 1.11.20.1 2010/04/21 05:28:09 matt Exp $);
+__RCSID($NetBSD: getifaddrs.c,v 1.11.20.2 2010/05/11 21:01:23 matt Exp $);
 #endif /* LIBC_SCCS and not lint */
 
 #include namespace.h
@@ -51,8 +51,7 @@
 __weak_alias(freeifaddrs,_freeifaddrs)
 #endif
 
-#define	SALIGN	(sizeof(long) - 1)
-#define	SA_RLEN(sa)	((sa)-sa_len ? (((sa)-sa_len + SALIGN)  ~SALIGN) : (SALIGN + 1))
+#define	SA_RLEN(sa)	RT_ROUNDUP((sa)-sa_len)
 
 int
 getifaddrs(struct ifaddrs **pif)
@@ -107,8 +106,7 @@
 idx = ifm-ifm_index;
 ++icnt;
 dl = (struct sockaddr_dl *)(void *)(ifm + 1);
-dcnt += SA_RLEN((const struct sockaddr *)(const void *)dl) +
-ALIGNBYTES;
+dcnt += SA_RLEN((const struct sockaddr *)(const void *)dl);
 dcnt += sizeof(ifm-ifm_data);
 ncnt += dl-sdl_nlen + 1;
 			} else



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2010-04-30 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Apr 30 14:27:46 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: longjmp.c

Log Message:
For N32/N64, GP is callee-saved


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.14.1 src/lib/libc/arch/mips/gen/longjmp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/longjmp.c
diff -u src/lib/libc/arch/mips/gen/longjmp.c:1.2 src/lib/libc/arch/mips/gen/longjmp.c:1.2.14.1
--- src/lib/libc/arch/mips/gen/longjmp.c:1.2	Mon Apr 28 20:22:56 2008
+++ src/lib/libc/arch/mips/gen/longjmp.c	Fri Apr 30 14:27:46 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: longjmp.c,v 1.2 2008/04/28 20:22:56 martin Exp $	*/
+/*	$NetBSD: longjmp.c,v 1.2.14.1 2010/04/30 14:27:46 matt Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -82,6 +82,9 @@
 	uc.uc_mcontext.__gregs[_REG_S6] = sc-sc_regs[_R_S6];
 	uc.uc_mcontext.__gregs[_REG_S7] = sc-sc_regs[_R_S7];
 	uc.uc_mcontext.__gregs[_REG_S8] = sc-sc_regs[_R_S8];
+#if defined(__mips_n32) || defined(__mips_n64)
+	uc.uc_mcontext.__gregs[_REG_GP] = sc-sc_regs[_R_GP];
+#endif
 	uc.uc_mcontext.__gregs[_REG_SP] = sc-sc_regs[_R_SP];
 	uc.uc_mcontext.__gregs[_REG_RA] = sc-sc_regs[_R_RA];
 	uc.uc_mcontext.__gregs[_REG_EPC] = sc-sc_pc;



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2010-04-30 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Apr 30 16:12:41 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: setjmp.S

Log Message:
When .set reorder, the move goes before the jump, not after.


To generate a diff of this commit:
cvs rdiff -u -r1.17.34.6 -r1.17.34.7 src/lib/libc/arch/mips/gen/setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/setjmp.S
diff -u src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.6 src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.7
--- src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.6	Wed Feb  3 23:51:40 2010
+++ src/lib/libc/arch/mips/gen/setjmp.S	Fri Apr 30 16:12:41 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: setjmp.S,v 1.17.34.6 2010/02/03 23:51:40 matt Exp $	*/
+/*	$NetBSD: setjmp.S,v 1.17.34.7 2010/04/30 16:12:41 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: setjmp.S,v 1.17.34.6 2010/02/03 23:51:40 matt Exp $)
+	RCSID($NetBSD: setjmp.S,v 1.17.34.7 2010/04/30 16:12:41 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -140,8 +140,8 @@
 #endif
 #endif	/* SOFTFLOAT_FOR_GCC */
 	REG_EPILOGUE
-	j	ra
 	move	v0, zero
+	j	ra
 
 botch:
 	jal	_C_LABEL(abort)



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2010-04-30 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Fri Apr 30 16:23:23 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: longjmp.c

Log Message:
Semantic change: Use _REG_x with gregs, no binary difference


To generate a diff of this commit:
cvs rdiff -u -r1.2.14.1 -r1.2.14.2 src/lib/libc/arch/mips/gen/longjmp.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/longjmp.c
diff -u src/lib/libc/arch/mips/gen/longjmp.c:1.2.14.1 src/lib/libc/arch/mips/gen/longjmp.c:1.2.14.2
--- src/lib/libc/arch/mips/gen/longjmp.c:1.2.14.1	Fri Apr 30 14:27:46 2010
+++ src/lib/libc/arch/mips/gen/longjmp.c	Fri Apr 30 16:23:23 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: longjmp.c,v 1.2.14.1 2010/04/30 14:27:46 matt Exp $	*/
+/*	$NetBSD: longjmp.c,v 1.2.14.2 2010/04/30 16:23:23 matt Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -70,7 +70,7 @@
 	uc.uc_link = 0;
 
 	/* Save return value in context */
-	uc.uc_mcontext.__gregs[_R_V0] = val;
+	uc.uc_mcontext.__gregs[_REG_V0] = val;
 
 	/* Copy saved registers */
 	uc.uc_mcontext.__gregs[_REG_S0] = sc-sc_regs[_R_S0];



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/sys

2010-03-16 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Mar 16 16:07:25 UTC 2010

Modified Files:
src/lib/libc/arch/mips/sys [matt-nb5-mips64]: cerror.S

Log Message:
Restore GP before calling __errno() and then do a normal return (since gp is
only used to obtain address of __errno and never used afterwards).  Otherwise
since __errno overwrites t3 we would restore a bogus gp value.

Bug reported by Juli Mallett from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.13.46.4 -r1.13.46.5 src/lib/libc/arch/mips/sys/cerror.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/sys/cerror.S
diff -u src/lib/libc/arch/mips/sys/cerror.S:1.13.46.4 src/lib/libc/arch/mips/sys/cerror.S:1.13.46.5
--- src/lib/libc/arch/mips/sys/cerror.S:1.13.46.4	Sat Sep  5 03:04:58 2009
+++ src/lib/libc/arch/mips/sys/cerror.S	Tue Mar 16 16:07:24 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: cerror.S,v 1.13.46.4 2009/09/05 03:04:58 matt Exp $	*/
+/*	$NetBSD: cerror.S,v 1.13.46.5 2010/03/16 16:07:24 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -38,7 +38,7 @@
 #if 0
 	RCSID(from: @(#)cerror.s	8.1 (Berkeley) 6/16/93)
 #else
-	RCSID($NetBSD: cerror.S,v 1.13.46.4 2009/09/05 03:04:58 matt Exp $)
+	RCSID($NetBSD: cerror.S,v 1.13.46.5 2010/03/16 16:07:24 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -47,22 +47,23 @@
 NESTED_NOPROFILE(__cerror, CALLFRAME_SIZ, ra)
 	.mask	0x8000, (CALLFRAME_RA - CALLFRAME_SIZ)
 	PIC_PROLOGUE(__cerror)
-	PTR_SUBU	sp, sp, CALLFRAME_SIZ
+	PTR_SUBU	sp, CALLFRAME_SIZ
 	PTR_S		ra, CALLFRAME_RA(sp)
 	INT_S		v0, CALLFRAME_S0(sp)	# save errno value
 
 	SAVE_GP(CALLFRAME_GP)
 
 	PTR_LA		t9, _C_LABEL(__errno)	# locate address of errno
-	jalr		t9
+	RESTORE_GP64# restore GP (from t3)
+	jalr		t9			# __errno()
 
 	INT_L		t0, CALLFRAME_S0(sp)
 	PTR_L		ra, CALLFRAME_RA(sp)
 	INT_S		t0, 0(v0)		# update errno value
-	PTR_ADDU	sp, sp, CALLFRAME_SIZ
+	PTR_ADDU	sp, CALLFRAME_SIZ
 	li		v0, -1
 	li		v1, -1
-	PIC_RETURN()
+	j		ra			# GP has been restored.
 END(__cerror)
 #else		
 	.globl	_C_LABEL(errno)



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2010-02-03 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Feb  3 23:46:47 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: _setjmp.S setjmp.S

Log Message:
Fix setjmp/longjmp (longjmp(a,v) was not returning v)
Fix __setjmp14 to not mark fp as used when running softfloat.


To generate a diff of this commit:
cvs rdiff -u -r1.20.34.4 -r1.20.34.5 src/lib/libc/arch/mips/gen/_setjmp.S
cvs rdiff -u -r1.17.34.4 -r1.17.34.5 src/lib/libc/arch/mips/gen/setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/_setjmp.S
diff -u src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.4 src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.5
--- src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.4	Wed Jan 27 06:55:25 2010
+++ src/lib/libc/arch/mips/gen/_setjmp.S	Wed Feb  3 23:46:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: _setjmp.S,v 1.20.34.4 2010/01/27 06:55:25 matt Exp $	*/
+/*	$NetBSD: _setjmp.S,v 1.20.34.5 2010/02/03 23:46:47 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -46,7 +46,7 @@
 #if 0
 	RCSID(from: @(#)_setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: _setjmp.S,v 1.20.34.4 2010/01/27 06:55:25 matt Exp $)
+	RCSID($NetBSD: _setjmp.S,v 1.20.34.5 2010/02/03 23:46:47 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -68,7 +68,6 @@
 	REG_LI	v0, 0xACEDBADE			# sigcontext magic number
 	REG_S	ra, _OFFSETOF_SC_PC(a0)		# sc_pc = return address
 	REG_S	v0, _OFFSETOF_SC_REGS(a0)	#   saved in sc_regs[0]
-	REG_S	a1, _OFFSETOF_SC_REGS_V0(a0)	# save return value
 	REG_S	s0, _OFFSETOF_SC_REGS_S0(a0)
 	REG_S	s1, _OFFSETOF_SC_REGS_S1(a0)
 	REG_S	s2, _OFFSETOF_SC_REGS_S2(a0)
@@ -128,6 +127,7 @@
 	REG_LI		t0, 0xACEDBADE
 	bne		v0, t0, botch		# jump if error
 	PTR_ADDU	sp, sp, CALLFRAME_SIZ	# does not matter, sanity
+	REG_S		a1, _OFFSETOF_SC_REGS_V0(a0)	# save return value
 	REG_L		s0, _OFFSETOF_SC_REGS_S0(a0)
 	REG_L		s1, _OFFSETOF_SC_REGS_S1(a0)
 	REG_L		s2, _OFFSETOF_SC_REGS_S2(a0)
@@ -173,7 +173,7 @@
 #endif	/* SOFTFLOAT_FOR_GCC */
 
 	REG_EPILOGUE
-	REG_L	v0, _OFFSETOF_SC_REGS_V0(a0)
+	move	v0, a1			# get return value in 1st arg
 	j	ra
 	nop
 

Index: src/lib/libc/arch/mips/gen/setjmp.S
diff -u src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.4 src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.5
--- src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.4	Wed Jan 27 06:55:25 2010
+++ src/lib/libc/arch/mips/gen/setjmp.S	Wed Feb  3 23:46:47 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: setjmp.S,v 1.17.34.4 2010/01/27 06:55:25 matt Exp $	*/
+/*	$NetBSD: setjmp.S,v 1.17.34.5 2010/02/03 23:46:47 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: setjmp.S,v 1.17.34.4 2010/01/27 06:55:25 matt Exp $)
+	RCSID($NetBSD: setjmp.S,v 1.17.34.5 2010/02/03 23:46:47 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -111,8 +111,12 @@
 	REG_S	gp, _OFFSETOF_SC_REGS_GP(a0)
 	REG_S	sp, _OFFSETOF_SC_REGS_SP(a0)
 	REG_S	s8, _OFFSETOF_SC_REGS_S8(a0)
+#ifndef SOFTFLOAT_FOR_GCC
 	li	v0, 1# be nice if we could tell
 	INT_S	v0, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 1
+#else
+	INT_S	zero, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 0
+#endif
 #ifndef SOFTFLOAT_FOR_GCC
 	cfc1	v0, $31
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)



CVS commit: [matt-nb5-mips64] src/lib/libc

2010-02-03 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Feb  3 23:51:40 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: setjmp.S
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_setjmp.S

Log Message:
Cleanup #ifdefs.


To generate a diff of this commit:
cvs rdiff -u -r1.17.34.5 -r1.17.34.6 src/lib/libc/arch/mips/gen/setjmp.S
cvs rdiff -u -r1.1.34.3 -r1.1.34.4 \
src/lib/libc/compat/arch/mips/gen/compat_setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/setjmp.S
diff -u src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.5 src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.6
--- src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.5	Wed Feb  3 23:46:47 2010
+++ src/lib/libc/arch/mips/gen/setjmp.S	Wed Feb  3 23:51:40 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: setjmp.S,v 1.17.34.5 2010/02/03 23:46:47 matt Exp $	*/
+/*	$NetBSD: setjmp.S,v 1.17.34.6 2010/02/03 23:51:40 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: setjmp.S,v 1.17.34.5 2010/02/03 23:46:47 matt Exp $)
+	RCSID($NetBSD: setjmp.S,v 1.17.34.6 2010/02/03 23:51:40 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -111,13 +111,11 @@
 	REG_S	gp, _OFFSETOF_SC_REGS_GP(a0)
 	REG_S	sp, _OFFSETOF_SC_REGS_SP(a0)
 	REG_S	s8, _OFFSETOF_SC_REGS_S8(a0)
-#ifndef SOFTFLOAT_FOR_GCC
+#ifdef SOFTFLOAT_FOR_GCC
+	INT_S	zero, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 0
+#else
 	li	v0, 1# be nice if we could tell
 	INT_S	v0, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 1
-#else
-	INT_S	zero, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 0
-#endif
-#ifndef SOFTFLOAT_FOR_GCC
 	cfc1	v0, $31
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 #if defined(__mips_o32) || defined(__mips_o64) || defined(__mips_n32)

Index: src/lib/libc/compat/arch/mips/gen/compat_setjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.3 src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.4
--- src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.3	Wed Jan 27 06:55:25 2010
+++ src/lib/libc/compat/arch/mips/gen/compat_setjmp.S	Wed Feb  3 23:51:39 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_setjmp.S,v 1.1.34.3 2010/01/27 06:55:25 matt Exp $	*/
+/*	$NetBSD: compat_setjmp.S,v 1.1.34.4 2010/02/03 23:51:39 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: compat_setjmp.S,v 1.1.34.3 2010/01/27 06:55:25 matt Exp $)
+	RCSID($NetBSD: compat_setjmp.S,v 1.1.34.4 2010/02/03 23:51:39 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -111,9 +111,11 @@
 	REG_S	gp, _OFFSETOF_SC_REGS_GP(a0)
 	REG_S	sp, _OFFSETOF_SC_REGS_SP(a0)
 	REG_S	s8, _OFFSETOF_SC_REGS_S8(a0)
+#if defined(SOFTFLOAT_FOR_GCC)
+	INT_S	zero, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 0
+#else
 	li	v0, 1# be nice if we could tell
 	INT_S	v0, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 1
-#if !defined(SOFTFLOAT_FOR_GCC)
 	cfc1	v0, $31
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 #if defined(__mips_o32) || defined(__mips_o64) || defined(__mips_n32)



CVS commit: [matt-nb5-mips64] src/lib/libc

2010-01-26 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Wed Jan 27 06:55:25 UTC 2010

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: Makefile.inc _setjmp.S
flt_rounds.c setjmp.S
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_setjmp.S
src/lib/libc/gen [matt-nb5-mips64]: nlist_private.h
Added Files:
src/lib/libc/gen [matt-nb5-mips64]: fabs_ieee754.c

Log Message:
Don't use cfc1/ctc1 in softfloat.  Use the common fabs/modf/ldexp when
using softfloat.


To generate a diff of this commit:
cvs rdiff -u -r1.28.34.1 -r1.28.34.2 src/lib/libc/arch/mips/gen/Makefile.inc
cvs rdiff -u -r1.20.34.3 -r1.20.34.4 src/lib/libc/arch/mips/gen/_setjmp.S
cvs rdiff -u -r1.5 -r1.5.34.1 src/lib/libc/arch/mips/gen/flt_rounds.c
cvs rdiff -u -r1.17.34.3 -r1.17.34.4 src/lib/libc/arch/mips/gen/setjmp.S
cvs rdiff -u -r1.1.34.2 -r1.1.34.3 \
src/lib/libc/compat/arch/mips/gen/compat_setjmp.S
cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/gen/fabs_ieee754.c
cvs rdiff -u -r1.17 -r1.17.46.1 src/lib/libc/gen/nlist_private.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/Makefile.inc
diff -u src/lib/libc/arch/mips/gen/Makefile.inc:1.28.34.1 src/lib/libc/arch/mips/gen/Makefile.inc:1.28.34.2
--- src/lib/libc/arch/mips/gen/Makefile.inc:1.28.34.1	Sat Sep  5 18:46:38 2009
+++ src/lib/libc/arch/mips/gen/Makefile.inc	Wed Jan 27 06:55:25 2010
@@ -1,6 +1,10 @@
-#	$NetBSD: Makefile.inc,v 1.28.34.1 2009/09/05 18:46:38 matt Exp $
+#	$NetBSD: Makefile.inc,v 1.28.34.2 2010/01/27 06:55:25 matt Exp $
 
+.if ${MKSOFTFLOAT} == no
 SRCS+=	fabs.S ldexp.S modf.S
+.else
+SRCS+=	fabs_ieee754.c ldexp_ieee754.c modf_ieee754.c
+.endif
 
 # Common ieee754 constants and functions
 SRCS+=	infinityf_ieee754.c infinity_ieee754.c infinityl_dbl_ieee754.c
@@ -11,9 +15,12 @@
 SRCS+=	signbitf_ieee754.c signbitd_ieee754.c
 
 SRCS+=	nanf.c
+SRCS+=	flt_rounds.c
 
-SRCS+=	flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
+.if ${MKSOFTFLOAT} == no
+SRCS+=	fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
 	fpsetround.c fpsetsticky.c
+.endif
 
 SRCS+=	setjmp.S longjmp.c
 SRCS+=	_setjmp.S

Index: src/lib/libc/arch/mips/gen/_setjmp.S
diff -u src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.3 src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.4
--- src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.3	Sat Dec 12 19:08:57 2009
+++ src/lib/libc/arch/mips/gen/_setjmp.S	Wed Jan 27 06:55:25 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: _setjmp.S,v 1.20.34.3 2009/12/12 19:08:57 cliff Exp $	*/
+/*	$NetBSD: _setjmp.S,v 1.20.34.4 2010/01/27 06:55:25 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -46,7 +46,7 @@
 #if 0
 	RCSID(from: @(#)_setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: _setjmp.S,v 1.20.34.3 2009/12/12 19:08:57 cliff Exp $)
+	RCSID($NetBSD: _setjmp.S,v 1.20.34.4 2010/01/27 06:55:25 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -82,13 +82,14 @@
 #if defined(__mips_n32) || defined(__mips_n64)
 	REG_S	gp, _OFFSETOF_SC_REGS_GP(a0)	# newabi gp is callee-saved
 #endif
-	cfc1	v0, $31# too bad cant check if FP used
 	/*
 	 * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved.
 	 * In N64, FP registers F23 .. F31 are callee-saved.
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
 #ifndef SOFTFLOAT_FOR_GCC
+	cfc1	v0, $31# too bad cant check if FP used
+	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 #if defined(__mips_n64) || defined(__mips_n32)
 	FP_S	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
 	FP_S	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
@@ -110,7 +111,6 @@
 	FP_S	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
 #endif	/* SOFTFLOAT_FOR_GCC */
-	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 	REG_EPILOGUE
 
 	j	ra
@@ -140,16 +140,16 @@
 	REG_L		gp, _OFFSETOF_SC_REGS_GP(a0)
 #endif
 	# get fpu status
-	INT_L		v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 	REG_L		sp, _OFFSETOF_SC_REGS_SP(a0)
 	REG_L		s8, _OFFSETOF_SC_REGS_S8(a0)
+#ifndef SOFTFLOAT_FOR_GCC
+	INT_L		v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 	ctc1		v0, $31
 	/*
 	 * In N32, FP registers F20, F22, F24, F26, F28, F30 are callee-saved.
 	 * In N64, FP registers F23 .. F31 are callee-saved.
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
-#ifndef SOFTFLOAT_FOR_GCC
 #if defined(__mips_n64) || defined(__mips_n32)
 	FP_L	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
 	FP_L	$f28, _OFFSETOF_SC_FPREGS_F28(a0)

Index: src/lib/libc/arch/mips/gen/flt_rounds.c
diff -u src/lib/libc/arch/mips/gen/flt_rounds.c:1.5 src/lib/libc/arch/mips/gen/flt_rounds.c:1.5.34.1
--- src/lib/libc/arch/mips/gen/flt_rounds.c:1.5	Sat Dec 24 23:10:08 2005
+++ src/lib/libc/arch/mips/gen/flt_rounds.c	Wed Jan 27 06:55:25 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: flt_rounds.c,v 1.5 2005/12/24 23:10:08 perry Exp $	*/
+/*	$NetBSD: flt_rounds.c,v 1.5.34.1 2010/01/27 06:55:25 matt Exp $	*/
 
 /*
  * Written by J.T. Conklin, Apr 11, 1995
@@ -7,10 +7,11 @@
 
 #include sys/cdefs.h
 #if 

CVS commit: [matt-nb5-mips64] src/lib/libc/gmon

2009-12-21 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Dec 22 04:50:13 UTC 2009

Modified Files:
src/lib/libc/gmon [matt-nb5-mips64]: Makefile.inc

Log Message:
pullup from -current:
revision 1.9
date: 2009/12/17 06:54:51;  author: mrg;  state: Exp;  lines: +3 -2
don't warn about mcount on mips64* as well.

XXX: someone really should fix mips profile.h's MCOUNT!


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.8.12.1 src/lib/libc/gmon/Makefile.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/gmon/Makefile.inc
diff -u src/lib/libc/gmon/Makefile.inc:1.8 src/lib/libc/gmon/Makefile.inc:1.8.12.1
--- src/lib/libc/gmon/Makefile.inc:1.8	Tue Jul 29 14:20:12 2008
+++ src/lib/libc/gmon/Makefile.inc	Tue Dec 22 04:50:13 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.8 2008/07/29 14:20:12 lukem Exp $
+#	$NetBSD: Makefile.inc,v 1.8.12.1 2009/12/22 04:50:13 mrg Exp $
 #	@(#)Makefile.inc	8.1 (Berkeley) 6/4/93
 
 # gmon sources
@@ -10,7 +10,8 @@
 MAN+=	moncontrol.3
 MLINKS+=moncontrol.3 monstartup.3
 
-.if (${MACHINE_ARCH} == mipseb) || (${MACHINE_ARCH} == mipsel)
+.if (${MACHINE_ARCH} == mipseb) || (${MACHINE_ARCH} == mipsel) || \
+(${MACHINE_ARCH} == mips64eb) || (${MACHINE_ARCH} == mips64el)
 # Turn off as(1) warnings on MIPS, since warnings are fatal with WARNS0
 # and mcount.c causes warnings from as(1).
 # mcount.c should be fixed and this test removed.



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-12-12 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Sat Dec 12 19:08:57 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: _setjmp.S setjmp.S

Log Message:
#ifndef SOFTFLOAT_FOR_GCC around blocks of FP code.


To generate a diff of this commit:
cvs rdiff -u -r1.20.34.2 -r1.20.34.3 src/lib/libc/arch/mips/gen/_setjmp.S
cvs rdiff -u -r1.17.34.2 -r1.17.34.3 src/lib/libc/arch/mips/gen/setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/_setjmp.S
diff -u src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.2 src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.3
--- src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.2	Tue Aug 18 06:49:17 2009
+++ src/lib/libc/arch/mips/gen/_setjmp.S	Sat Dec 12 19:08:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: _setjmp.S,v 1.20.34.2 2009/08/18 06:49:17 matt Exp $	*/
+/*	$NetBSD: _setjmp.S,v 1.20.34.3 2009/12/12 19:08:57 cliff Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -46,7 +46,7 @@
 #if 0
 	RCSID(from: @(#)_setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: _setjmp.S,v 1.20.34.2 2009/08/18 06:49:17 matt Exp $)
+	RCSID($NetBSD: _setjmp.S,v 1.20.34.3 2009/12/12 19:08:57 cliff Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -88,6 +88,7 @@
 	 * In N64, FP registers F23 .. F31 are callee-saved.
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
+#ifndef SOFTFLOAT_FOR_GCC
 #if defined(__mips_n64) || defined(__mips_n32)
 	FP_S	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
 	FP_S	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
@@ -108,6 +109,7 @@
 	FP_S	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
 	FP_S	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
+#endif	/* SOFTFLOAT_FOR_GCC */
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 	REG_EPILOGUE
 
@@ -147,6 +149,7 @@
 	 * In N64, FP registers F23 .. F31 are callee-saved.
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
+#ifndef SOFTFLOAT_FOR_GCC
 #if defined(__mips_n64) || defined(__mips_n32)
 	FP_L	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
 	FP_L	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
@@ -167,6 +170,7 @@
 	FP_L	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
 	FP_L	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
+#endif	/* SOFTFLOAT_FOR_GCC */
 
 	REG_EPILOGUE
 	REG_L	v0, _OFFSETOF_SC_REGS_V0(a0)

Index: src/lib/libc/arch/mips/gen/setjmp.S
diff -u src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.2 src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.3
--- src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.2	Tue Aug 18 06:52:09 2009
+++ src/lib/libc/arch/mips/gen/setjmp.S	Sat Dec 12 19:08:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: setjmp.S,v 1.17.34.2 2009/08/18 06:52:09 matt Exp $	*/
+/*	$NetBSD: setjmp.S,v 1.17.34.3 2009/12/12 19:08:57 cliff Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: setjmp.S,v 1.17.34.2 2009/08/18 06:52:09 matt Exp $)
+	RCSID($NetBSD: setjmp.S,v 1.17.34.3 2009/12/12 19:08:57 cliff Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -115,6 +115,7 @@
 	INT_S	v0, _OFFSETOF_SC_FPUSED(a0)	# sc_fpused = 1
 	cfc1	v0, $31
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
+#ifndef SOFTFLOAT_FOR_GCC
 #if defined(__mips_o32) || defined(__mips_o64) || defined(__mips_n32)
 	FP_S	$f20, _OFFSETOF_SC_FPREGS_F20(a0)
 	FP_S	$f22, _OFFSETOF_SC_FPREGS_F22(a0)
@@ -135,6 +136,7 @@
 	FP_S	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
 	FP_S	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
+#endif	/* SOFTFLOAT_FOR_GCC */
 	REG_EPILOGUE
 	j	ra
 	move	v0, zero



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips

2009-09-04 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Sep  5 03:04:58 UTC 2009

Modified Files:
src/lib/libc/arch/mips [matt-nb5-mips64]: SYS.h
src/lib/libc/arch/mips/sys [matt-nb5-mips64]: brk.S cerror.S sbrk.S

Log Message:
LP64 cleanup -- s/la/PTR_LA/


To generate a diff of this commit:
cvs rdiff -u -r1.18.46.2 -r1.18.46.3 src/lib/libc/arch/mips/SYS.h
cvs rdiff -u -r1.16.46.2 -r1.16.46.3 src/lib/libc/arch/mips/sys/brk.S
cvs rdiff -u -r1.13.46.3 -r1.13.46.4 src/lib/libc/arch/mips/sys/cerror.S
cvs rdiff -u -r1.16.34.2 -r1.16.34.3 src/lib/libc/arch/mips/sys/sbrk.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/SYS.h
diff -u src/lib/libc/arch/mips/SYS.h:1.18.46.2 src/lib/libc/arch/mips/SYS.h:1.18.46.3
--- src/lib/libc/arch/mips/SYS.h:1.18.46.2	Tue Aug 18 06:44:26 2009
+++ src/lib/libc/arch/mips/SYS.h	Sat Sep  5 03:04:58 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: SYS.h,v 1.18.46.2 2009/08/18 06:44:26 matt Exp $ */
+/*	$NetBSD: SYS.h,v 1.18.46.3 2009/09/05 03:04:58 matt Exp $ */
 
 /*-
  * Copyright (c) 1996 Jonathan Stone
@@ -80,11 +80,11 @@
 	.abicalls
 # if defined(__mips_o32) || defined(__mips_o64)
 #  define PIC_PROLOGUE(x)	SETUP_GP
-#  define PIC_TAILCALL(l)	la t9, _C_LABEL(l); jr t9
+#  define PIC_TAILCALL(l)	PTR_LA t9, _C_LABEL(l); jr t9
 #  define PIC_RETURN()		j ra
 # else
 #  define PIC_PROLOGUE(x)	SETUP_GP64(t3, x)
-#  define PIC_TAILCALL(l)	la t9, _C_LABEL(l); RESTORE_GP64; jr t9
+#  define PIC_TAILCALL(l)	PTR_LA t9, _C_LABEL(l); RESTORE_GP64; jr t9
 #  define PIC_RETURN()		RESTORE_GP64; j ra
 # endif
 #else

Index: src/lib/libc/arch/mips/sys/brk.S
diff -u src/lib/libc/arch/mips/sys/brk.S:1.16.46.2 src/lib/libc/arch/mips/sys/brk.S:1.16.46.3
--- src/lib/libc/arch/mips/sys/brk.S:1.16.46.2	Tue Aug 18 06:56:52 2009
+++ src/lib/libc/arch/mips/sys/brk.S	Sat Sep  5 03:04:58 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: brk.S,v 1.16.46.2 2009/08/18 06:56:52 matt Exp $	*/
+/*	$NetBSD: brk.S,v 1.16.46.3 2009/09/05 03:04:58 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -38,7 +38,7 @@
 #if 0
 	RCSID(from: @(#)brk.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: brk.S,v 1.16.46.2 2009/08/18 06:56:52 matt Exp $)
+	RCSID($NetBSD: brk.S,v 1.16.46.3 2009/09/05 03:04:58 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -57,7 +57,7 @@
 
 LEAF(_brk)
 	PIC_PROLOGUE(_brk)
-	la		t0, _C_LABEL(__minbrk)
+	PTR_LA		t0, _C_LABEL(__minbrk)
 	PTR_L		v0, 0(t0)
 	bgeu		a0, v0, 1f
 	move		a0, v0		# dont allow break  minbrk

Index: src/lib/libc/arch/mips/sys/cerror.S
diff -u src/lib/libc/arch/mips/sys/cerror.S:1.13.46.3 src/lib/libc/arch/mips/sys/cerror.S:1.13.46.4
--- src/lib/libc/arch/mips/sys/cerror.S:1.13.46.3	Mon Aug 24 05:25:25 2009
+++ src/lib/libc/arch/mips/sys/cerror.S	Sat Sep  5 03:04:58 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: cerror.S,v 1.13.46.3 2009/08/24 05:25:25 matt Exp $	*/
+/*	$NetBSD: cerror.S,v 1.13.46.4 2009/09/05 03:04:58 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -38,7 +38,7 @@
 #if 0
 	RCSID(from: @(#)cerror.s	8.1 (Berkeley) 6/16/93)
 #else
-	RCSID($NetBSD: cerror.S,v 1.13.46.3 2009/08/24 05:25:25 matt Exp $)
+	RCSID($NetBSD: cerror.S,v 1.13.46.4 2009/09/05 03:04:58 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -53,7 +53,7 @@
 
 	SAVE_GP(CALLFRAME_GP)
 
-	la		t9, _C_LABEL(__errno)	# locate address of errno
+	PTR_LA		t9, _C_LABEL(__errno)	# locate address of errno
 	jalr		t9
 
 	INT_L		t0, CALLFRAME_S0(sp)

Index: src/lib/libc/arch/mips/sys/sbrk.S
diff -u src/lib/libc/arch/mips/sys/sbrk.S:1.16.34.2 src/lib/libc/arch/mips/sys/sbrk.S:1.16.34.3
--- src/lib/libc/arch/mips/sys/sbrk.S:1.16.34.2	Tue Aug 18 06:56:52 2009
+++ src/lib/libc/arch/mips/sys/sbrk.S	Sat Sep  5 03:04:58 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbrk.S,v 1.16.34.2 2009/08/18 06:56:52 matt Exp $	*/
+/*	$NetBSD: sbrk.S,v 1.16.34.3 2009/09/05 03:04:58 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -38,7 +38,7 @@
 #if 0
 	RCSID(from: @(#)sbrk.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: sbrk.S,v 1.16.34.2 2009/08/18 06:56:52 matt Exp $)
+	RCSID($NetBSD: sbrk.S,v 1.16.34.3 2009/09/05 03:04:58 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -56,7 +56,7 @@
 
 LEAF(_sbrk)
 	PIC_PROLOGUE(_sbrk)
-	la		t0, _C_LABEL(__curbrk)
+	PTR_LA		t0, _C_LABEL(__curbrk)
 	PTR_L		v1, 0(t0)
 	PTR_ADDU	a0, a0, v1	# compute current break
 	SYSTRAP(break)



CVS commit: [matt-nb5-mips64] src/lib/libc/gen

2009-09-04 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Sep  5 03:11:43 UTC 2009

Modified Files:
src/lib/libc/gen [matt-nb5-mips64]: getpagesize.c

Log Message:
Add a DIAGASSERT for the returned pagesize being non-zero.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.9.46.1 src/lib/libc/gen/getpagesize.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/gen/getpagesize.c
diff -u src/lib/libc/gen/getpagesize.c:1.9 src/lib/libc/gen/getpagesize.c:1.9.46.1
--- src/lib/libc/gen/getpagesize.c:1.9	Thu Aug  7 16:42:50 2003
+++ src/lib/libc/gen/getpagesize.c	Sat Sep  5 03:11:43 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: getpagesize.c,v 1.9 2003/08/07 16:42:50 agc Exp $	*/
+/*	$NetBSD: getpagesize.c,v 1.9.46.1 2009/09/05 03:11:43 matt Exp $	*/
 
 /*
  * Copyright (c) 1989, 1993
@@ -34,13 +34,14 @@
 #if 0
 static char sccsid[] = @(#)getpagesize.c	8.1 (Berkeley) 6/4/93;
 #else
-__RCSID($NetBSD: getpagesize.c,v 1.9 2003/08/07 16:42:50 agc Exp $);
+__RCSID($NetBSD: getpagesize.c,v 1.9.46.1 2009/09/05 03:11:43 matt Exp $);
 #endif
 #endif /* LIBC_SCCS and not lint */
 
 #include namespace.h
 #include sys/param.h
 #include sys/sysctl.h
+#include assert.h
 #include unistd.h
 
 #ifdef __weak_alias
@@ -61,6 +62,7 @@
 		size = sizeof pagsz;
 		if (sysctl(mib, 2, pagsz, size, NULL, 0) == -1)
 			return (-1);
+		_DIAGASSERT(pagsz);
 	}
 	return (pagsz);
 }



CVS commit: [matt-nb5-mips64] src/lib/libc/compat/arch/mips/gen

2009-09-04 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sat Sep  5 03:12:29 UTC 2009

Modified Files:
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_sigsetjmp.S

Log Message:
More LP64 cleanup --  s/la/PTR_LA


To generate a diff of this commit:
cvs rdiff -u -r1.1.34.1 -r1.1.34.2 \
src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1.34.1 src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1.34.2
--- src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1.34.1	Tue Aug 18 06:58:54 2009
+++ src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S	Sat Sep  5 03:12:29 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_sigsetjmp.S,v 1.1.34.1 2009/08/18 06:58:54 matt Exp $	*/
+/*	$NetBSD: compat_sigsetjmp.S,v 1.1.34.2 2009/09/05 03:12:29 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1995,
@@ -42,7 +42,7 @@
 #if 0
 	ASMSTR(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	ASMSTR($NetBSD: compat_sigsetjmp.S,v 1.1.34.1 2009/08/18 06:58:54 matt Exp $)
+	ASMSTR($NetBSD: compat_sigsetjmp.S,v 1.1.34.2 2009/09/05 03:12:29 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -63,10 +63,10 @@
 	SETUP_GP64(t0, sigsetjmp)
 	INT_S	a1, _OFFSETOF_SC_MASK13(a0)	# save savemask
 	bne	a1, 0x0, 1f			# do saving of signal mask?
-	la	t9, _C_LABEL(_setjmp)
+	PTR_LA	t9, _C_LABEL(_setjmp)
 	jr	t9
 
-1:	la	t9, _C_LABEL(setjmp)
+1:	PTR_LA	t9, _C_LABEL(setjmp)
 	jr	t9
 END(sigsetjmp)
 
@@ -75,9 +75,9 @@
 	SETUP_GP64(t0, siglongjmp)
 	INT_L	t1, _OFFSETOF_SC_MASK13(a0)	# get savemask
 	bne	t1, 0x0, 1f			# restore signal mask?
-	la	t9, _C_LABEL(_longjmp)
+	PTR_LA	t9, _C_LABEL(_longjmp)
 	jr	t9
 
-1:	la	t9, _C_LABEL(longjmp)
+1:	PTR_LA	t9, _C_LABEL(longjmp)
 	jr	t9
 END(siglongjmp)



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips

2009-09-03 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Sep  3 06:57:11 UTC 2009

Modified Files:
src/lib/libc/arch/mips [matt-nb5-mips64]: genassym.cf

Log Message:
Make sure STACK_T_SIZE is dual-register_t aligned.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/lib/libc/arch/mips/genassym.cf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/genassym.cf
diff -u src/lib/libc/arch/mips/genassym.cf:1.1.2.2 src/lib/libc/arch/mips/genassym.cf:1.1.2.3
--- src/lib/libc/arch/mips/genassym.cf:1.1.2.2	Tue Aug 18 06:57:52 2009
+++ src/lib/libc/arch/mips/genassym.cf	Thu Sep  3 06:57:11 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.1.2.2 2009/08/18 06:57:52 matt Exp $
+#	$NetBSD: genassym.cf,v 1.1.2.3 2009/09/03 06:57:11 matt Exp $
 
 #
 # Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
 
 define SIGINFO_SIZE		sizeof(siginfo_t)
 
-define STACK_T_SIZE		sizeof(stack_t)
+define STACK_T_SIZE		((sizeof(stack_t) + 2 * sizeof(register_t) - 1)  -(2 * sizeof(register_t)))
 define _OFFSETOF_STACK_T_SP	offsetof(stack_t, ss_sp)
 define _OFFSETOF_STACK_T_SIZE	offsetof(stack_t, ss_size)
 define _OFFSETOF_STACK_T_FLAGS	offsetof(stack_t, ss_flags)



CVS commit: [matt-nb5-mips64] src/lib/libc/softfloat

2009-09-03 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Thu Sep  3 07:43:38 UTC 2009

Modified Files:
src/lib/libc/softfloat [matt-nb5-mips64]: softfloat-for-gcc.h

Log Message:
Add missing function aliases that could be generated by GCC for 64-bit
softfloat binaries.

Reviewed by:matt


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.7.40.1 src/lib/libc/softfloat/softfloat-for-gcc.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/softfloat/softfloat-for-gcc.h
diff -u src/lib/libc/softfloat/softfloat-for-gcc.h:1.7 src/lib/libc/softfloat/softfloat-for-gcc.h:1.7.40.1
--- src/lib/libc/softfloat/softfloat-for-gcc.h:1.7	Sun Sep 26 21:13:27 2004
+++ src/lib/libc/softfloat/softfloat-for-gcc.h	Thu Sep  3 07:43:38 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: softfloat-for-gcc.h,v 1.7 2004/09/26 21:13:27 jmmv Exp $ */
+/* $NetBSD: softfloat-for-gcc.h,v 1.7.40.1 2009/09/03 07:43:38 uebayasi Exp $ */
 
 /*
  * Move private identifiers with external linkage into implementation
@@ -8,6 +8,7 @@
 #define float_exception_mask	_softfloat_float_exception_mask
 #define float_rounding_mode	_softfloat_float_rounding_mode
 #define float_raise		_softfloat_float_raise
+
 /* The following batch are called by GCC through wrappers */
 #define float32_eq		_softfloat_float32_eq
 #define float32_le		_softfloat_float32_le
@@ -15,6 +16,9 @@
 #define float64_eq		_softfloat_float64_eq
 #define float64_le		_softfloat_float64_le
 #define float64_lt		_softfloat_float64_lt
+#define float128_eq		_softfloat_float128_eq
+#define float128_le		_softfloat_float128_le
+#define float128_lt		_softfloat_float128_lt
 
 /*
  * Macros to define functions with the GCC expected names
@@ -23,36 +27,143 @@
 #define float32_add			__addsf3
 #define float64_add			__adddf3
 #define floatx80_add			__addxf3
+#define float128_add			__addtf3
+
 #define float32_sub			__subsf3
 #define float64_sub			__subdf3
 #define floatx80_sub			__subxf3
+#define float128_sub			__subtf3
+
 #define float32_mul			__mulsf3
 #define float64_mul			__muldf3
 #define floatx80_mul			__mulxf3
+#define float128_mul			__multf3
+
 #define float32_div			__divsf3
 #define float64_div			__divdf3
 #define floatx80_div			__divxf3
+#define float128_div			__divtf3
+
+#if 0
+#define float32_neg			__negsf2
+#define float64_neg			__negdf2
+#define floatx80_neg			__negxf2
+#define float128_neg			__negtf2
+#endif
+
 #define int32_to_float32		__floatsisf
 #define int32_to_float64		__floatsidf
 #define int32_to_floatx80		__floatsixf
+#define int32_to_float128		__floatsitf
+
 #define int64_to_float32		__floatdisf
 #define int64_to_float64		__floatdidf
 #define int64_to_floatx80		__floatdixf
+#define int64_to_float128		__floatditf
+
+#define int128_to_float32		__floattisf
+#define int128_to_float64		__floattidf
+#define int128_to_floatx80		__floattixf
+#define int128_to_float128		__floattitf
+
+#define uint32_to_float32		__floatunsisf
+#define uint32_to_float64		__floatunsidf
+#define uint32_to_floatx80		__floatunsixf
+#define uint32_to_float128		__floatunsitf
+
+#define uint64_to_float32		__floatundisf
+#define uint64_to_float64		__floatundidf
+#define uint64_to_floatx80		__floatundixf
+#define uint64_to_float128		__floatunditf
+
+#define uint128_to_float32		__floatuntisf
+#define uint128_to_float64		__floatuntidf
+#define uint128_to_floatx80		__floatuntixf
+#define uint128_to_float128		__floatuntitf
+
 #define float32_to_int32_round_to_zero	__fixsfsi
 #define float64_to_int32_round_to_zero	__fixdfsi
 #define floatx80_to_int32_round_to_zero __fixxfsi
+#define float128_to_int32_round_to_zero __fixtfsi
+
 #define float32_to_int64_round_to_zero	__fixsfdi
 #define float64_to_int64_round_to_zero	__fixdfdi
-#define floatx80_to_int64_round_to_zero __fixxfdi
+#define floatx80_to_int64_round_to_zero	__fixxfdi
+#define float128_to_int64_round_to_zero	__fixtfdi
+
+#define float32_to_int128_round_to_zero __fixsfti
+#define float64_to_int128_round_to_zero __fixdfti
+#define floatx80_to_int128_round_to_zero __fixxfti
+#define float128_to_int128_round_to_zero __fixtfti
+
 #define float32_to_uint32_round_to_zero	__fixunssfsi
 #define float64_to_uint32_round_to_zero	__fixunsdfsi
+#define floatx80_to_uint32_round_to_zero	__fixunsxfsi
+#define float128_to_uint32_round_to_zero	__fixunstfsi
+
+#define float32_to_uint64_round_to_zero	__fixunssfdi
+#define float64_to_uint64_round_to_zero	__fixunsdfdi
+#define floatx80_to_uint64_round_to_zero	__fixunsxfdi
+#define float128_to_uint64_round_to_zero	__fixunstfdi
+
+#define float32_to_uint128_round_to_zero	__fixunssfti
+#define float64_to_uint128_round_to_zero	__fixunsdfti
+#define floatx80_to_uint128_round_to_zero	__fixunsxfti
+#define float128_to_uint128_round_to_zero	__fixunstfti
+
 #define float32_to_float64		__extendsfdf2
-#define float64_to_floatx80		__extenddfxf2
 #define float32_to_floatx80		__extendsfxf2
-#define float64_to_float32		__truncdfsf2
+#define 

CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips

2009-08-27 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Aug 27 16:51:27 UTC 2009

Modified Files:
src/lib/libc/arch/mips [matt-nb5-mips64]: Makefile.inc
Added Files:
src/lib/libc/arch/mips/softfloat [matt-nb5-mips64]: milieu.h mips-gcc.h
softfloat.h

Log Message:
Add MKSOFTFLOAT support for mips and mips64.  Some more work is needed to
complete support FLOAT128.


To generate a diff of this commit:
cvs rdiff -u -r1.8.34.1 -r1.8.34.2 src/lib/libc/arch/mips/Makefile.inc
cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/arch/mips/softfloat/milieu.h \
src/lib/libc/arch/mips/softfloat/mips-gcc.h \
src/lib/libc/arch/mips/softfloat/softfloat.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/Makefile.inc
diff -u src/lib/libc/arch/mips/Makefile.inc:1.8.34.1 src/lib/libc/arch/mips/Makefile.inc:1.8.34.2
--- src/lib/libc/arch/mips/Makefile.inc:1.8.34.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/Makefile.inc	Thu Aug 27 16:51:27 2009
@@ -1,6 +1,11 @@
-#	$NetBSD: Makefile.inc,v 1.8.34.1 2009/08/16 03:36:02 matt Exp $
+#	$NetBSD: Makefile.inc,v 1.8.34.2 2009/08/27 16:51:27 matt Exp $
 
 SRCS+=	__sigaction14_sigtramp.c __sigtramp2.S
 
 CPPFLAGS+= -I.
 CPPFLAGS.assym.h+=-D__LIBC12_SOURCE__
+
+.if ${MKSOFTFLOAT} != no
+.include softfloat/Makefile.inc
+CPPFLAGS+= -DSOFTFLOAT_NEED_FIXUNS
+.endif

Added files:

Index: src/lib/libc/arch/mips/softfloat/milieu.h
diff -u /dev/null src/lib/libc/arch/mips/softfloat/milieu.h:1.1.2.1
--- /dev/null	Thu Aug 27 16:51:27 2009
+++ src/lib/libc/arch/mips/softfloat/milieu.h	Thu Aug 27 16:51:27 2009
@@ -0,0 +1,48 @@
+/* $NetBSD: milieu.h,v 1.1.2.1 2009/08/27 16:51:27 matt Exp $ */
+
+/*
+===
+
+This C header file is part of the SoftFloat IEC/IEEE Floating-point
+Arithmetic Package, Release 2a.
+
+Written by John R. Hauser.  This work was made possible in part by the
+International Computer Science Institute, located at Suite 600, 1947 Center
+Street, Berkeley, California 94704.  Funding was partially provided by the
+National Science Foundation under grant MIP-9311980.  The original version
+of this code was written as part of a project to build a fixed-point vector
+processor in collaboration with the University of California at Berkeley,
+overseen by Profs. Nelson Morgan and John Wawrzynek.  More information
+is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
+arithmetic/SoftFloat.html'.
+
+THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable effort
+has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
+TIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO
+PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
+AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
+
+Derivative works are acceptable, even for commercial purposes, so long as
+(1) they include prominent notice that the work is derivative, and (2) they
+include prominent notice akin to these four paragraphs for those parts of
+this code that are retained.
+
+===
+*/
+
+/*
+---
+Include common integer types and flags.
+---
+*/
+#include mips-gcc.h
+
+/*
+---
+Symbolic Boolean literals.
+---
+*/
+enum {
+FALSE = 0,
+TRUE  = 1
+};
Index: src/lib/libc/arch/mips/softfloat/mips-gcc.h
diff -u /dev/null src/lib/libc/arch/mips/softfloat/mips-gcc.h:1.1.2.1
--- /dev/null	Thu Aug 27 16:51:27 2009
+++ src/lib/libc/arch/mips/softfloat/mips-gcc.h	Thu Aug 27 16:51:27 2009
@@ -0,0 +1,95 @@
+/* $NetBSD: mips-gcc.h,v 1.1.2.1 2009/08/27 16:51:27 matt Exp $ */
+
+/*
+---
+One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
+---
+*/
+#ifdef __MIPSEB__
+#define BIGENDIAN
+#else
+#define LITTLEENDIAN
+#endif
+
+/*
+---
+The macro `BITS64' can be defined to indicate that 64-bit integer types are
+supported by the compiler.
+---
+*/
+#define BITS64
+
+/*
+---
+Each of the following `typedef's defines the most convenient type that holds
+integers of at least as many bits as specified.  For example, `uint8' should
+be the most convenient type that can hold 

CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-08-23 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug 23 23:17:55 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: sigsetjmp.S

Log Message:
savemask goes into the slot at _JBLEN


To generate a diff of this commit:
cvs rdiff -u -r1.8.34.2 -r1.8.34.3 src/lib/libc/arch/mips/gen/sigsetjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/sigsetjmp.S
diff -u src/lib/libc/arch/mips/gen/sigsetjmp.S:1.8.34.2 src/lib/libc/arch/mips/gen/sigsetjmp.S:1.8.34.3
--- src/lib/libc/arch/mips/gen/sigsetjmp.S:1.8.34.2	Tue Aug 18 06:52:09 2009
+++ src/lib/libc/arch/mips/gen/sigsetjmp.S	Sun Aug 23 23:17:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sigsetjmp.S,v 1.8.34.2 2009/08/18 06:52:09 matt Exp $	*/
+/*	$NetBSD: sigsetjmp.S,v 1.8.34.3 2009/08/23 23:17:55 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1995,
@@ -44,7 +44,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: sigsetjmp.S,v 1.8.34.2 2009/08/18 06:52:09 matt Exp $)
+	RCSID($NetBSD: sigsetjmp.S,v 1.8.34.3 2009/08/23 23:17:55 matt Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -62,7 +62,7 @@
 
 LEAF(__sigsetjmp14)
 	PIC_PROLOGUE(__sigsetjmp14)
-	INT_S	a1, _OFFSETOF_SC_MASK(a0)	# save savemask
+	REG_S	a1, _JBLEN*SZREG(a0)		# save savemask
 	bne	a1, 0x0, 1f			# do saving of signal mask?
 	PIC_TAILCALL(_setjmp)
 
@@ -71,7 +71,7 @@
 
 LEAF(__siglongjmp14)
 	PIC_PROLOGUE(__siglongjmp14)
-	INT_L	t0, _OFFSETOF_SC_MASK(a0)	# get savemask
+	REG_L	t0, _JBLEN*SZREG(a0)		# get savemask
 	bne	t0, 0x0, 1f			# restore signal mask?
 	PIC_TAILCALL(_longjmp)
 



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:44:26 UTC 2009

Modified Files:
src/lib/libc/arch/mips [matt-nb5-mips64]: SYS.h

Log Message:
Remove PIC_xCALL - unused
Fix NewABI PIC_* macros (now that a NewABI toolchain mostly works).


To generate a diff of this commit:
cvs rdiff -u -r1.18.46.1 -r1.18.46.2 src/lib/libc/arch/mips/SYS.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/SYS.h
diff -u src/lib/libc/arch/mips/SYS.h:1.18.46.1 src/lib/libc/arch/mips/SYS.h:1.18.46.2
--- src/lib/libc/arch/mips/SYS.h:1.18.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/SYS.h	Tue Aug 18 06:44:26 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: SYS.h,v 1.18.46.1 2009/08/16 03:36:02 matt Exp $ */
+/*	$NetBSD: SYS.h,v 1.18.46.2 2009/08/18 06:44:26 matt Exp $ */
 
 /*-
  * Copyright (c) 1996 Jonathan Stone
@@ -80,18 +80,15 @@
 	.abicalls
 # if defined(__mips_o32) || defined(__mips_o64)
 #  define PIC_PROLOGUE(x)	SETUP_GP
-#  define PIC_xCALL(l,sr)	la sr, _C_LABEL(l); jr sr
 #  define PIC_TAILCALL(l)	la t9, _C_LABEL(l); jr t9
 #  define PIC_RETURN()		j ra
 # else
 #  define PIC_PROLOGUE(x)	SETUP_GP64(t3, x)
-#  define PIC_xCALL(l,sr)	la sr, _C_LABEL(l); jr sr
-#  define PIC_TAILCALL(l)	la t9, _C_LABEL(l); RESTORE_GP64(t3); jr t9
-#  define PIC_RETURN()		RESTORE_GP64(t3); j ra
+#  define PIC_TAILCALL(l)	la t9, _C_LABEL(l); RESTORE_GP64; jr t9
+#  define PIC_RETURN()		RESTORE_GP64; j ra
 # endif
 #else
 # define PIC_PROLOGUE(x)
-# define PIC_xCALL(l,sr)	j  _C_LABEL(l)
 # define PIC_TAILCALL(l)	j  _C_LABEL(l)
 # define PIC_RETURN()
 #endif /* __ABICALLS__ */



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:46:00 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: makecontext.c

Log Message:
Dont case pointers to __greg_t, use intptr_t (pointers on mips are signed)


To generate a diff of this commit:
cvs rdiff -u -r1.4.14.1 -r1.4.14.2 src/lib/libc/arch/mips/gen/makecontext.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/makecontext.c
diff -u src/lib/libc/arch/mips/gen/makecontext.c:1.4.14.1 src/lib/libc/arch/mips/gen/makecontext.c:1.4.14.2
--- src/lib/libc/arch/mips/gen/makecontext.c:1.4.14.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/makecontext.c	Tue Aug 18 06:45:59 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: makecontext.c,v 1.4.14.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: makecontext.c,v 1.4.14.2 2009/08/18 06:45:59 matt Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include sys/cdefs.h
 #if defined(LIBC_SCCS)  !defined(lint)
-__RCSID($NetBSD: makecontext.c,v 1.4.14.1 2009/08/16 03:36:02 matt Exp $);
+__RCSID($NetBSD: makecontext.c,v 1.4.14.2 2009/08/18 06:45:59 matt Exp $);
 #endif
 
 #include inttypes.h
@@ -65,10 +65,10 @@
 	  ((uintptr_t)sp  ~0xf);	/* Align on quad-word boundary. */
 #endif
 
-	gr[_REG_SP]  = (__greg_t)sp;
-	gr[_REG_RA]  = (__greg_t)__resumecontext;
-	gr[_REG_T9]  = (__greg_t)func;	/* required for .abicalls */
-	gr[_REG_EPC] = (__greg_t)func;
+	gr[_REG_SP]  = (intptr_t)sp;
+	gr[_REG_RA]  = (intptr_t)__resumecontext;
+	gr[_REG_T9]  = (intptr_t)func;		/* required for .abicalls */
+	gr[_REG_EPC] = (intptr_t)func;
 
 	/* Construct argument list. */
 	va_start(ap, argc);



CVS commit: [matt-nb5-mips64] src/lib/libc

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:49:18 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: _setjmp.S
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_setjmp.S

Log Message:
Make arch/gen/_setjmp.S and compat/arch/gen/compat_setjmp.S as identical
as possible.
Use RCSID.  Use FP_L/FP_S


To generate a diff of this commit:
cvs rdiff -u -r1.20.34.1 -r1.20.34.2 src/lib/libc/arch/mips/gen/_setjmp.S
cvs rdiff -u -r1.1 -r1.1.34.1 \
src/lib/libc/compat/arch/mips/gen/compat_setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/_setjmp.S
diff -u src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.1 src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.2
--- src/lib/libc/arch/mips/gen/_setjmp.S:1.20.34.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/_setjmp.S	Tue Aug 18 06:49:17 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: _setjmp.S,v 1.20.34.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: _setjmp.S,v 1.20.34.2 2009/08/18 06:49:17 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -43,8 +43,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	RCSID(from: @(#)_setjmp.s	8.1 (Berkeley) 6/4/93)
-	RCSID($NetBSD: _setjmp.S,v 1.20.34.1 2009/08/16 03:36:02 matt Exp $)
+#else
+	RCSID($NetBSD: _setjmp.S,v 1.20.34.2 2009/08/18 06:49:17 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 /*
@@ -86,24 +89,24 @@
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
 #if defined(__mips_n64) || defined(__mips_n32)
-	FPST	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
-	FPST	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
-	FPST	$f26, _OFFSETOF_SC_FPREGS_F26(a0)
-	FPST	$f24, _OFFSETOF_SC_FPREGS_F24(a0)
+	FP_S	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
+	FP_S	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
+	FP_S	$f26, _OFFSETOF_SC_FPREGS_F26(a0)
+	FP_S	$f24, _OFFSETOF_SC_FPREGS_F24(a0)
 #endif
 #if defined(__mips_n32) || defined(__mips_o32) || defined(__mips_o64)
-	FPST	$f22, _OFFSETOF_SC_FPREGS_F22(a0)
-	FPST	$f20, _OFFSETOF_SC_FPREGS_F20(a0)
+	FP_S	$f22, _OFFSETOF_SC_FPREGS_F22(a0)
+	FP_S	$f20, _OFFSETOF_SC_FPREGS_F20(a0)
 #endif
 #if defined(__mips_o32) || defined(__mips_o64)
-	FPST	$f21, _OFFSETOF_SC_FPREGS_F21(a0)
-	FPST	$f23, _OFFSETOF_SC_FPREGS_F23(a0)
+	FP_S	$f21, _OFFSETOF_SC_FPREGS_F21(a0)
+	FP_S	$f23, _OFFSETOF_SC_FPREGS_F23(a0)
 #endif
 #if defined(__mips_n64)
-	FPST	$f25, _OFFSETOF_SC_FPREGS_F25(a0)
-	FPST	$f27, _OFFSETOF_SC_FPREGS_F27(a0)
-	FPST	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
-	FPST	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
+	FP_S	$f25, _OFFSETOF_SC_FPREGS_F25(a0)
+	FP_S	$f27, _OFFSETOF_SC_FPREGS_F27(a0)
+	FP_S	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
+	FP_S	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
 	INT_S	v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
 	REG_EPILOGUE
@@ -145,29 +148,30 @@
 	 * In O32, FP registers F20 .. F23 are callee-saved.
 	 */
 #if defined(__mips_n64) || defined(__mips_n32)
-	FPLD	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
-	FPLD	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
-	FPLD	$f26, _OFFSETOF_SC_FPREGS_F26(a0)
-	FPLD	$f24, _OFFSETOF_SC_FPREGS_F24(a0)
+	FP_L	$f30, _OFFSETOF_SC_FPREGS_F30(a0)
+	FP_L	$f28, _OFFSETOF_SC_FPREGS_F28(a0)
+	FP_L	$f26, _OFFSETOF_SC_FPREGS_F26(a0)
+	FP_L	$f24, _OFFSETOF_SC_FPREGS_F24(a0)
 #endif
 #if defined(__mips_n32) || defined(__mips_o32) || defined(__mips_o64)
-	FPLD	$f22, _OFFSETOF_SC_FPREGS_F22(a0)
-	FPLD	$f20, _OFFSETOF_SC_FPREGS_F20(a0)
+	FP_L	$f22, _OFFSETOF_SC_FPREGS_F22(a0)
+	FP_L	$f20, _OFFSETOF_SC_FPREGS_F20(a0)
 #endif
 #if defined(__mips_o32) || defined(__mips_o64)
-	FPLD	$f21, _OFFSETOF_SC_FPREGS_F21(a0)
-	FPLD	$f23, _OFFSETOF_SC_FPREGS_F23(a0)
+	FP_L	$f21, _OFFSETOF_SC_FPREGS_F21(a0)
+	FP_L	$f23, _OFFSETOF_SC_FPREGS_F23(a0)
 #endif
 #if defined(__mips_n64)
-	FPLD	$f25, _OFFSETOF_SC_FPREGS_F25(a0)
-	FPLD	$f27, _OFFSETOF_SC_FPREGS_F27(a0)
-	FPLD	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
-	FPLD	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
+	FP_L	$f25, _OFFSETOF_SC_FPREGS_F25(a0)
+	FP_L	$f27, _OFFSETOF_SC_FPREGS_F27(a0)
+	FP_L	$f29, _OFFSETOF_SC_FPREGS_F29(a0)
+	FP_L	$f31, _OFFSETOF_SC_FPREGS_F31(a0)
 #endif
 
 	REG_EPILOGUE
+	REG_L	v0, _OFFSETOF_SC_REGS_V0(a0)
 	j	ra
-	REG_L	v0, _OFFSETOF_SC_REG_V0(a0)
+	nop
 
 botch:
 	/*

Index: src/lib/libc/compat/arch/mips/gen/compat_setjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1 src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.1
--- src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1	Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/gen/compat_setjmp.S	Tue Aug 18 06:49:17 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_setjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $	*/
+/*	$NetBSD: compat_setjmp.S,v 1.1.34.1 2009/08/18 06:49:17 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -32,21 +32,18 @@
  * SUCH DAMAGE.
  */
 
-#include machine/cdefs.h
 #include sys/syscall.h
-#include mips/regnum.h
 #include mips/asm.h
-#include machine/signal.h
-#include machine/setjmp.h
 

CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:52:09 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: fabs.S ldexp.S modf.S
setjmp.S sigsetjmp.S swapcontext.S

Log Message:
Cleanup/Add RCSIDs.
Cleanup/fix setjmp
Cleanup includes. (assym.h is your friend)


To generate a diff of this commit:
cvs rdiff -u -r1.7.46.1 -r1.7.46.2 src/lib/libc/arch/mips/gen/fabs.S
cvs rdiff -u -r1.8.46.1 -r1.8.46.2 src/lib/libc/arch/mips/gen/ldexp.S
cvs rdiff -u -r1.10.46.1 -r1.10.46.2 src/lib/libc/arch/mips/gen/modf.S
cvs rdiff -u -r1.17.34.1 -r1.17.34.2 src/lib/libc/arch/mips/gen/setjmp.S
cvs rdiff -u -r1.8.34.1 -r1.8.34.2 src/lib/libc/arch/mips/gen/sigsetjmp.S
cvs rdiff -u -r1.3.14.1 -r1.3.14.2 src/lib/libc/arch/mips/gen/swapcontext.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/fabs.S
diff -u src/lib/libc/arch/mips/gen/fabs.S:1.7.46.1 src/lib/libc/arch/mips/gen/fabs.S:1.7.46.2
--- src/lib/libc/arch/mips/gen/fabs.S:1.7.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/fabs.S	Tue Aug 18 06:52:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: fabs.S,v 1.7.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: fabs.S,v 1.7.46.2 2009/08/18 06:52:09 matt Exp $	*/
 
 /*-
  * Copyright (c) 1993
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	RCSID(from: @(#)fabs.s	8.1 (Berkeley) 2/16/94)
-	RCSID($NetBSD: fabs.S,v 1.7.46.1 2009/08/16 03:36:02 matt Exp $)
+#else
+	RCSID($NetBSD: fabs.S,v 1.7.46.2 2009/08/18 06:52:09 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 

Index: src/lib/libc/arch/mips/gen/ldexp.S
diff -u src/lib/libc/arch/mips/gen/ldexp.S:1.8.46.1 src/lib/libc/arch/mips/gen/ldexp.S:1.8.46.2
--- src/lib/libc/arch/mips/gen/ldexp.S:1.8.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/ldexp.S	Tue Aug 18 06:52:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ldexp.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: ldexp.S,v 1.8.46.2 2009/08/18 06:52:09 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	RCSID(from: @(#)ldexp.s	8.1 (Berkeley) 6/4/93)
-	RCSID($NetBSD: ldexp.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $)
+#else
+	RCSID($NetBSD: ldexp.S,v 1.8.46.2 2009/08/18 06:52:09 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 #define DEXP_INF	0x7ff

Index: src/lib/libc/arch/mips/gen/modf.S
diff -u src/lib/libc/arch/mips/gen/modf.S:1.10.46.1 src/lib/libc/arch/mips/gen/modf.S:1.10.46.2
--- src/lib/libc/arch/mips/gen/modf.S:1.10.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/modf.S	Tue Aug 18 06:52:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: modf.S,v 1.10.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: modf.S,v 1.10.46.2 2009/08/18 06:52:09 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1995
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	RCSID(from: @(#)modf.s	8.1 (Berkeley) 6/4/93)
-	RCSID($NetBSD: modf.S,v 1.10.46.1 2009/08/16 03:36:02 matt Exp $)
+#else
+	RCSID($NetBSD: modf.S,v 1.10.46.2 2009/08/18 06:52:09 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 /*

Index: src/lib/libc/arch/mips/gen/setjmp.S
diff -u src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.1 src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.2
--- src/lib/libc/arch/mips/gen/setjmp.S:1.17.34.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/gen/setjmp.S	Tue Aug 18 06:52:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: setjmp.S,v 1.17.34.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: setjmp.S,v 1.17.34.2 2009/08/18 06:52:09 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -32,17 +32,17 @@
  * SUCH DAMAGE.
  */
 
-#include machine/cdefs.h
 #include sys/syscall.h
 #include mips/asm.h
-#include machine/signal.h
-#include machine/setjmp.h
 
 #include assym.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
-	RCSID($NetBSD: setjmp.S,v 1.17.34.1 2009/08/16 03:36:02 matt Exp $)
+#else
+	RCSID($NetBSD: setjmp.S,v 1.17.34.2 2009/08/18 06:52:09 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 /*
@@ -67,33 +67,33 @@
 
 	REG_S		ra, CALLFRAME_RA(sp)		# save RA
 	REG_S		s0, CALLFRAME_S0(sp)		# save S0
-	move		a0, s0# squirrel away sc
+	move		s0, a0# save sigcontext
 
 	/* Get the signal mask. */
 	PTR_ADDU	a2, a0, _OFFSETOF_SC_MASK	# sc.sc_mask
 	move		a1, zero
 	jal		_C_LABEL(__sigprocmask14)	# get current signal mask
-	move		a0, zero			# (in delay slot)
 
 	/* Get the signal stack. */
 	move		a0, zero
-	PTR_ADDU	a1, sp, CALLFRAME_SIZ	# pointer to struct sigaltstack
+	PTR_ADDU	a1, sp, CALLFRAME_SIZ		# pointer to stack_t
 	jal		_C_LABEL(__sigaltstack14)
-	nop
+
+	move		a0, s0# restore jmpbuf
 	INT_L		v1, CALLFRAME_SIZ+_OFFSETOF_STACK_T_FLAGS(sp)
 			# get old ss_onstack
 	and		v1, v1, SS_ONSTACK		# extract 

CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/string

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:55:09 UTC 2009

Modified Files:
src/lib/libc/arch/mips/string [matt-nb5-mips64]: bzero.S

Log Message:
Checkin a fix for 8byte access even though we are now using the C version.


To generate a diff of this commit:
cvs rdiff -u -r1.8.46.1 -r1.8.46.2 src/lib/libc/arch/mips/string/bzero.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/string/bzero.S
diff -u src/lib/libc/arch/mips/string/bzero.S:1.8.46.1 src/lib/libc/arch/mips/string/bzero.S:1.8.46.2
--- src/lib/libc/arch/mips/string/bzero.S:1.8.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/string/bzero.S	Tue Aug 18 06:55:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: bzero.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: bzero.S,v 1.8.46.2 2009/08/18 06:55:09 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)bzero.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: bzero.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)bzero.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: bzero.S,v 1.8.46.2 2009/08/18 06:55:09 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 
@@ -51,14 +54,26 @@
 	PTR_SUBU	a3, zero, a0	# compute # bytes to word align address
 	and		a3, a3, SZREG-1
 	beq		a3, zero, 1f	# skip if word aligned
+#if SZREG == 4
 	PTR_SUBU	a1, a1, a3	# subtract from remaining count
 	SWHI		zero, 0(a0)	# clear 1, 2, or 3 bytes to align
 	PTR_ADDU	a0, a0, a3
+#endif
 #if SZREG == 8
-	andi		a3, a3, 4
-	beq		a3, zero, 1f
-	nop
-	sw		zero, -SZREG(a0)
+	PTR_SUBU	a1, a1, a3	# subtract from remaining count
+	PTR_ADDU	a0, a0, a3	# align dst to next word
+	sll		a3, a3, 3	# bits to bytes
+	li		a2, -1		# make a mask
+#if _BYTE_ORDER == _BIG_ENDIAN
+	REG_SRLV	a2, a2, a3	# we want to keep the MSB bytes
+#endif
+#if _BYTE_ORDER == _LITTLE_ENDIAN
+	REG_SLLV	a2, a2, a3	# we want to keep the LSB bytes
+#endif
+	nor		a2, zero, a2	# complement the mask
+	REL_L		v0, -SZREG(a0)	# load the word to partially clear
+	and		v0, v0, a2	# clear the bytes
+	REG_S		v0, -SZREG(a0)	# store it back
 #endif
 1:
 	and		v0, a1, SZREG-1	# compute number of words left



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/string

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:55:48 UTC 2009

Modified Files:
src/lib/libc/arch/mips/string [matt-nb5-mips64]: Makefile.inc bcmp.S
index.S rindex.S

Log Message:
Enable use of memset2.c/bzero2.c
Cleanup RCSIDs


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.50.1 src/lib/libc/arch/mips/string/Makefile.inc
cvs rdiff -u -r1.8.46.1 -r1.8.46.2 src/lib/libc/arch/mips/string/bcmp.S
cvs rdiff -u -r1.8.34.1 -r1.8.34.2 src/lib/libc/arch/mips/string/index.S
cvs rdiff -u -r1.7.46.1 -r1.7.46.2 src/lib/libc/arch/mips/string/rindex.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/string/Makefile.inc
diff -u src/lib/libc/arch/mips/string/Makefile.inc:1.2 src/lib/libc/arch/mips/string/Makefile.inc:1.2.50.1
--- src/lib/libc/arch/mips/string/Makefile.inc:1.2	Tue Oct 10 21:51:54 2000
+++ src/lib/libc/arch/mips/string/Makefile.inc	Tue Aug 18 06:55:48 2009
@@ -1,7 +1,9 @@
-#	$NetBSD: Makefile.inc,v 1.2 2000/10/10 21:51:54 jeffs Exp $
+#	$NetBSD: Makefile.inc,v 1.2.50.1 2009/08/18 06:55:48 matt Exp $
 
-SRCS+=	bcmp.S bcopy.S bzero.S  ffs.S index.S memchr.c memcmp.c memset.c \
-	memcpy.S memmove.S \
-	rindex.S strcat.c strcmp.S strcpy.c strcspn.c strlen.S \
+SRCS+=	bcmp.S bcopy.S bzero2.c \
+	ffs.S index.S \
+	memchr.c memcmp.c memset2.c memcpy.S memmove.S \
+	rindex.S \
+	strcat.c strcmp.S strcpy.c strcspn.c strlen.S \
 	strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
 	strspn.c strstr.c swab.c

Index: src/lib/libc/arch/mips/string/bcmp.S
diff -u src/lib/libc/arch/mips/string/bcmp.S:1.8.46.1 src/lib/libc/arch/mips/string/bcmp.S:1.8.46.2
--- src/lib/libc/arch/mips/string/bcmp.S:1.8.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/string/bcmp.S	Tue Aug 18 06:55:48 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcmp.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: bcmp.S,v 1.8.46.2 2009/08/18 06:55:48 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -37,8 +37,11 @@
 #include machine/endian.h	/* LWLO/LWHI, SWLO/SWHI */
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)bcmp.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: bcmp.S,v 1.8.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)bcmp.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: bcmp.S,v 1.8.46.2 2009/08/18 06:55:48 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 /* bcmp(s1, s2, n) */

Index: src/lib/libc/arch/mips/string/index.S
diff -u src/lib/libc/arch/mips/string/index.S:1.8.34.1 src/lib/libc/arch/mips/string/index.S:1.8.34.2
--- src/lib/libc/arch/mips/string/index.S:1.8.34.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/string/index.S	Tue Aug 18 06:55:48 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: index.S,v 1.8.34.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: index.S,v 1.8.34.2 2009/08/18 06:55:48 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)index.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: index.S,v 1.8.34.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)index.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: index.S,v 1.8.34.2 2009/08/18 06:55:48 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 LEAF(index)

Index: src/lib/libc/arch/mips/string/rindex.S
diff -u src/lib/libc/arch/mips/string/rindex.S:1.7.46.1 src/lib/libc/arch/mips/string/rindex.S:1.7.46.2
--- src/lib/libc/arch/mips/string/rindex.S:1.7.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/string/rindex.S	Tue Aug 18 06:55:48 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rindex.S,v 1.7.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: rindex.S,v 1.7.46.2 2009/08/18 06:55:48 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include mips/asm.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)rindex.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: rindex.S,v 1.7.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)rindex.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: rindex.S,v 1.7.46.2 2009/08/18 06:55:48 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 LEAF(rindex)



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/sys

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:56:52 UTC 2009

Modified Files:
src/lib/libc/arch/mips/sys [matt-nb5-mips64]: __vfork14.S brk.S
cerror.S exect.S fork.S pipe.S ptrace.S sbrk.S syscall.S

Log Message:
Cleanup RCSIDs.
Use SYSTRAP instead li v0, SYS_*; syscall since that's what SYSTRAP does.


To generate a diff of this commit:
cvs rdiff -u -r1.5.46.1 -r1.5.46.2 src/lib/libc/arch/mips/sys/__vfork14.S \
src/lib/libc/arch/mips/sys/syscall.S
cvs rdiff -u -r1.16.46.1 -r1.16.46.2 src/lib/libc/arch/mips/sys/brk.S
cvs rdiff -u -r1.13.46.1 -r1.13.46.2 src/lib/libc/arch/mips/sys/cerror.S
cvs rdiff -u -r1.9.46.1 -r1.9.46.2 src/lib/libc/arch/mips/sys/exect.S \
src/lib/libc/arch/mips/sys/ptrace.S
cvs rdiff -u -r1.11.46.1 -r1.11.46.2 src/lib/libc/arch/mips/sys/fork.S
cvs rdiff -u -r1.11.34.1 -r1.11.34.2 src/lib/libc/arch/mips/sys/pipe.S
cvs rdiff -u -r1.16.34.1 -r1.16.34.2 src/lib/libc/arch/mips/sys/sbrk.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/sys/__vfork14.S
diff -u src/lib/libc/arch/mips/sys/__vfork14.S:1.5.46.1 src/lib/libc/arch/mips/sys/__vfork14.S:1.5.46.2
--- src/lib/libc/arch/mips/sys/__vfork14.S:1.5.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/sys/__vfork14.S	Tue Aug 18 06:56:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: __vfork14.S,v 1.5.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: __vfork14.S,v 1.5.46.2 2009/08/18 06:56:52 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)Ovfork.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: __vfork14.S,v 1.5.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)Ovfork.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: __vfork14.S,v 1.5.46.2 2009/08/18 06:56:52 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 /*
Index: src/lib/libc/arch/mips/sys/syscall.S
diff -u src/lib/libc/arch/mips/sys/syscall.S:1.5.46.1 src/lib/libc/arch/mips/sys/syscall.S:1.5.46.2
--- src/lib/libc/arch/mips/sys/syscall.S:1.5.46.1	Sun Aug 16 03:36:03 2009
+++ src/lib/libc/arch/mips/sys/syscall.S	Tue Aug 18 06:56:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: syscall.S,v 1.5.46.1 2009/08/16 03:36:03 matt Exp $	*/
+/*	$NetBSD: syscall.S,v 1.5.46.2 2009/08/18 06:56:52 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)syscall.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: syscall.S,v 1.5.46.1 2009/08/16 03:36:03 matt Exp $)
+#if 0
+	RCSID(from: @(#)syscall.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: syscall.S,v 1.5.46.2 2009/08/18 06:56:52 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 RSYSCALL(syscall)

Index: src/lib/libc/arch/mips/sys/brk.S
diff -u src/lib/libc/arch/mips/sys/brk.S:1.16.46.1 src/lib/libc/arch/mips/sys/brk.S:1.16.46.2
--- src/lib/libc/arch/mips/sys/brk.S:1.16.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/sys/brk.S	Tue Aug 18 06:56:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: brk.S,v 1.16.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: brk.S,v 1.16.46.2 2009/08/18 06:56:52 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCDID(from: @(#)brk.s	8.1 (Berkeley) 6/4/93) */
-	RCSID($NetBSD: brk.S,v 1.16.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)brk.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: brk.S,v 1.16.46.2 2009/08/18 06:56:52 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 	.globl	_C_LABEL(__minbrk)

Index: src/lib/libc/arch/mips/sys/cerror.S
diff -u src/lib/libc/arch/mips/sys/cerror.S:1.13.46.1 src/lib/libc/arch/mips/sys/cerror.S:1.13.46.2
--- src/lib/libc/arch/mips/sys/cerror.S:1.13.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/sys/cerror.S	Tue Aug 18 06:56:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: cerror.S,v 1.13.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: cerror.S,v 1.13.46.2 2009/08/18 06:56:52 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	/* RCSID(from: @(#)cerror.s	8.1 (Berkeley) 6/16/93) */
-	RCSID($NetBSD: cerror.S,v 1.13.46.1 2009/08/16 03:36:02 matt Exp $)
+#if 0
+	RCSID(from: @(#)cerror.s	8.1 (Berkeley) 6/16/93)
+#else
+	RCSID($NetBSD: cerror.S,v 1.13.46.2 2009/08/18 06:56:52 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 #ifdef _REENTRANT

Index: src/lib/libc/arch/mips/sys/exect.S
diff -u src/lib/libc/arch/mips/sys/exect.S:1.9.46.1 src/lib/libc/arch/mips/sys/exect.S:1.9.46.2
--- src/lib/libc/arch/mips/sys/exect.S:1.9.46.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/sys/exect.S	Tue Aug 18 06:56:52 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: exect.S,v 1.9.46.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: exect.S,v 1.9.46.2 2009/08/18 06:56:52 

CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:57:52 UTC 2009

Modified Files:
src/lib/libc/arch/mips [matt-nb5-mips64]: genassym.cf

Log Message:
Add _OFFSETOF_SC_MASK13 for compat setjmp/longjmp.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/lib/libc/arch/mips/genassym.cf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/genassym.cf
diff -u src/lib/libc/arch/mips/genassym.cf:1.1.2.1 src/lib/libc/arch/mips/genassym.cf:1.1.2.2
--- src/lib/libc/arch/mips/genassym.cf:1.1.2.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/genassym.cf	Tue Aug 18 06:57:52 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.1.2.1 2009/08/16 03:36:02 matt Exp $
+#	$NetBSD: genassym.cf,v 1.1.2.2 2009/08/18 06:57:52 matt Exp $
 
 #
 # Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -72,6 +72,7 @@
 define _OFFSETOF_SC_FPREGS_FCSR	offsetof(struct sigcontext, sc_fpregs[32])
 define _OFFSETOF_SC_PC		offsetof(struct sigcontext, sc_pc)
 define _OFFSETOF_SC_MASK	offsetof(struct sigcontext, sc_mask)
+define _OFFSETOF_SC_MASK13	offsetof(struct sigcontext, __sc_mask13)
 define _OFFSETOF_SC_ONSTACK	offsetof(struct sigcontext, sc_onstack)
 define _OFFSETOF_SC_FPUSED	offsetof(struct sigcontext, sc_fpused)
 



CVS commit: [matt-nb5-mips64] src/lib/libc/compat/arch/mips

2009-08-18 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Aug 18 06:58:55 UTC 2009

Modified Files:
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_sigsetjmp.S
src/lib/libc/compat/arch/mips/sys [matt-nb5-mips64]: compat_Ovfork.S
compat___semctl.S compat___sigreturn14.S compat___sigtramp1.S
compat_msgctl.S compat_shmctl.S compat_sigaction.S
compat_sigpending.S compat_sigprocmask.S compat_sigreturn.S
compat_sigsuspend.S

Log Message:
Adapt to be ABI agnostic.  Fix RCSIDs.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.1.34.1 \
src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S
cvs rdiff -u -r1.1 -r1.1.34.1 \
src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S \
src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S \
src/lib/libc/compat/arch/mips/sys/compat_sigpending.S \
src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S \
src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S \
src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S
cvs rdiff -u -r1.2 -r1.2.14.1 \
src/lib/libc/compat/arch/mips/sys/compat___semctl.S \
src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S \
src/lib/libc/compat/arch/mips/sys/compat_msgctl.S \
src/lib/libc/compat/arch/mips/sys/compat_shmctl.S \
src/lib/libc/compat/arch/mips/sys/compat_sigaction.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1 src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1.34.1
--- src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1	Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S	Tue Aug 18 06:58:54 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $	*/
+/*	$NetBSD: compat_sigsetjmp.S,v 1.1.34.1 2009/08/18 06:58:54 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993, 1995,
@@ -33,18 +33,18 @@
  */
 
 #include sys/syscall.h
-#include mips/regnum.h
 #include mips/asm.h
-#include machine/setjmp.h
+#include mips/regdef.h
+
+#include assym.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
+#if 0
 	ASMSTR(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
-	ASMSTR($NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $)
-#endif /* LIBC_SCCS and not lint */
-
-#ifdef __ABICALLS__
-	.abicalls
+#else
+	ASMSTR($NetBSD: compat_sigsetjmp.S,v 1.1.34.1 2009/08/18 06:58:54 matt Exp $)
 #endif
+#endif /* LIBC_SCCS and not lint */
 
 /*
  * C library -- sigsetjmp, siglongjmp
@@ -59,30 +59,25 @@
  */
 
 LEAF(sigsetjmp)
-#ifdef __ABICALLS__
-	.set	noreorder
-	.cpload	t9
-	.set	reorder
-#endif
-	sw	a1, (_JBLEN*4)(a0)		# save savemask
+	SETUP_GP
+	SETUP_GP64(t0, sigsetjmp)
+	INT_S	a1, _OFFSETOF_SC_MASK13(a0)	# save savemask
 	bne	a1, 0x0, 1f			# do saving of signal mask?
-	la	t9, _setjmp
-	jr t9
+	la	t9, _C_LABEL(_setjmp)
+	jr	t9
 
-1:	la	t9, setjmp
-	jr t9
+1:	la	t9, _C_LABEL(setjmp)
+	jr	t9
 END(sigsetjmp)
 
 LEAF(siglongjmp)
-#ifdef __ABICALLS__
-	.set	noreorder
-	.cpload	t9
-	.set	reorder
-#endif
-	lw	t0, (_JBLEN * 4)(a0)		# get savemask
-	bne	t0, 0x0, 1f			# restore signal mask?
-	la	t9, _longjmp
+	SETUP_GP
+	SETUP_GP64(t0, siglongjmp)
+	INT_L	t1, _OFFSETOF_SC_MASK13(a0)	# get savemask
+	bne	t1, 0x0, 1f			# restore signal mask?
+	la	t9, _C_LABEL(_longjmp)
 	jr	t9
-1:	la	t9, longjmp
+
+1:	la	t9, _C_LABEL(longjmp)
 	jr	t9
 END(siglongjmp)

Index: src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.1.34.1
--- src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.1	Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S	Tue Aug 18 06:58:55 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_Ovfork.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $	*/
+/*	$NetBSD: compat_Ovfork.S,v 1.1.34.1 2009/08/18 06:58:55 matt Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
 #include SYS.h
 
 #if defined(LIBC_SCCS)  !defined(lint)
-	ASMSTR(from: @(#)Ovfork.s	8.1 (Berkeley) 6/4/93)
-	ASMSTR($NetBSD: compat_Ovfork.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $)
+#if 0
+	RCSID(from: @(#)Ovfork.s	8.1 (Berkeley) 6/4/93)
+#else
+	RCSID($NetBSD: compat_Ovfork.S,v 1.1.34.1 2009/08/18 06:58:55 matt Exp $)
+#endif
 #endif /* LIBC_SCCS and not lint */
 
 WARN_REFERENCES(vfork, \
@@ -50,19 +53,16 @@
  */
 
 LEAF(vfork)
-#ifdef __ABICALLS__
-	.set	noreorder
-	.cpload	t9
-	.set	reorder
-#endif
-	li	v0, SYS_vfork		# system call number for vfork
-	syscall
+	PIC_PROLOGUE(vfork)
+
+	SYSTRAP(vfork)			# system call number for vfork
 	beq	a3, zero, 1f		# jump if no errors
-	la	t9, __cerror
-	jr	t9
+
+	PIC_TAILCALL(__cerror)
+
 1:
 	beq	v1, zero, 2f		# parent process ?
 	move	v0, zero		# return zero in child
 2:
-	j	ra
+	PIC_RETURN()
 END(vfork)
Index: 

CVS commit: [matt-nb5-mips64] src/lib/libc/compat/arch/mips/gen

2009-08-18 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Tue Aug 18 14:42:26 UTC 2009

Modified Files:
src/lib/libc/compat/arch/mips/gen [matt-nb5-mips64]: compat_setjmp.S

Log Message:
.cprestore doesn't accept register.  Pass CALLFRAME_S0 instead.


To generate a diff of this commit:
cvs rdiff -u -r1.1.34.1 -r1.1.34.2 \
src/lib/libc/compat/arch/mips/gen/compat_setjmp.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/compat/arch/mips/gen/compat_setjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.1 src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.2
--- src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1.34.1	Tue Aug 18 06:49:17 2009
+++ src/lib/libc/compat/arch/mips/gen/compat_setjmp.S	Tue Aug 18 14:42:26 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_setjmp.S,v 1.1.34.1 2009/08/18 06:49:17 matt Exp $	*/
+/*	$NetBSD: compat_setjmp.S,v 1.1.34.2 2009/08/18 14:42:26 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -41,7 +41,7 @@
 #if 0
 	RCSID(from: @(#)setjmp.s	8.1 (Berkeley) 6/4/93)
 #else
-	RCSID($NetBSD: compat_setjmp.S,v 1.1.34.1 2009/08/18 06:49:17 matt Exp $)
+	RCSID($NetBSD: compat_setjmp.S,v 1.1.34.2 2009/08/18 14:42:26 uebayasi Exp $)
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -146,7 +146,7 @@
 LEAF(longjmp)
 	SETUP_GP
 	PTR_SUBU	sp, sp, CALLFRAME_SIZ
-	SAVE_GP(s0)
+	SAVE_GP(CALLFRAME_S0)
 	SETUP_GP64(s0, longjmp)
 
 	REG_PROLOGUE



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-08-18 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Tue Aug 18 15:04:23 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: swapcontext.S

Log Message:
Include assym.h.  Fix build.


To generate a diff of this commit:
cvs rdiff -u -r1.3.14.2 -r1.3.14.3 src/lib/libc/arch/mips/gen/swapcontext.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/swapcontext.S
diff -u src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.2 src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.3
--- src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.2	Tue Aug 18 06:52:09 2009
+++ src/lib/libc/arch/mips/gen/swapcontext.S	Tue Aug 18 15:04:23 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: swapcontext.S,v 1.3.14.2 2009/08/18 06:52:09 matt Exp $	*/
+/*	$NetBSD: swapcontext.S,v 1.3.14.3 2009/08/18 15:04:23 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,9 +30,10 @@
  */
 
 #include SYS.h
+#include assym.h
 
 #if defined(SYSLIBC_SCCS)  !defined(lint)
-	RCSID($NetBSD: swapcontext.S,v 1.3.14.2 2009/08/18 06:52:09 matt Exp $)
+	RCSID($NetBSD: swapcontext.S,v 1.3.14.3 2009/08/18 15:04:23 uebayasi Exp $)
 #endif /* SYSLIBC_SCCS  !lint */
 
 	.set	reorder



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/sys

2009-08-18 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Tue Aug 18 15:16:23 UTC 2009

Modified Files:
src/lib/libc/arch/mips/sys [matt-nb5-mips64]: getcontext.S

Log Message:
Include assym.h for _OFFSETOF_UC_GREGS.


To generate a diff of this commit:
cvs rdiff -u -r1.3.14.1 -r1.3.14.2 src/lib/libc/arch/mips/sys/getcontext.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/sys/getcontext.S
diff -u src/lib/libc/arch/mips/sys/getcontext.S:1.3.14.1 src/lib/libc/arch/mips/sys/getcontext.S:1.3.14.2
--- src/lib/libc/arch/mips/sys/getcontext.S:1.3.14.1	Sun Aug 16 03:36:02 2009
+++ src/lib/libc/arch/mips/sys/getcontext.S	Tue Aug 18 15:16:23 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: getcontext.S,v 1.3.14.1 2009/08/16 03:36:02 matt Exp $	*/
+/*	$NetBSD: getcontext.S,v 1.3.14.2 2009/08/18 15:16:23 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,10 +30,11 @@
  */
 
 #include SYS.h
+#include assym.h
 #include machine/mcontext.h
 
 #if defined(SYSLIBC_SCCS)  !defined(lint)
-	RCSID($NetBSD: getcontext.S,v 1.3.14.1 2009/08/16 03:36:02 matt Exp $)
+	RCSID($NetBSD: getcontext.S,v 1.3.14.2 2009/08/18 15:16:23 uebayasi Exp $)
 #endif /* SYSLIBC_SCCS  !lint */
 
 #ifdef WEAK_ALIAS



CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/gen

2009-08-18 Thread Masao Uebayashi
Module Name:src
Committed By:   uebayasi
Date:   Tue Aug 18 15:16:45 UTC 2009

Modified Files:
src/lib/libc/arch/mips/gen [matt-nb5-mips64]: swapcontext.S

Log Message:
REGSZ - SZREG


To generate a diff of this commit:
cvs rdiff -u -r1.3.14.3 -r1.3.14.4 src/lib/libc/arch/mips/gen/swapcontext.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/arch/mips/gen/swapcontext.S
diff -u src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.3 src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.4
--- src/lib/libc/arch/mips/gen/swapcontext.S:1.3.14.3	Tue Aug 18 15:04:23 2009
+++ src/lib/libc/arch/mips/gen/swapcontext.S	Tue Aug 18 15:16:45 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: swapcontext.S,v 1.3.14.3 2009/08/18 15:04:23 uebayasi Exp $	*/
+/*	$NetBSD: swapcontext.S,v 1.3.14.4 2009/08/18 15:16:45 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
 #include assym.h
 
 #if defined(SYSLIBC_SCCS)  !defined(lint)
-	RCSID($NetBSD: swapcontext.S,v 1.3.14.3 2009/08/18 15:04:23 uebayasi Exp $)
+	RCSID($NetBSD: swapcontext.S,v 1.3.14.4 2009/08/18 15:16:45 uebayasi Exp $)
 #endif /* SYSLIBC_SCCS  !lint */
 
 	.set	reorder
@@ -43,13 +43,13 @@
 	PTR_SUBU	sp, sp, CALLFRAME_SIZ
 	PTR_S		ra, CALLFRAME_RA(sp)	# save ra
 	PTR_S		a0, 0(sp)		# stash away oucp
-	PTR_S		a1, REGSZ(sp)		# stash away ucp
+	PTR_S		a1, SZREG(sp)		# stash away ucp
 	SYSTRAP(getcontext)
 	PTR_L		ra, CALLFRAME_RA(sp)
 	bne		a3, zero, 1f
 
 	PTR_L		v1, 0(sp)		# load oucp again for adjustment
-	PTR_L		a0, REGSZ(sp)		# load ucp
+	PTR_L		a0, SZREG(sp)		# load ucp
 	PTR_ADDIU	v0, sp, CALLFRAME_SIZ
 	REG_PROLOGUE
 	REG_S		zero, _OFFSETOF_UC_GREGS_V0(v1)