mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-18 12:16:13 +08:00
Avoid parallel GCC install in build-many-glibcs.py.
A recent build-many-glibcs.py build <https://sourceware.org/ml/libc-testresults/2017-q1/msg00067.html> ran into what proves to be an old known bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42980> with parallel install of GCC (one which as discussed there might require automake changes to fix). This patch makes build-many-glibcs.py avoid such intermittent failures from parallel install by using -j1 for GCC make install (the code in question also applies to binutils make install, but it doesn't seem worth trying to avoid -j1 there; the builds and installs of different toolchains are still fully parallel with each other, this is only about the case when there are few enough of those that multiple jobs can get used within a single make install). * scripts/build-many-glibcs.py (Config.build_cross_tool): Use -j1 for make install.
This commit is contained in:
parent
0e8bac37d5
commit
cd880aa2cc
@ -1,3 +1,8 @@
|
||||
2017-01-18 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* scripts/build-many-glibcs.py (Config.build_cross_tool): Use -j1
|
||||
for make install.
|
||||
|
||||
2017-01-18 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
|
||||
* po/bg.po: Merge from Translation Project.
|
||||
|
@ -1173,7 +1173,17 @@ class Config(object):
|
||||
cfg_cmd.extend(extra_opts)
|
||||
cmdlist.add_command('configure', cfg_cmd)
|
||||
cmdlist.add_command('build', ['make'])
|
||||
cmdlist.add_command('install', ['make', 'install'])
|
||||
# Parallel "make install" for GCC has race conditions that can
|
||||
# cause it to fail; see
|
||||
# <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42980>. Such
|
||||
# problems are not known for binutils, but doing the
|
||||
# installation in parallel within a particular toolchain build
|
||||
# (as opposed to installation of one toolchain from
|
||||
# build-many-glibcs.py running in parallel to the installation
|
||||
# of other toolchains being built) is not known to be
|
||||
# significantly beneficial, so it is simplest just to disable
|
||||
# parallel install for cross tools here.
|
||||
cmdlist.add_command('install', ['make', '-j1', 'install'])
|
||||
cmdlist.cleanup_dir()
|
||||
cmdlist.pop_subdesc()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user