Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc Bring sparc64 to the new compat layout.



details:   https://anonhg.NetBSD.org/src/rev/badafa1f97b0
branches:  trunk
changeset: 585088:badafa1f97b0
user:      christos <christos%NetBSD.org@localhost>
date:      Sun Oct 16 04:41:34 2005 +0000

description:
Bring sparc64 to the new compat layout.

diffstat:

 lib/libc/arch/sparc64/Makefile.inc                      |    4 +-
 lib/libc/arch/sparc64/gen/Makefile.inc                  |    6 +-
 lib/libc/arch/sparc64/gen/setjmp.S                      |  119 -----------
 lib/libc/arch/sparc64/gen/sigsetjmp.S                   |  101 ---------
 lib/libc/arch/sparc64/sys/Ovfork.S                      |   62 -----
 lib/libc/arch/sparc64/sys/__semctl.S                    |   42 ---
 lib/libc/arch/sparc64/sys/__sigreturn14.S               |   52 ----
 lib/libc/arch/sparc64/sys/__sigtramp1.S                 |  169 ----------------
 lib/libc/arch/sparc64/sys/msgctl.S                      |   45 ----
 lib/libc/arch/sparc64/sys/shmctl.S                      |   45 ----
 lib/libc/arch/sparc64/sys/sigaction.S                   |   45 ----
 lib/libc/arch/sparc64/sys/sigpending.S                  |   60 -----
 lib/libc/arch/sparc64/sys/sigprocmask.S                 |   73 ------
 lib/libc/arch/sparc64/sys/sigreturn.S                   |   55 -----
 lib/libc/arch/sparc64/sys/sigsuspend.S                  |   55 -----
 lib/libc/compat/arch/sparc64/Makefile.inc               |    4 +
 lib/libc/compat/arch/sparc64/gen/Makefile.inc           |    3 +
 lib/libc/compat/arch/sparc64/gen/compat_setjmp.S        |  119 +++++++++++
 lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S     |  101 +++++++++
 lib/libc/compat/arch/sparc64/sys/Makefile.inc           |    6 +
 lib/libc/compat/arch/sparc64/sys/compat_Ovfork.S        |   62 +++++
 lib/libc/compat/arch/sparc64/sys/compat___semctl.S      |   42 +++
 lib/libc/compat/arch/sparc64/sys/compat___sigreturn14.S |   52 ++++
 lib/libc/compat/arch/sparc64/sys/compat___sigtramp1.S   |  169 ++++++++++++++++
 lib/libc/compat/arch/sparc64/sys/compat_msgctl.S        |   45 ++++
 lib/libc/compat/arch/sparc64/sys/compat_shmctl.S        |   45 ++++
 lib/libc/compat/arch/sparc64/sys/compat_sigaction.S     |   45 ++++
 lib/libc/compat/arch/sparc64/sys/compat_sigpending.S    |   60 +++++
 lib/libc/compat/arch/sparc64/sys/compat_sigprocmask.S   |   73 ++++++
 lib/libc/compat/arch/sparc64/sys/compat_sigreturn.S     |   55 +++++
 lib/libc/compat/arch/sparc64/sys/compat_sigsuspend.S    |   55 +++++
 31 files changed, 941 insertions(+), 928 deletions(-)

diffs (truncated from 2013 to 300 lines):

diff -r 30f313cc2976 -r badafa1f97b0 lib/libc/arch/sparc64/Makefile.inc
--- a/lib/libc/arch/sparc64/Makefile.inc        Sun Oct 16 04:11:02 2005 +0000
+++ b/lib/libc/arch/sparc64/Makefile.inc        Sun Oct 16 04:41:34 2005 +0000
@@ -1,11 +1,11 @@
-#      $NetBSD: Makefile.inc,v 1.9 2005/04/20 18:26:11 jmc Exp $
+#      $NetBSD: Makefile.inc,v 1.10 2005/10/16 04:41:34 christos Exp $
 
 KMINCLUDES= arch/sparc64/SYS.h
 KMSRCS=        bzero.S ffs.S strlen.S htonl.S htons.S \
        ntohl.S ntohs.S divrem.m4 \
        mul.S saveregs.S umul.S
 
-SRCS+= __sigaction14_sigtramp.c __sigtramp1.S __sigtramp2.S
+SRCS+= __sigaction14_sigtramp.c __sigtramp2.S
 
 # Some assembler files use v9a extensions.
 AFLAGS+= -Wa,-Av9a
