CVS commit: [matt-nb5-mips64] src/lib/libc/arch/mips/softfloat
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)