$(RM) process.ss ;; \
ppc_darwin* ) \
$(CC) ${LWP_DBG} ${LWP_OPTMZ} -c ${XCFLAGS} -I${TOP_INCDIR} ${srcdir}/process.s;; \
- i386_obsd31 | i386_obsd32 | i386_obsd33 ) \
+ i386_*bsd*) \
+ echo foo ; \
cp ${srcdir}/process.i386.s process.S ; \
- ${CC} -E -I${TOP_INCDIR} process.S >process.ss ; \
+ ${CC} -E -I${srcdir} -I${TOP_INCDIR} process.S >process.ss ; \
${AS} process.ss -o process.o ; \
$(RM) -f process.S ;;\
- i386_*bsd* ) \
- /usr/bin/cpp -P -I${TOP_INCDIR} ${srcdir}/process.i386.s > process.ss; \
- ${AS} -o process.o process.ss; \
- $(RM) process.ss ;; \
ncrx86_* | sunx86_*) \
/usr/ccs/lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.i386.s process.ss; \
${AS} -o process.o process.ss; \
--- /dev/null
+/*
+ * Copyright (c) 2000-2002 Kungliga Tekniska Högskolan
+ * (Royal Institute of Technology, Stockholm, Sweden).
+ * 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. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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.
+ */
+
+/*
+ * For common usage of elf platforms
+ *
+ * $Id$
+ */
+
+#ifndef _C_LABEL
+#if !defined(SYSV) && !defined(__ELF__) && !defined(AFS_SUN5_ENV)
+#ifdef __STDC__
+#define _C_LABEL(name) _##name
+#else
+#define _C_LABEL(name) _/**/name
+#endif
+#else /* SYSV || __ELF__ || AFS_SUN5_ENV */
+#define _C_LABEL(name) name
+#endif
+#endif /* _C_LABEL */
+
+#ifndef ENTRY
+#if !defined(SYSV) && !defined(__ELF__) && !defined(AFS_SUN5_ENV)
+#ifdef __STDC__
+#define ENTRY(name) _##name##:
+#else
+#define ENTRY(name) _/**/name/**/:
+#endif
+#else /* SYSV || __ELF__ || AFS_SUN5_ENV */
+#define ENTRY(name) name:
+#endif
+#endif /* _C_LABEL */
* "ojala que es correcto!"
*/
-#define IGNORE_STDS_H 1
-/*#ifndef AFS_DJGPP_ENV*/
-#include <afs/param.h>
-/*#endif /* AFS_DJGPP_ENV */
+#include <lwp_elf.h>
.file "process.s"
.set area1,12
.set newsp,16
+.globl _C_LABEL(PRE_Block)
+.globl _C_LABEL(savecontext)
-#if defined(AFS_DJGPP_ENV) || (defined(AFS_OBSD_ENV) && !defined (AFS_OBSD34_ENV))
-#define PRE_Block _PRE_Block
-#define savecontext _savecontext
-#define abort _abort
-#define returnto _returnto
-#endif /* AFS_DJGPP_ENV */
-
-.globl PRE_Block
-.globl savecontext
-
-savecontext:
+ENTRY(savecontext)
pushl %ebp /* New Frame! */
movl %esp,%ebp
pusha /* Push all registers */
- movl $1,PRE_Block /* Pre-emption code */
+ movl $1,_C_LABEL(PRE_Block) /* Pre-emption code */
movl area1(%ebp),%eax /* eax = base of savearea */
movl %esp,(%eax) /* area->topstack = esp */
movl newsp(%ebp),%eax /* get new sp into eax */
/* stack offset */
.set area2,8
-.globl returnto
+.globl _C_LABEL(returnto)
-returnto:
+ENTRY(returnto)
pushl %ebp
movl %esp, %ebp /* New frame, to get correct pointer */
movl area2(%ebp),%eax /* eax = area2 */
movl (%eax),%esp /* restore esp */
popa
- movl $0,PRE_Block /* clear it up... */
+ movl $0,_C_LABEL(PRE_Block) /* clear it up... */
popl %ebp
ret