diff -r 30f313cc2976 -r badafa1f97b0 lib/libc/arch/sparc64/gen/Makefile.inc
--- a/lib/libc/arch/sparc64/gen/Makefile.inc    Sun Oct 16 04:11:02 2005 +0000
+++ b/lib/libc/arch/sparc64/gen/Makefile.inc    Sun Oct 16 04:41:34 2005 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.15 2005/04/15 22:39:11 kleink Exp $
+#      $NetBSD: Makefile.inc,v 1.16 2005/10/16 04:41:34 christos Exp $
 
 SRCS+= fabs.S modf.S
 SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \
@@ -18,9 +18,9 @@
 SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
 
 SRCS+= bswap16.c bswap32.c bswap64.c
-SRCS+= setjmp.S __setjmp14.S
+SRCS+= __setjmp14.S
 SRCS+= _setjmp.S
-SRCS+= sigsetjmp.S __sigsetjmp14.S __longjmp14.c
+SRCS+= __sigsetjmp14.S __longjmp14.c
 
 SRCS+= makecontext.c resumecontext.c _lwp.c swapcontext.S
 
diff -r 30f313cc2976 -r badafa1f97b0 lib/libc/arch/sparc64/gen/setjmp.S
--- a/lib/libc/arch/sparc64/gen/setjmp.S        Sun Oct 16 04:11:02 2005 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*     $NetBSD: setjmp.S,v 1.5 2003/08/07 16:42:27 agc Exp $   */
-
-/*
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: Header: setjmp.s,v 1.2 92/06/25 03:18:43 torek Exp
- */
-
-#define _LOCORE
-#include <machine/asm.h>
-#include <machine/frame.h>
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-       .asciz "@(#)setjmp.s    8.1 (Berkeley) 6/4/93"
-#else
-       RCSID("$NetBSD: setjmp.S,v 1.5 2003/08/07 16:42:27 agc Exp $")
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-/*
- * C library -- setjmp, longjmp
- *
- *     longjmp(a,v)
- * will generate a "return(v)" from
- * the last call to
- *     setjmp(a)
- * by restoring registers from the stack,
- * and a struct sigcontext, see <signal.h>
- */
-
-#include "SYS.h"
-
-#define STACK_T_SZ
-ENTRY(setjmp)
-       /*
-        * We use the part of the sigcontext structure, the sp, pc, and npc fields,
-        * for the sigstack call so we don't need to get our own stackframe.  It 
-        * won't be filled out till later anyway.
-        */
-       mov     %o0, %o3                /* Save our jmp_buf in %o3 */
-       mov     %o0, %o2                /* build sigcontext in [%o2] */
-       mov     1, %o0                  /* SIG_BLOCK */
-       mov     SYS_compat_13_sigprocmask13, %g1
-       clr     %o1                     /* sigprocmask(SIG_BLOCK, (sigset_t *)NULL, (sigset_t *)a) */
-       t       ST_SYSCALL
-       
-       st      %o0, [%o3 + 0x04]       /* sc.sc_mask = current mask; */
-       mov     SYS___sigaltstack14, %g1
-       clr     %o0                     /* sigstack(NULL, &foo) */
-       add     %o3, 0x38, %o1          /* (foo being the sigcontext14 sc_mask) */
-       t       ST_SYSCALL
-       
-       lduw    [%o3 + 0x38+0x10], %o0  /* foo.ss_flags */
-       and     %o0, 1, %o1             /* onstack = foo.ss_flags & 1; */
-       st      %o0, [%o3 + 0x00]       /* sc.sc_onstack = current onstack; */
-       stx     %sp, [%o3 + 0x08]       /* sc.sc_sp = sp (both ours and caller's) */
-       add     %o7, 8, %o0
-       stx     %o0, [%o3 + 0x10]       /* sc.sc_pc = return_pc */
-       add     %o7, 12, %o0
-       stx     %o0, [%o3 + 0x18]       /* sc.sc_npc = return_pc + 4 */
-       stx     %g0, [%o3 + 0x20]       /* sc.sc_psr = (clean psr) */
-       stx     %fp, [%o3 + 0x28]       /* sc.sc_g1 = %fp (misuse, but what the heck) */
-                                       /* sc.sc_o0 = random(), set in longjmp */
-       retl                            /* return 0 */
-        clr    %o0
-
-/*
- * All we need to do here is force sigreturn to load a new stack pointer,
- * new <pc,npc>, and appropriate %o0 return value from the sigcontext built
- * in setjmp.  The %i and %l registers will be reloaded from the place to
- * which %sp points, due to sigreturn() semantics (sigreturn does not modify
- * the window pointer in the psr, hence it must force all windows to reload).
- */
-ENTRY(longjmp)
-       save    %sp, -CC64FSZ, %sp
-       ldx     [%i0 + 0x08], %o2       /* make sure sc->sc_sp, sc->sc_fp nonzero */
-       ldx     [%i0 + 0x28], %o3
-       orcc    %o2, %o3, %g0
-       bz,pn   %xcc, Lbotch
-        movrz  %i1, 1, %i1             /* if (v == 0) v = 1; */
-       st      %i1, [%i0 + 0x30]       /* sc.sc_o0 = v; */
-       mov     SYS_compat_13_sigreturn13, %g1
-       mov     %i0, %o0
-       t       ST_SYSCALL              /* sigreturn(scp); */
-
-Lbotch:
-       /* oops, caller botched it */
-       call    _C_LABEL(longjmperror)
-        nop
-       unimp   0
diff -r 30f313cc2976 -r badafa1f97b0 lib/libc/arch/sparc64/gen/sigsetjmp.S
--- a/lib/libc/arch/sparc64/gen/sigsetjmp.S     Sun Oct 16 04:11:02 2005 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*     $NetBSD: sigsetjmp.S,v 1.6 2002/05/07 01:34:21 eeh Exp $        */
-/*
- * Copyright (c) 1995 Paul Kranenburg
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Paul Kranenburg.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "SYS.h"
-
-#ifdef PIC
-#ifdef BIGPIC
-       
-ENTRY(sigsetjmp)
-       PIC_PROLOGUE(%g1,%o2)           ! %g1 = _GLOBAL_OFFSET_TABLE
-       set     _C_LABEL(setjmp), %o2   ! if (%o1 != 0) goto _setjmp;
-       set     _C_LABEL(_setjmp), %o3  ! else goto __setjmp;
-       movrnz  %o1, %o2, %o3
-       ldx [%g1+%o3], %g1
-       jmp %g1
-        st     %o1,[%o0+0x48]          ! jmpbuf[JBLEN]
-
-
-ENTRY(siglongjmp)
-       PIC_PROLOGUE(%g1,%o2)           ! %g1 = _GLOBAL_OFFSET_TABLE
-       ld      [%o0 + 0x48],%o2        ! jmpbuf[JBLEN]
-       set     _C_LABEL(longjmp), %o3  ! if (%o2 != 0) goto _longjmp;
-       set     _C_LABEL(_longjmp), %o4 ! else goto __longjmp;
-       movrnz  %o2, %o3, %o4 
-       ldx     [%g1 + %o4], %g1
-       jmp %g1
-        nop
-       unimp 0
-
-#else
-       
-ENTRY(sigsetjmp)
-       PIC_PROLOGUE(%g1,%o2)           ! %g1 = _GLOBAL_OFFSET_TABLE
-       cmp     %o1, 0
-       bne,a   1f
-        ldx    [%g1 + _C_LABEL(setjmp)], %g1   ! if (%o1 != 0) goto _setjmp;
-       ldx     [%g1 + _C_LABEL(_setjmp)], %g1  ! else goto __setjmp;
-1:     
-       jmp %g1
-        st     %o1,[%o0+0x48]          ! jmpbuf[JBLEN]
-
-
-ENTRY(siglongjmp)
-       PIC_PROLOGUE(%g1,%o2)           ! %g1 = _GLOBAL_OFFSET_TABLE
-       cmp     %o2, 0
-       ld      [%o0 + 0x48],%o2        ! jmpbuf[JBLEN]
-       bne,a   1f
-        ldx    [%g1 + _C_LABEL(longjmp)], %g1  ! if (%o2 != 0) goto _longjmp;
-       ldx     [%g1 + _C_LABEL(_longjmp)], %g1 ! else goto __longjmp;
-1:     
-       jmp %g1
-        nop
-       unimp 0
-
-#endif /* BIGPIC */
-#else /* PIC */
-
-ENTRY(sigsetjmp)
-       brz,pt  %o1,_C_LABEL(_setjmp)
-        st     %o1,[%o0+0x48]          ! jmpbuf[JBLEN]
-       ba,a,pt %icc,_C_LABEL(setjmp)
-        nop                            ! spitfire bug
-       unimp 0
-
-ENTRY(siglongjmp)
-       ld      [%o0 + 0x48], %g1
-       brz,pt  %g1, _C_LABEL(_longjmp)
-        nop
-       ba,a,pt %icc, _C_LABEL(longjmp)
-       unimp 0
-
-#endif /* PIC */
diff -r 30f313cc2976 -r badafa1f97b0 lib/libc/arch/sparc64/sys/Ovfork.S
--- a/lib/libc/arch/sparc64/sys/Ovfork.S        Sun Oct 16 04:11:02 2005 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*     $NetBSD: Ovfork.S,v 1.4 2003/08/07 16:42:29 agc Exp $   */
-
-/*
- * Copyright (c) 1992, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT



Home | Main Index | Thread Index | Old Index