guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 308/437: x86: Update instruction size information for Wi


From: Andy Wingo
Subject: [Guile-commits] 308/437: x86: Update instruction size information for Windows x64
Date: Mon, 2 Jul 2018 05:14:42 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 52448473be701a3b992d9cbc803eb31794966b69
Author: Paulo Andrade <address@hidden>
Date:   Wed Sep 24 14:56:20 2014 -0300

    x86: Update instruction size information for Windows x64
    
        * lib/jit_x86-sz.c: Generate information about instruction
        lengths for more precise calculation of buffer size on
        Windows x64. This change is specially important because
        the maximum instruction length is larger than other
        systems, what could cause an out of bounds write on
        special conditions without this update.
---
 ChangeLog        |   9 ++
 lib/jit_x86-sz.c | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 360 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 059f0ac..fa8b3eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2014-09-24 Paulo Andrade <address@hidden>
 
+       * lib/jit_x86-sz.c: Generate information about instruction
+       lengths for more precise calculation of buffer size on
+       Windows x64. This change is specially important because
+       the maximum instruction length is larger than other
+       systems, what could cause an out of bounds write on
+       special conditions without this update.
+
+2014-09-24 Paulo Andrade <address@hidden>
+
        * check/lightning.c: Add workaround to conflicting global
        optind variable in cygwin binutils that have an internal
        getopt* implementation.
diff --git a/lib/jit_x86-sz.c b/lib/jit_x86-sz.c
index 2e76e0c..b8c9af3 100644
--- a/lib/jit_x86-sz.c
+++ b/lib/jit_x86-sz.c
@@ -350,6 +350,356 @@
 #endif /* __WORDSIZE */
 
 #if __WORDSIZE == 64
+#if __CYGWIN__
+#define JIT_INSTR_MAX 71
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    7,
+    71,
+    0,
+    4,
+    13,
+    6,
+    13,
+    6,
+    7,
+    6,
+    13,
+    9,
+    13,
+    9,
+    7,
+    7,
+    14,
+    20,
+    30,
+    20,
+    30,
+    22,
+    29,
+    23,
+    30,
+    25,
+    32,
+    26,
+    33,
+    22,
+    29,
+    23,
+    30,
+    6,
+    13,
+    6,
+    13,
+    6,
+    13,
+    9,
+    8,
+    9,
+    7,
+    9,
+    7,
+    6,
+    6,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    13,
+    14,
+    3,
+    10,
+    7,
+    7,
+    4,
+    4,
+    3,
+    3,
+    6,
+    4,
+    15,
+    4,
+    15,
+    4,
+    15,
+    4,
+    15,
+    3,
+    14,
+    3,
+    14,
+    3,
+    14,
+    5,
+    8,
+    5,
+    8,
+    5,
+    8,
+    5,
+    8,
+    4,
+    7,
+    4,
+    6,
+    4,
+    7,
+    6,
+    17,
+    4,
+    15,
+    3,
+    14,
+    3,
+    14,
+    7,
+    7,
+    5,
+    5,
+    4,
+    6,
+    4,
+    8,
+    9,
+    10,
+    9,
+    10,
+    9,
+    13,
+    9,
+    10,
+    9,
+    19,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    19,
+    9,
+    13,
+    9,
+    13,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    9,
+    10,
+    3,
+    5,
+    3,
+    13,
+    68,
+    0,
+    10,
+    21,
+    15,
+    21,
+    10,
+    21,
+    15,
+    21,
+    15,
+    15,
+    5,
+    16,
+    31,
+    16,
+    31,
+    18,
+    33,
+    16,
+    31,
+    16,
+    31,
+    20,
+    35,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    16,
+    31,
+    5,
+    5,
+    5,
+    5,
+    5,
+    15,
+    5,
+    16,
+    6,
+    8,
+    5,
+    16,
+    6,
+    9,
+    10,
+    21,
+    10,
+    24,
+    12,
+    27,
+    10,
+    25,
+    10,
+    25,
+    13,
+    28,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    10,
+    25,
+    0,
+    10,
+    25,
+    15,
+    25,
+    10,
+    25,
+    15,
+    25,
+    22,
+    16,
+    5,
+    17,
+    32,
+    17,
+    32,
+    19,
+    34,
+    17,
+    32,
+    17,
+    32,
+    21,
+    36,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    17,
+    32,
+    5,
+    5,
+    5,
+    5,
+    5,
+    15,
+    5,
+    16,
+    6,
+    8,
+    5,
+    16,
+    6,
+    9,
+    11,
+    26,
+    11,
+    26,
+    13,
+    28,
+    11,
+    26,
+    11,
+    26,
+    14,
+    29,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    11,
+    26,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+    0,
+#else
+
 #define JIT_INSTR_MAX 43
     0,
     0,
@@ -697,4 +1047,5 @@
     0,
     0,
     0,
+#endif /* __CYGWIN__ */
 #endif /* __WORDSIZE */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]