summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-11-22 01:58:26 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-11-22 01:58:26 +0000
commit5ee1a4443a3eb0868cef1fe506ae6fb6af33d4ad (patch)
treeb8a5ca7358b8078758e757061aebdefe27edeef4 /scripts
parentd2e1e973322fa02ae8d005236f1a25fb2cc3b6a8 (diff)
downloadglibc-5ee1a4443a3eb0868cef1fe506ae6fb6af33d4ad.tar.gz
Make build-many-glibcs.py use -fno-isolate-erroneous-paths options for tilepro.
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.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-many-glibcs.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 517dec4974..63ea5fda0a 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'],