This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [hurd,commited] hurd: fix gcc build in build-many-glibcs.py


On Sat, 27 Jan 2018, Samuel Thibault wrote:

> gcc's libcilkrts has never actually supported GNU/Hurd, and doesn't
> automatically disable it, and the support was actually removed in gcc trunk,
> so that will never actually be fixed there.

I don't think this is the best approach for disabling libcilkrts.  
Followup patch committed.

Clean up build-many-glibcs.py libcilkrts disabling.

The disabling of libcilkrts in build-many-glibcs.py has some
peculiarities.  It's only for the final GCC build, not the initial
bootstrap one, whereas normally anything disabled for the final build
should be disabled for the bootstrap one as well.  And it's only for
Hurd, when it's more natural by analogy with the libsanitizer
disabling to disable this library unconditionally, not only for
targets where it's known to break.  This patch cleans up that
disabling accordingly, adding a comment so it's obvious it can be
removed once GCC 7 is too old to build glibc.

2018-01-29  Joseph Myers  <joseph@codesourcery.com>

	* scripts/build-many-glibcs.py (Config.build_gcc): Use
	--disable-libcilkrts unconditionally, not just for the final GCC
	build for Hurd.

diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index dad51a5..0c2ea85 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -1311,8 +1311,12 @@ class Config(object):
         # libsanitizer commonly breaks because of glibc header
         # changes, or on unusual targets.  libssp is of little
         # relevance with glibc's own stack checking support.
+        # libcilkrts does not support GNU/Hurd (and has been removed
+        # in GCC 8, so --disable-libcilkrts can be removed once glibc
+        # no longer supports building with older GCC versions).
         cfg_opts = list(self.gcc_cfg)
-        cfg_opts += ['--disable-libsanitizer', '--disable-libssp']
+        cfg_opts += ['--disable-libsanitizer', '--disable-libssp',
+                     '--disable-libcilkrts']
         host_libs = self.ctx.host_libraries_installdir
         cfg_opts += ['--with-gmp=%s' % host_libs,
                      '--with-mpfr=%s' % host_libs,
@@ -1343,8 +1347,6 @@ class Config(object):
             tool_build = 'gcc'
             cfg_opts += ['--enable-languages=c,c++', '--enable-shared',
                          '--enable-threads']
-            if self.os == 'gnu':
-                cfg_opts += ['--disable-libcilkrts']
         self.build_cross_tool(cmdlist, 'gcc', tool_build, cfg_opts)
 
 

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]