public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Make build-many-glibcs.py use -fno-isolate-erroneous-paths options for tilepro [committed]
@ 2016-11-22  1:59 Joseph Myers
  0 siblings, 0 replies; only message in thread
From: Joseph Myers @ 2016-11-22  1:59 UTC (permalink / raw)
  To: libc-alpha

My most recent build-many-glibcs.py build with GCC mainline showed
build failures for tilepro with the symptoms (multiple definitions of
symbols building ld.so, see the build log referenced in the GCC bug
referenced in the comment for an example) that correspond to the
isolate-erroneous-paths optimization not being suitable for building
glibc unless the GCC port provides a trap pattern (so __builtin_trap
expands to an inline instruction rather than a call to abort).  Since
tilepro indeed lacks such as pattern in GCC, this patch duly arranges
for this optimization to be disabled when building for tilepro, as it
is for sh.

Tested (compilation only) for tilepro.  Committed.

2016-11-22  Joseph Myers  <joseph@codesourcery.com>

	* scripts/build-many-glibcs.py (Context.add_all_configs): Also use
	-fno-isolate-erroneous-paths options for tilepro.

diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 517dec4..63ea5fd 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -91,6 +91,11 @@ class Context(object):
 
     def add_all_configs(self):
         """Add all known glibc build configurations."""
+        # On architectures missing __builtin_trap support, these
+        # options may be needed as a workaround; see
+        # <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70216> for SH.
+        no_isolate = ('-fno-isolate-erroneous-paths-dereference'
+                      ' -fno-isolate-erroneous-paths-attribute')
         self.add_config(arch='aarch64',
                         os_name='linux-gnu')
         self.add_config(arch='aarch64_be',
@@ -260,10 +265,6 @@ class Context(object):
                         os_name='linux-gnu',
                         glibcs=[{},
                                 {'arch': 's390', 'ccopts': '-m31'}])
-        # SH is missing __builtin_trap support, so work around this;
-        # see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70216>.
-        no_isolate = ('-fno-isolate-erroneous-paths-dereference'
-                      ' -fno-isolate-erroneous-paths-attribute')
         self.add_config(arch='sh3',
                         os_name='linux-gnu',
                         glibcs=[{'ccopts': no_isolate}])
@@ -304,7 +305,8 @@ class Context(object):
                         glibcs=[{},
                                 {'variant': '32', 'ccopts': '-m32'}])
         self.add_config(arch='tilepro',
-                        os_name='linux-gnu')
+                        os_name='linux-gnu',
+                        glibcs=[{'ccopts': no_isolate}])
         self.add_config(arch='x86_64',
                         os_name='linux-gnu',
                         gcc_cfg=['--with-multilib-list=m64,m32,mx32'],

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-11-22  1:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-22  1:59 Make build-many-glibcs.py use -fno-isolate-erroneous-paths options for tilepro [committed] 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).