aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authornotaz2010-11-21 16:49:37 +0200
committernotaz2010-11-21 21:38:21 +0200
commite80343e2eb43452aa1518f78a5cc62f7ac55b163 (patch)
tree16898ad10ecaa18f85b746cb9674f2841fd69f24 /libpcsxcore
parent3d624f890e4350179851e958fe071b2fd7a56bec (diff)
downloadpcsx_rearmed-e80343e2eb43452aa1518f78a5cc62f7ac55b163.tar.gz
pcsx_rearmed-e80343e2eb43452aa1518f78a5cc62f7ac55b163.tar.bz2
pcsx_rearmed-e80343e2eb43452aa1518f78a5cc62f7ac55b163.zip
make sure all branches link
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/new_dynarec/assem_arm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c
index 6d0a40d..4af1566 100644
--- a/libpcsxcore/new_dynarec/assem_arm.c
+++ b/libpcsxcore/new_dynarec/assem_arm.c
@@ -826,7 +826,13 @@ u_int genimm(u_int imm,u_int *encoded)
u_int genjmp(u_int addr)
{
int offset=addr-(int)out-8;
- if(offset<-33554432||offset>=33554432) return 0;
+ if(offset<-33554432||offset>=33554432) {
+ if (addr>2) {
+ printf("genjmp: out of range: %08x\n", offset);
+ exit(1);
+ }
+ return 0;
+ }
return ((u_int)offset>>2)&0xffffff;
}