Skip libstdc++ debug build in early bootstrap stages
As mentioned in PR 90770, this is a patch that Debian have been carrying for some time. The additional unoptimized copies of libstdc++ libs that get built during each stage are never going to be used, so don't bother building them. For a profiled bootstrap this means we won't train the compiler on the unoptimized library code with assertions enabled, but that doesn't seem like a big problem, as the same code has already been compiled once for the main libstdc++ library. * acinclude.m4 (GLIBCXX_ENABLE_DEBUG): Only do debug build for final stage of bootstrap. * configure: Regenerate. From-SVN: r272509
This commit is contained in:
parent
d306dee31d
commit
86f73527aa
3 changed files with 31 additions and 3 deletions
|
@ -1,5 +1,9 @@
|
|||
2019-06-20 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* acinclude.m4 (GLIBCXX_ENABLE_DEBUG): Only do debug build for final
|
||||
stage of bootstrap.
|
||||
* configure: Regenerate.
|
||||
|
||||
* include/std/variant (_Variant_storage, _Extra_visit_slot_needed):
|
||||
Qualify calls to __never_valueless.
|
||||
|
||||
|
|
|
@ -2899,8 +2899,20 @@ dnl Where DEFAULT is either `yes' or `no'.
|
|||
dnl
|
||||
AC_DEFUN([GLIBCXX_ENABLE_DEBUG], [
|
||||
AC_MSG_CHECKING([for additional debug build])
|
||||
skip_debug_build=
|
||||
GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library])
|
||||
AC_MSG_RESULT($enable_libstdcxx_debug)
|
||||
if test x$enable_libstdcxx_debug = xyes; then
|
||||
if test -f $toplevel_builddir/../stage_final \
|
||||
&& test -f $toplevel_builddir/../stage_current; then
|
||||
stage_final=`cat $toplevel_builddir/../stage_final`
|
||||
stage_current=`cat $toplevel_builddir/../stage_current`
|
||||
if test x$stage_current != x$stage_final ; then
|
||||
skip_debug_build=" (skipped for bootstrap stage $stage_current)"
|
||||
enable_libstdcxx_debug=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($enable_libstdcxx_debug$skip_debug_build)
|
||||
GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
|
||||
])
|
||||
|
||||
|
|
16
libstdc++-v3/configure
vendored
16
libstdc++-v3/configure
vendored
|
@ -18257,6 +18257,7 @@ $as_echo "$as_me: Debug build flags set to $DEBUG_FLAGS" >&6;}
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional debug build" >&5
|
||||
$as_echo_n "checking for additional debug build... " >&6; }
|
||||
skip_debug_build=
|
||||
# Check whether --enable-libstdcxx-debug was given.
|
||||
if test "${enable_libstdcxx_debug+set}" = set; then :
|
||||
enableval=$enable_libstdcxx_debug;
|
||||
|
@ -18270,8 +18271,19 @@ else
|
|||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libstdcxx_debug" >&5
|
||||
$as_echo "$enable_libstdcxx_debug" >&6; }
|
||||
if test x$enable_libstdcxx_debug = xyes; then
|
||||
if test -f $toplevel_builddir/../stage_final \
|
||||
&& test -f $toplevel_builddir/../stage_current; then
|
||||
stage_final=`cat $toplevel_builddir/../stage_final`
|
||||
stage_current=`cat $toplevel_builddir/../stage_current`
|
||||
if test x$stage_current != x$stage_final ; then
|
||||
skip_debug_build=" (skipped for bootstrap stage $stage_current)"
|
||||
enable_libstdcxx_debug=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_libstdcxx_debug$skip_debug_build" >&5
|
||||
$as_echo "$enable_libstdcxx_debug$skip_debug_build" >&6; }
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue