]> sourceware.org Git - glibc.git/commitdiff
Make build-many-glibcs.py use -fno-isolate-erroneous-paths options for tilepro.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 22 Nov 2016 01:58:26 +0000 (01:58 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 22 Nov 2016 01:58:26 +0000 (01:58 +0000)
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.

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

ChangeLog
scripts/build-many-glibcs.py

index 8fe997a5c0b437683207819f60b2f7531df58577..d54089db4ecd9eb349f074c5ef1e02eacb57b367 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 2016-11-21  Steve Ellcey  <sellcey@caviumnetworks.com>
 
        * sysdeps/unix/sysv/linux/generic/kernel_stat.h: Set XSTAT_IS_XSTAT64
index 517dec4974aeed720b84aa07fe065a0d33f0fa1a..63ea5fda0abc4b557102f50feaf1114b7030c4ba 100755 (executable)
@@ -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'],
This page took 0.171234 seconds and 5 git commands to generate.