mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 13:09:48 +00:00
import gdb-2000-01-26 snapshot
This commit is contained in:
parent
cb26882951
commit
f743149ecb
@ -229,7 +229,7 @@ CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \
|
||||
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
||||
ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
|
||||
|
||||
VERSION = 20000124
|
||||
VERSION = 20000126
|
||||
DIST=gdb
|
||||
|
||||
LINT=/usr/5bin/lint
|
||||
|
@ -95,6 +95,7 @@ extern ARMword isize;
|
||||
#define CLEARV state->VFlag = 0
|
||||
#define ASSIGNV(res) state->VFlag = res
|
||||
|
||||
|
||||
#define IFLAG (state->IFFlags >> 1)
|
||||
#define FFLAG (state->IFFlags & 1)
|
||||
#define IFFLAGS state->IFFlags
|
||||
@ -367,6 +368,8 @@ extern unsigned ARMul_NthReg(ARMword instr,unsigned number) ;
|
||||
extern void ARMul_MSRCpsr(ARMul_State *state, ARMword instr, ARMword rhs) ;
|
||||
extern void ARMul_NegZero(ARMul_State *state, ARMword result) ;
|
||||
extern void ARMul_AddCarry(ARMul_State *state, ARMword a, ARMword b, ARMword result) ;
|
||||
extern int AddOverflow(ARMword a, ARMword b, ARMword result) ;
|
||||
extern int SubOverflow(ARMword a, ARMword b, ARMword result) ;
|
||||
extern void ARMul_AddOverflow(ARMul_State *state, ARMword a, ARMword b, ARMword result) ;
|
||||
extern void ARMul_SubCarry(ARMul_State *state, ARMword a, ARMword b, ARMword result) ;
|
||||
extern void ARMul_SubOverflow(ARMul_State *state, ARMword a, ARMword b, ARMword result) ;
|
||||
|
@ -391,6 +391,20 @@ void ARMul_NegZero(ARMul_State *state, ARMword result)
|
||||
else { CLEARN ; CLEARZ ; } ;
|
||||
}
|
||||
|
||||
/* Compute whether an addition of A and B, giving RESULT, overflowed. */
|
||||
int AddOverflow (ARMword a, ARMword b, ARMword result)
|
||||
{
|
||||
return ((NEG (a) && NEG (b) && POS (result))
|
||||
|| (POS (a) && POS (b) && NEG (result)));
|
||||
}
|
||||
|
||||
/* Compute whether a subtraction of A and B, giving RESULT, overflowed. */
|
||||
int SubOverflow (ARMword a, ARMword b, ARMword result)
|
||||
{
|
||||
return ((NEG (a) && POS (b) && POS (result))
|
||||
|| (POS (a) && NEG (b) && NEG (result)));
|
||||
}
|
||||
|
||||
/***************************************************************************\
|
||||
* Assigns the C flag after an addition of a and b to give result *
|
||||
\***************************************************************************/
|
||||
@ -408,9 +422,8 @@ void ARMul_AddCarry(ARMul_State *state, ARMword a,ARMword b,ARMword result)
|
||||
|
||||
void ARMul_AddOverflow(ARMul_State *state, ARMword a,ARMword b,ARMword result)
|
||||
{
|
||||
ASSIGNV( (NEG(a) && NEG(b) && POS(result)) ||
|
||||
(POS(a) && POS(b) && NEG(result)) ) ;
|
||||
}
|
||||
ASSIGNV (AddOverflow (a, b, result));
|
||||
}
|
||||
|
||||
/***************************************************************************\
|
||||
* Assigns the C flag after an subtraction of a and b to give result *
|
||||
@ -429,8 +442,7 @@ ASSIGNC( (NEG(a) && POS(b)) ||
|
||||
|
||||
void ARMul_SubOverflow(ARMul_State *state,ARMword a,ARMword b,ARMword result)
|
||||
{
|
||||
ASSIGNV( (NEG(a) && POS(b) && POS(result)) ||
|
||||
(POS(a) && NEG(b) && NEG(result)) ) ;
|
||||
ASSIGNV (SubOverflow (a, b, result));
|
||||
}
|
||||
|
||||
/***************************************************************************\
|
||||
|
@ -222,6 +222,7 @@ extern DI EXTQIDI (QI);
|
||||
#else
|
||||
#define EXTQIDI(x) ((DI) (QI) (x))
|
||||
#endif
|
||||
#define EXTHIHI(x) ((HI) (HI) (x))
|
||||
#define EXTHISI(x) ((SI) (HI) (x))
|
||||
#define EXTSISI(x) ((SI) (SI) (x))
|
||||
#if defined (DI_FN_SUPPORT)
|
||||
|
Loading…
Reference in New Issue
Block a user