aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCarlos Montiers <carlos@thefunsouth.com>2014-07-10 20:41:51 -0400
committerCarlos Montiers <carlos@thefunsouth.com>2014-07-10 20:41:51 -0400
commitf2ee6b1759af005a060d638676a3e12ab8e42f9d (patch)
treeddf0531d715ea79e40cf37a8d89ac95b3d5516dd /lib
parent8257829623d484229c9785deedd05375c5732493 (diff)
downloadtinycc-f2ee6b1759af005a060d638676a3e12ab8e42f9d.tar.gz
tinycc-f2ee6b1759af005a060d638676a3e12ab8e42f9d.tar.bz2
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.
Diffstat (limited to 'lib')
-rw-r--r--lib/alloca86-bt.S2
-rw-r--r--lib/alloca86.S2
-rw-r--r--lib/alloca86_64.S2
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/alloca86-bt.S b/lib/alloca86-bt.S
index ff07bbb..5215505 100644
--- a/lib/alloca86-bt.S
+++ b/lib/alloca86-bt.S
@@ -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
diff --git a/lib/alloca86.S b/lib/alloca86.S
index 5bb38b1..a17e07f 100644
--- a/lib/alloca86.S
+++ b/lib/alloca86.S
@@ -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
diff --git a/lib/alloca86_64.S b/lib/alloca86_64.S
index 51acd42..4a74104 100644
--- a/lib/alloca86_64.S
+++ b/lib/alloca86_64.S
@@ -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