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:
parent
1578e68ec3
commit
27526bcb0d
@ -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
|
||||
|
@ -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? */
|
||||
|
12
C/exec.c
12
C/exec.c
@ -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);
|
||||
}
|
||||
|
4
C/init.c
4
C/init.c
@ -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
|
||||
|
@ -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), \
|
||||
|
@ -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@
|
||||
|
22
configure.in
22
configure.in
@ -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
|
||||
|
Reference in New Issue
Block a user