From 0ef9f21d3c4de3a6af258338523d35ea6c4d492f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 23 Apr 2018 12:29:00 +0000 Subject: [PATCH] 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 --- libitm/ChangeLog | 5 +++++ libitm/config/x86/sjlj.S | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 53fe89749a9..7f6a24f1a60 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,8 @@ +2018-04-23 H.J. Lu + + PR target/85489 + * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja. + 2018-04-19 Jakub Jelinek * configure: Regenerated. diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S index ee61451394a..2345b2f4ec4 100644 --- a/libitm/config/x86/sjlj.S +++ b/libitm/config/x86/sjlj.S @@ -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 -- 2.30.2