]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gprof: Compile tst-gmon.c with -O2 -fno-omit-frame-pointer
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 8 Mar 2025 09:13:17 +0000 (17:13 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 8 Mar 2025 10:38:01 +0000 (18:38 +0800)
Compile tst-gmon.c with -O2 -fno-omit-frame-pointer to ensure proper call
graph generation.

PR gprof/32768
* configure.ac: Compile tst-gmon.c with -fno-omit-frame-pointer.
* configure: Regenerated.
* testsuite/Makefile.am (GPROF_FLAGS): Add -O2
-fno-omit-frame-pointer.
(AM_CFLAGS): Removed.
(COMPILE): Append $(GPROF_FLAGS).
(LINK): Likewise.
* testsuite/Makefile.in: Regenerated.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
gprof/configure
gprof/configure.ac
gprof/testsuite/Makefile.am
gprof/testsuite/Makefile.in

index b830da03289f624caac41ca04009e40e18875ee9..2acae7bcd0a836b11542e240e05da85ce6b316da 100755 (executable)
@@ -13972,7 +13972,7 @@ if ${gprof_cv_sys_native+:} false; then :
 else
     gprof_cv_sys_native=no
   if test x"${host}" = x"${target}" \
-     && ${CC-cc} -O2 -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
+     && ${CC-cc} -O2 -fno-omit-frame-pointer -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
     rm -f gmon.out
     ./tst-gmon
     if test -s gmon.out; then
index f74da7d309aabc8d50b38a4684d623f1a1c60c6c..166e16cbb3d686f27a20052f7f2d8b3bcbc3bc56 100644 (file)
@@ -77,7 +77,7 @@ AC_CACHE_CHECK([whether gprof tests can run],
   [gprof_cv_sys_native], [dnl
   gprof_cv_sys_native=no
   if test x"${host}" = x"${target}" \
-     && ${CC-cc} -O2 -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
+     && ${CC-cc} -O2 -fno-omit-frame-pointer -pg -o tst-gmon $srcdir/testsuite/tst-gmon.c; then
     rm -f gmon.out
     ./tst-gmon
     if test -s gmon.out; then
index 7cc95e33f1b749933067f8b6bf3293121005338d..6a3eb7262944bbe8ed550877f1cc0e4ce70d5f20 100644 (file)
@@ -4,13 +4,13 @@ AUTOMAKE_OPTIONS = foreign
 
 GPROF = ../gprof$(EXEEXT)
 
-GPROF_FLAGS = -pg
-
-AM_CFLAGS = $(GPROF_FLAGS)
+# NB: -O2 -fno-omit-frame-pointer is needed for expected call graph.  See
+# https://sourceware.org/bugzilla/show_bug.cgi?id=32768
+GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg
 
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(GPROF_FLAGS)
+LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) $(GPROF_FLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 
 # We will add to these later, for each individual test.  Note
index 91d2854c4389c58af49c36c99f2f06d9e5f9bc95..3e26c2c952cbc54c733bd22d907e9e776debd5e8 100644 (file)
@@ -493,12 +493,14 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = foreign
 GPROF = ../gprof$(EXEEXT)
-GPROF_FLAGS = -pg
-AM_CFLAGS = $(GPROF_FLAGS)
+
+# NB: -O2 -fno-omit-frame-pointer is needed for expected call graph.  See
+# https://sourceware.org/bugzilla/show_bug.cgi?id=32768
+GPROF_FLAGS = -O2 -fno-omit-frame-pointer -pg
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(GPROF_FLAGS)
 
-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) \
+LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(OPT_NO_PLUGINS) $(GPROF_FLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@