[Bug libitm/85489] New: config/x86/sjlj.S should use unsigned integer to unwind shadow stack

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Apr 21 01:04:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85489

            Bug ID: 85489
           Summary: config/x86/sjlj.S should use unsigned integer to
                    unwind shadow stack
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libitm
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: igor.v.tsimbalist at intel dot com
            Blocks: 81652
  Target Milestone: ---
            Target: x86_64-*-*, i?86-*-*

config/x86/sjlj.S has

        cmpq    $255, %rcx
        jle     .L3 
        ^^^ Should be "jbe".
        movl    $255, %edi
        .p2align 4,,10
        .p2align 3
.L4:
        incsspq %rdi
        subq    $255, %rcx
        cmpq    $255, %rcx
        jg      .L4
        ^^^ Should be "ja".
.L3:
        incsspq %rcx
.L1:

and

        cmpl    $255, %ecx
        jle     .L3
        ^^^ Should be "jbe".
        pushl   %eax
        movl    $255, %eax
        .p2align 4,,10
        .p2align 3
.L4:
        incsspd %eax
        subl    $255, %ecx
        cmpl    $255, %ecx
        jg      .L4
        ^^^ Should be "ja".
        popl    %eax
.L3:
        incsspd %ecx
.L1:


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81652
[Bug 81652] [meta-bug] -fcf-protection=full bugs


More information about the Gcc-bugs mailing list