Something went wrong. Try again.
Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126/* * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in * compliance with the License. Please obtain a copy of the License at * http://www.opensource.apple.com/apsl/ and read it before using this * file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ *//* * Copyright 1996 1995 by Open Software Foundation, Inc. 1997 1996 1995 1994 1993 1992 1991 * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and * its documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appears in all copies and * that both the copyright notice and this permission notice appear in * supporting documentation. * * OSF DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE. * * IN NO EVENT SHALL OSF BE LIABLE FOR ANY SPECIAL, INDIRECT, OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT, * NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * *//* * MkLinux */
.text
#if defined(__ppc__) || defined(__ppc64__)#import <architecture/ppc/asm_help.h>#import <architecture/ppc/pseudo_inst.h>
/* * void *_sp(void) */
LEAF(__sp) mr r3,r1 blr
/* * void *_adjust_sp(void *sp) */LEAF(__adjust_sp) subi r3,r3,0x100 /* Stack frame padding */ blr
#elif defined(__i386__)
#import <architecture/i386/asm_help.h>/* * void *_sp(void) */
LEAF(__sp,0) movl %esp,%eax ret
/* * void *_adjust_sp(void *sp) */LEAF(__adjust_sp,0) movl 4(%esp),%eax subl $0x100,%eax ret
#elif defined(__x86_64__)
#import <architecture/i386/asm_help.h>/* * void *_sp(void) */
LEAF(__sp,0) movq %rsp,%rax ret
/* * void *_adjust_sp(void *sp) */LEAF(__adjust_sp,0) movq %rdi,%rax subq $0x100,%rax ret
#elif defined(__arm__)
#import <architecture/arm/asm_help.h>
LEAF(__sp,0) mov r0,sp bx lr
/* * void *_adjust_sp(void *sp) */LEAF(__adjust_sp,0) sub r0, r0, #0x100 bx lr
#else#error sp functions not defined for this architecture#endif