/* Pull in whatever this particular arch's kernel thinks the kernel version of
* struct stat should look like. It turns out that each arch has a different
* opinion on the subject, and different kernel revs use different names... */
+#if defined(__sparc_v9__) && (__WORDSIZE == 64)
+#define kernel_stat64 stat
+#else
#define kernel_stat stat
+#endif
#include <bits/kernel_stat.h>
#include <bits/kernel_types.h>
.global _start\n\
.type _start,%function\n\
.align 32\n\
+ .register %g2, #scratch\n\
_start:\n\
/* Allocate space for functions to drop their arguments. */\n\
sub %sp, 6*4, %sp\n\
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include "sparc64/memchr.S"
+#include "../../sparc64/memchr.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include "sparc64/sparcv9b/memcpy.S"
+#include "../../sparc64/sparcv9b/memcpy.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/memset.S>
+#include "../../sparc64/memset.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/stpcpy.S>
+#include "../../sparc64/stpcpy.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/strcat.S>
+#include "../../sparc64/strcat.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/strchr.S>
+#include "../../sparc64/strchr.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/strcmp.S>
+#include "../../sparc64/strcmp.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/strcpy.S>
+#include "../../sparc64/strcpy.S"
#define ASI_PNF 0x82
#define ASI_BLK_P 0xf0
#define XCC icc
-#include <sparc64/strlen.S>
+#include "../../sparc64/strlen.S"
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-CSRC := brk.c __syscall_error.c
+CSRC := brk.c __syscall_error.c qp_ops.c
SSRC := \
__longjmp.S fork.S vfork.S clone.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \
.type __longjmp,%function
.align 4
__longjmp:
-
+ .register %g2, #scratch
+ .register %g3, #scratch
/* Store our arguments in global registers so we can still
* use them while unwinding frames and their register windows. */
#include <bits/wordsize.h>
#define __ASSEMBLY__
+#ifndef __sparc_v9__
#include <asm/traps.h>
+#endif
/* Is alignment really needed? */
#include <bits/wordsize.h>
-#if __WORDSIZE == 64
+#if 0 /*__WORDSIZE == 64*/
#ifndef _ASM
typedef struct __sparc64_jmp_buf