1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-26 21:20:30 +02:00

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.
This commit is contained in:
Paulo Andrade 2014-09-24 14:56:20 -03:00
parent 4d0e4b32a1
commit 52448473be
2 changed files with 360 additions and 0 deletions

View file

@ -1,3 +1,12 @@
2014-09-24 Paulo Andrade <pcpa@gnu.org>
* 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 <pcpa@gnu.org>
* check/lightning.c: Add workaround to conflicting global

View file

@ -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 */