x86/cet: Use unsigned integer to unwind shadow stack

Use unsigned integer to unwind shadow stack by replacing jle with jbe and
jg with ja.

	PR target/85489
	* config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.

From-SVN: r259559
This commit is contained in:
H.J. Lu 2018-04-23 12:29:00 +00:00 committed by H.J. Lu
parent 9ba5e5fcee
commit 0ef9f21d3c
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2018-04-23 H.J. Lu <hongjiu.lu@intel.com>
PR target/85489
* config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.
2018-04-19 Jakub Jelinek <jakub@redhat.com>
* configure: Regenerated.

View File

@ -235,7 +235,7 @@ SYM(GTM_longjmp):
/* If # of frames is greater 255 then loop
and adjust. */
cmpq $255, %rcx
jle .L3
jbe .L3
movl $255, %edi
.p2align 4,,10
.p2align 3
@ -243,7 +243,7 @@ SYM(GTM_longjmp):
incsspq %rdi
subq $255, %rcx
cmpq $255, %rcx
jg .L4
ja .L4
.L3:
incsspq %rcx
.L1:
@ -273,7 +273,7 @@ SYM(GTM_longjmp):
/* If # of frames is greater 255 then loop
and adjust. */
cmpl $255, %ecx
jle .L3
jbe .L3
pushl %eax
movl $255, %eax
.p2align 4,,10
@ -282,7 +282,7 @@ SYM(GTM_longjmp):
incsspd %eax
subl $255, %ecx
cmpl $255, %ecx
jg .L4
ja .L4
popl %eax
.L3:
incsspd %ecx