diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2021-01-09 06:51:15 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2021-01-09 06:51:51 -0800 |
commit | af019bfde9b13d628202fe58054ec7ff08d92a0f (patch) | |
tree | 803e80c09c6e656ecd8b2939fee19e4961cff0b0 /ChangeLog | |
parent | a4966cd965cd7269426ea096113df862c1dcdf34 (diff) | |
download | gdb-af019bfde9b13d628202fe58054ec7ff08d92a0f.zip gdb-af019bfde9b13d628202fe58054ec7ff08d92a0f.tar.gz gdb-af019bfde9b13d628202fe58054ec7ff08d92a0f.tar.bz2 |
Support the PGO build for binutils+gdb
Add the --enable-pgo-build[=lto] configure option. When binutils+gdb
is not built together with GCC, --enable-pgo-build enables the PGO build:
1. First build with -fprofile-generate.
2. Use "make maybe-check-*" to generate profiling data and pass -i to make
to ignore errors when generating profiling data.
3. Use "make clean" to remove the previous build.
4. Rebuild with -fprofile-use.
With --enable-pgo-build=lto, -flto=jobserver -ffat-lto-objects are used
together with -fprofile-generate and -fprofile-use. Add '+' to the command
line for recursive make to support -flto=jobserver -ffat-lto-objects.
NB: --enable-pgo-build=lto enables the PGO build with LTO while
--enable-lto enables LTO support in toolchain.
PR binutils/26766
* Makefile.tpl (BUILD_CFLAGS): New.
(CFLAGS): Append $(BUILD_CFLAGS).
(CXXFLAGS): Likewise.
(PGO_BUILD_GEN_FLAGS_TO_PASS): New.
(PGO_BUILD_TRAINING_CFLAGS): Likewise.
(PGO_BUILD_TRAINING_CXXFLAGS): Likewise.
(PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise.
(PGO_BUILD_TRAINING_MFLAGS): Likewise.
(PGO_BUILD_USE_FLAGS_TO_PASS): Likewise.
(PGO-TRAINING-TARGETS): Likewise.
(PGO_BUILD_TRAINING): Likewise.
(all): Add '+' to the command line for recursive make. Support
the PGO build.
* configure.ac: Add --enable-pgo-build[=lto].
AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and
PGO_BUILD_LTO_CFLAGS. Enable the PGO build in Makefile.
* Makefile.in: Regenerated.
* configure: Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1,5 +1,27 @@ 2021-01-09 H.J. Lu <hongjiu.lu@intel.com> + PR binutils/26766 + * Makefile.tpl (BUILD_CFLAGS): New. + (CFLAGS): Append $(BUILD_CFLAGS). + (CXXFLAGS): Likewise. + (PGO_BUILD_GEN_FLAGS_TO_PASS): New. + (PGO_BUILD_TRAINING_CFLAGS): Likewise. + (PGO_BUILD_TRAINING_CXXFLAGS): Likewise. + (PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise. + (PGO_BUILD_TRAINING_MFLAGS): Likewise. + (PGO_BUILD_USE_FLAGS_TO_PASS): Likewise. + (PGO-TRAINING-TARGETS): Likewise. + (PGO_BUILD_TRAINING): Likewise. + (all): Add '+' to the command line for recursive make. Support + the PGO build. + * configure.ac: Add --enable-pgo-build[=lto]. + AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and + PGO_BUILD_LTO_CFLAGS. Enable the PGO build in Makefile. + * Makefile.in: Regenerated. + * configure: Likewise. + +2021-01-09 H.J. Lu <hongjiu.lu@intel.com> + * Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@ (RANLIB): Add @RANLIB_PLUGIN_OPTION@. * configure.ac: Include config/gcc-plugin.m4. |