public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [hurd,commited] hurd: fix gcc build in build-many-glibcs.py
@ 2018-01-28  1:59 Samuel Thibault
  2018-01-29 16:28 ` Joseph Myers
  0 siblings, 1 reply; 2+ messages in thread
From: Samuel Thibault @ 2018-01-28  1:59 UTC (permalink / raw)
  To: libc-alpha; +Cc: Samuel Thibault

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.

	* scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass
	--disable-libcilkrts to gcc configure.
---
 ChangeLog                    | 2 ++
 scripts/build-many-glibcs.py | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 497b00f65a..88f6d93c12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,8 @@
 	instead of void *.
 	* sysdeps/pthread/timer_create.c (timer_create): Do not use
 	timer_ptr2id to cast struct timer_node * to void *.
+	* scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass
+	--disable-libcilkrts to gcc configure.
 
 2018-01-27  James Clarke  <jrtc27@jrtc27.com>
 
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 8a2e068577..fbb701e25d 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -1329,6 +1329,8 @@ 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)
 
 
-- 
2.15.1

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [hurd,commited] hurd: fix gcc build in build-many-glibcs.py
  2018-01-28  1:59 [hurd,commited] hurd: fix gcc build in build-many-glibcs.py Samuel Thibault
@ 2018-01-29 16:28 ` Joseph Myers
  0 siblings, 0 replies; 2+ messages in thread
From: Joseph Myers @ 2018-01-29 16:28 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: libc-alpha

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-01-29 13:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-28  1:59 [hurd,commited] hurd: fix gcc build in build-many-glibcs.py Samuel Thibault
2018-01-29 16:28 ` Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).