openbsd-ports/lang/gcc/8/patches/patch-gcc_opts_c
pascal d5c575b948 Update to GCC 8.3.0, and regenerate bootstrap on amd64, hppa and powerpc.
Also tested on armv7, arm64 and sparc64.

Earlier diff from Brad.
2019-03-25 20:17:46 +00:00

52 lines
2.0 KiB
Plaintext

$OpenBSD: patch-gcc_opts_c,v 1.2 2019/03/25 20:17:47 pascal Exp $
Index: gcc/opts.c
--- gcc/opts.c.orig
+++ gcc/opts.c
@@ -47,6 +47,9 @@ const char *const debug_type_names[] =
((strncmp (prefix, string, sizeof prefix - 1) == 0) \
? ((string += sizeof prefix - 1), 1) : 0)
+int warn_stack_larger_than;
+HOST_WIDE_INT stack_larger_than_size;
+
void
set_struct_debug_option (struct gcc_options *opts, location_t loc,
const char *spec)
@@ -496,7 +499,6 @@ static const struct default_options default_options_ta
{ OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_fschedule_insns, NULL, 1 },
{ OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
#endif
- { OPT_LEVELS_2_PLUS, OPT_fstrict_aliasing, NULL, 1 },
{ OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_freorder_blocks_algorithm_, NULL,
REORDER_BLOCKS_ALGORITHM_STC },
{ OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
@@ -525,6 +527,7 @@ static const struct default_options default_options_ta
{ OPT_LEVELS_2_PLUS, OPT_fstore_merging, NULL, 1 },
/* -O3 optimizations. */
+ { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribution, NULL, 1 },
{ OPT_LEVELS_3_PLUS, OPT_floop_interchange, NULL, 1 },
@@ -816,6 +819,8 @@ finish_options (struct gcc_options *opts, struct gcc_o
opts->x_flag_pic = 0;
if (opts->x_flag_pic && !opts->x_flag_pie)
opts->x_flag_shlib = 1;
+ if (opts->x_profile_flag)
+ opts->x_flag_pie = 0;
opts->x_flag_opts_finished = true;
}
@@ -2077,6 +2082,11 @@ common_handle_option (struct gcc_options *opts,
case OPT_Wframe_larger_than_:
opts->x_frame_larger_than_size = value;
opts->x_warn_frame_larger_than = value != -1;
+ break;
+
+ case OPT_Wstack_larger_than_:
+ stack_larger_than_size = value;
+ warn_stack_larger_than = stack_larger_than_size != -1;
break;
case OPT_Wstack_usage_: