Fix mistake. Change jb by jbe. tiny c round (INT_MAX = 0x7FFFFFFF) to a DWORD boundary and it becomes 0x80000000. Jle treats as -214783648, but Jbe treats as 214783648. Thanks to Jason Hood for explain me this.

This commit is contained in:
Carlos Montiers 2014-07-10 20:41:51 -04:00
parent 8257829623
commit f2ee6b1759
3 changed files with 3 additions and 3 deletions

View File

@ -14,7 +14,7 @@ __bound_alloca:
#ifdef TCC_TARGET_PE
p4:
cmp $4096,%eax
jb p5
jbe p5
test %eax,-4096(%esp)
sub $4096,%esp
sub $4096,%eax

View File

@ -13,7 +13,7 @@ alloca:
#ifdef TCC_TARGET_PE
p1:
cmp $4096,%eax
jb p2
jbe p2
test %eax,-4096(%esp)
sub $4096,%esp
sub $4096,%eax

View File

@ -17,7 +17,7 @@ alloca:
#ifdef TCC_TARGET_PE
p1:
cmp $4096,%rax
jb p2
jbe p2
test %rax,-4096(%rsp)
sub $4096,%rsp
sub $4096,%rax