PR 85025: libgcc/config/i386/shadow-stack-unwind.h is wrong

Message ID D511F25789BA7F4EBA64C8A63891A002AFAFDFE2@IRSMSX102.ger.corp.intel.com
State New
Headers show
Series
  • PR 85025: libgcc/config/i386/shadow-stack-unwind.h is wrong
Related show

Commit Message

Tsimbalist, Igor V March 22, 2018, 11:11 a.m.
The incspp instruction from CET accepts only the value in the range of 0-255.
The patch fixes the typo in the loop to handle this.

I'm checking in the fix as obvious.

Thanks,
Igor

       PR target/85025
       * config/i386/shadow-stack-unwind.h: Fix a typo, tmp => 255.


Igor

Comments

H.J. Lu March 22, 2018, 11:15 a.m. | #1
On Thu, Mar 22, 2018 at 4:11 AM, Tsimbalist, Igor V
<igor.v.tsimbalist@intel.com> wrote:
> The incspp instruction from CET accepts only the value in the range of 0-255.

> The patch fixes the typo in the loop to handle this.

>

> I'm checking in the fix as obvious.

>

> Thanks,

> Igor

>

>        PR target/85025

>        * config/i386/shadow-stack-unwind.h: Fix a typo, tmp => 255.


Please add "(_Unwind_Frames_Extra)".

Thanks.

> Index: libgcc/config/i386/shadow-stack-unwind.h

> ===================================================================

> --- libgcc/config/i386/shadow-stack-unwind.h    (revision 258760)

> +++ libgcc/config/i386/shadow-stack-unwind.h    (working copy)

> @@ -42,7 +42,7 @@

>           _Unwind_Word tmp = (x);               \

>           while (tmp > 255)                     \

>             {                                   \

> -             _inc_ssp (tmp);                   \

> +             _inc_ssp (255);                   \

>               tmp -= 255;                       \

>             }                                   \

>           _inc_ssp (tmp);                       \

>

> Igor

>

>




-- 
H.J.

Patch

Index: libgcc/config/i386/shadow-stack-unwind.h
===================================================================
--- libgcc/config/i386/shadow-stack-unwind.h    (revision 258760)
+++ libgcc/config/i386/shadow-stack-unwind.h    (working copy)
@@ -42,7 +42,7 @@ 
          _Unwind_Word tmp = (x);               \
          while (tmp > 255)                     \
            {                                   \
-             _inc_ssp (tmp);                   \
+             _inc_ssp (255);                   \
              tmp -= 255;                       \
            }                                   \
          _inc_ssp (tmp);                       \