improve support for cross-compilation with simplesimscalar

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@117 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2001-07-05 16:14:15 +00:00
parent 1578e68ec3
commit 27526bcb0d
8 changed files with 1040 additions and 908 deletions

View File

@ -1897,7 +1897,7 @@ AssignPerm(PInstr *pc)
else
v->NoOfVE = v->KindOfVE = TempVar;
}
} else if (pc->op == pc->op == empty_call_op) {
} else if (pc->op == empty_call_op) {
pc->rnd2 = nperm;
} else if (pc->op == call_op || pc->op == either_op || pc->op == orelse_op || pc->op == push_or_op) {
#ifdef LOCALISE_VOIDS

View File

@ -2958,10 +2958,12 @@ clean_lu_index(DBRef index) {
if (!DBREF_IN_USE(ref)) {
UNLOCK(ref->lock);
RemoveDBEntry(ref);
} else
} else {
UNLOCK(ref->lock);
} else
}
} else {
UNLOCK(ref->lock);
}
}
UNLOCK(index->lock);
/* can I get rid of this index? */

View File

@ -1018,14 +1018,16 @@ execute_goal(Term t, int nargs)
}
pe = GetPredProp(a, arity);
ppe = RepPredProp(pe);
if (pe != NIL)
if (pe != NIL) {
READ_LOCK(ppe->PRWLock);
}
if (pe == NIL ||
ppe->OpcodeOfPred == UNDEF_OPCODE ||
ppe->PredFlags & (UserCPredFlag|CPredFlag|BasicPredFlag) )
{
if (pe != NIL)
if (pe != NIL) {
READ_UNLOCK(ppe->PRWLock);
}
return(CallMetaCall());
}
CodeAdr = RepPredProp (PredProp (a, arity))->CodeOfPred;
@ -1172,14 +1174,16 @@ RunTopGoal(Term t)
}
pe = GetPredProp(a, arity);
ppe = RepPredProp(pe);
if (pe != NIL)
if (pe != NIL) {
READ_LOCK(ppe->PRWLock);
}
if (pe == NIL ||
ppe->OpcodeOfPred == UNDEF_OPCODE ||
ppe->PredFlags & (UserCPredFlag|CPredFlag|BasicPredFlag) )
{
if (pe != NIL)
if (pe != NIL) {
READ_UNLOCK(ppe->PRWLock);
}
/* we must always start the emulator with Prolog code */
return(FALSE);
}

View File

@ -1087,8 +1087,8 @@ InitStacks(int Heap,
/* sanity checking for data areas */
if (Trail < MinTrailSpace)
Trail = MinTrailSpace;
// if (Stack < MinStackSpace)
// Stack = MinStackSpace;
if (Stack < MinStackSpace)
Stack = MinStackSpace;
#if defined(YAPOR) || defined(TABLING)
{
#ifdef USE_HEAP

View File

@ -479,11 +479,7 @@ p_minus(Term t1, Term t2 E_ARGS)
#ifdef __GNUC__
#ifdef __i386__
#define DO_MULTI() { Int tmp1; \
__asm__ ("imull %3
movl $0,%1
jno 0f
movl $1,%1
0:" \
__asm__ ("imull %3\n\t movl $0,%1\n\t jno 0f\n\t movl $1,%1\n\t 0:" \
: "=a" (z), \
"=d" (tmp1) \
: "a" (i1), \

View File

@ -70,6 +70,7 @@ M4GENABSMI=$(srcdir)/@M4GENABSMI@
INDENT=@INDENT@
SHELL=/bin/sh
RANLIB=@RANLIB@
AR=@AR@
srcdir=@srcdir@
SHLIB_SUFFIX=@SHLIB_SUFFIX@
MAKEINFO=makeinfo
@ -439,14 +440,14 @@ mycb: $(srcdir)/mycb.c
startup: yap $(PL_SOURCES)
-rm -f startup
echo "['$(srcdir)/pl/init.yap']. save_program(startup)." | ./yap -b $(srcdir)/pl/boot.yap
echo "['$(srcdir)/pl/init.yap']. save_program(startup)." | @CROSS_SIMULATOR@ ./yap -b $(srcdir)/pl/boot.yap
yap: $(HEADERS) yap.o @YAPLIB@
$(CC) $(STANDARD_CFLAGS) $(LDFLAGS) -o yap yap.o @YAPLIB@ $(LIBS)
libYap.a: $(LIB_OBJECTS)
-rm -f libYap.a
ar rc libYap.a $(LIB_OBJECTS)
$(AR) rc libYap.a $(LIB_OBJECTS)
$(RANLIB) libYap.a
install: @INSTALL_COMMAND@

1891
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -11,13 +11,6 @@ AC_PROG_CC
AC_SUBST(GCC)
AC_SUBST(C_INTERF_FLAGS)
dnl Checks for programs.
AC_PROG_LN_S
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_CHECK_PROGS(INDENT,indent true)
AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin)
AC_ARG_ENABLE(rational-trees,
[ --enable-rational-trees support infinite rational trees ],
rationaltrees="$enableval" ; rationaltrees=no)
@ -119,6 +112,12 @@ then
fi
fi
fi
if test "$CC" = "sslittle-na-sstrix-gcc"
then
RANLIB="sslittle-na-sstrix-ranlib"
AR="sslittle-na-sstrix-ar"
CROSS_SIMULATOR="sim-fast"
fi
else
if test -z "${mycflags}"
then
@ -159,7 +158,16 @@ else
C_INTERF_FLAGS="$CFLAGS"
fi
dnl Checks for programs.
AC_PROG_LN_S
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_CHECK_TOOL(INDENT,indent,true)
AC_CHECK_TOOL(AR,ar,true)
AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin)
AC_SUBST(INSTALL_COMMAND)
AC_SUBST(CROSS_SIMULATOR)
dnl Check for libraries.
dnl mingw does not get along well with libm