1 From 72f8c0bf6e342ffa80a6cd8460608cdda57bb30e Mon Sep 17 00:00:00 2001
2 From: Andy Fiddaman <illumos@fiddaman.net>
3 Date: Wed, 26 Oct 2022 12:53:51 +0000
4 Subject: Add -fforce-omit-frame-pointer
7 gcc/common.opt | 4 ++++
8 gcc/config/i386/i386-options.cc | 7 +++++--
9 2 files changed, 9 insertions(+), 2 deletions(-)
11 diff --git a/gcc/common.opt b/gcc/common.opt
12 index 9dad568d6e6..4896e4ad644 100644
15 @@ -2191,6 +2191,10 @@ fomit-frame-pointer
16 Common Var(flag_omit_frame_pointer) Optimization
17 When possible do not generate stack frames.
19 +fforce-omit-frame-pointer
20 +Common Var(flag_force_omit_frame_pointer) Optimization
21 +When possible, do not generate stack frames. Hinders debugging with mdb and dtrace.
24 Common Var(flag_opt_info) Optimization
25 Enable all optimization info dumps on stderr.
26 diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
27 index 6e4c774b965..d09c68578cf 100644
28 --- a/gcc/config/i386/i386-options.cc
29 +++ b/gcc/config/i386/i386-options.cc
30 @@ -2922,8 +2922,11 @@ ix86_option_override_internal (bool main_args_p,
31 * questionable benefit anyway, even on i386.
34 - flag_omit_frame_pointer = 0;
35 - opts->x_flag_omit_frame_pointer = 0;
36 + if (flag_force_omit_frame_pointer == 0)
38 + flag_omit_frame_pointer = 0;
39 + opts->x_flag_omit_frame_pointer = 0;
42 /* Save the initial options in case the user does function specific