-
Notifications
You must be signed in to change notification settings - Fork 3
/
optimize.patch
48 lines (43 loc) · 1.43 KB
/
optimize.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 50dc3d9ddca091fcb61a5c3e2c5d19636bb9c04a Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@linux.intel.com>
Date: Fri, 15 Apr 2016 12:15:56 -0500
Subject: [PATCH] optimize
make optimize increasing only
This patch is trying to catch the cases where we as OS pass -O3
and then some package makefile overrides with -O2.
And let O0 go through as a special case.
---
gcc/opts.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gcc/opts.c b/gcc/opts.c
index 39c190d..89b7d9a 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -569,7 +569,12 @@ default_options_optimization (struct gcc_options *opts,
"integer, %<g%>, %<s%> or %<fast%>");
else
{
- opts->x_optimize = optimize_val;
+ /* Keep higher opts value */
+ if (optimize_val > opts->x_optimize)
+ opts->x_optimize = optimize_val;
+ /* But honors 0 opts */
+ if (optimize_val == 0)
+ opts->x_optimize = optimize_val;
if ((unsigned int) opts->x_optimize > 255)
opts->x_optimize = 255;
opts->x_optimize_size = 0;
--
2.8.1
--- gcc-6.3.0/gcc/opts.c~ 2016-03-17 15:11:35.000000000 +0000
+++ gcc-6.3.0/gcc/opts.c 2017-03-31 23:21:13.547230665 +0000
@@ -568,7 +568,8 @@
case OPT_O:
if (*opt->arg == '\0')
{
- opts->x_optimize = 1;
+ if (opts->x_optimize == 0)
+ opts->x_optimize = 1;
opts->x_optimize_size = 0;
opts->x_optimize_fast = 0;
opts->x_optimize_debug = 0;