1*4d12bfcdSjoerg/* $NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $ */ 21394f01bSchristos 30b9f5089Scgd/* 40b9f5089Scgd * Copyright (c) 1992, 1993 50b9f5089Scgd * The Regents of the University of California. All rights reserved. 60b9f5089Scgd * 70b9f5089Scgd * This software was developed by the Computer Systems Engineering group 80b9f5089Scgd * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 90b9f5089Scgd * contributed to Berkeley. 100b9f5089Scgd * 110b9f5089Scgd * Redistribution and use in source and binary forms, with or without 120b9f5089Scgd * modification, are permitted provided that the following conditions 130b9f5089Scgd * are met: 140b9f5089Scgd * 1. Redistributions of source code must retain the above copyright 150b9f5089Scgd * notice, this list of conditions and the following disclaimer. 160b9f5089Scgd * 2. Redistributions in binary form must reproduce the above copyright 170b9f5089Scgd * notice, this list of conditions and the following disclaimer in the 180b9f5089Scgd * documentation and/or other materials provided with the distribution. 19eb7c1594Sagc * 3. Neither the name of the University nor the names of its contributors 200b9f5089Scgd * may be used to endorse or promote products derived from this software 210b9f5089Scgd * without specific prior written permission. 220b9f5089Scgd * 230b9f5089Scgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 240b9f5089Scgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 250b9f5089Scgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 260b9f5089Scgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 270b9f5089Scgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 280b9f5089Scgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 290b9f5089Scgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 300b9f5089Scgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 310b9f5089Scgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 320b9f5089Scgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 330b9f5089Scgd * SUCH DAMAGE. 340b9f5089Scgd * 350b9f5089Scgd * from: Header: ptrace.s,v 1.2 91/12/20 01:59:00 leres Exp 360b9f5089Scgd */ 370b9f5089Scgd 381394f01bSchristos#include <machine/asm.h> 391394f01bSchristos#if defined(SYSLIBC_SCCS) && !defined(lint) 401394f01bSchristos#if 0 410b9f5089Scgd .asciz "@(#)ptrace.s 8.1 (Berkeley) 6/4/93" 421394f01bSchristos#else 43*4d12bfcdSjoerg RCSID("$NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $") 441394f01bSchristos#endif 451394f01bSchristos#endif /* SYSLIBC_SCCS and not lint */ 460b9f5089Scgd 470b9f5089Scgd#include "SYS.h" 480b9f5089Scgd 490b9f5089ScgdENTRY(ptrace) 50286956e7Smartin#ifdef _REENTRANT 51286956e7Smartin save %sp, -CCFSZ, %sp 52286956e7Smartin call _C_LABEL(__errno) 53286956e7Smartin nop 54286956e7Smartin st %g0, [%o0] 552e1a5472Smartin restore 56286956e7Smartin#else 57*4d12bfcdSjoerg#ifdef __PIC__ 58e0bf9676Spk PIC_PROLOGUE(%g1,%g2) 59a34b3f87Suwe set _C_LABEL(errno), %g2 60a34b3f87Suwe ld [%g1 + %g2], %g1 61e0bf9676Spk st %g0, [%g1] 62e0bf9676Spk#else 63131c70b1Stv sethi %hi(_C_LABEL(errno)), %g1 64131c70b1Stv st %g0, [%g1 + %lo(_C_LABEL(errno))] 65e0bf9676Spk#endif 66286956e7Smartin#endif /* !_REENTRANT */ 670b9f5089Scgd mov SYS_ptrace, %g1 680b9f5089Scgd t ST_SYSCALL 690b9f5089Scgd bcc 1f 700b9f5089Scgd nop 710b9f5089Scgd ERROR() 720b9f5089Scgd1: 730b9f5089Scgd retl 740b9f5089Scgd nop 75