about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-12-19 00:08:49 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-12-19 00:08:49 +0000
commit8e52f573a1e0c2c39968051bcf683805540deb03 (patch)
tree03c07d8f0085b30e69cf1fd3da04142dbac898ec
parent40c4162df6766fb1e8ede875ca8df25d8075d3a5 (diff)
downloadglibc-8e52f573a1e0c2c39968051bcf683805540deb03.tar.gz
glibc-8e52f573a1e0c2c39968051bcf683805540deb03.tar.xz
glibc-8e52f573a1e0c2c39968051bcf683805540deb03.zip
Fix build-many-glibcs.py arm-linux-gnueabihf builds with mainline GCC.
My fix to make the arm-linux-gnueabihf build-many-glibcs.py builds
actually use the hard-float ABI as intended showed up another issue
when building with mainline GCC: GCC now determines an FPU based on
the selected CPU or architecture and gives an error for
-mfloat-abi=hard when the CPU does not imply a choice of FPU.  This
patch fixes all the affected configurations to specify a suitable
--with-cpu, --with-fpu or -mfpu option explicitly to avoid that error
from GCC.

Tested the relevant configurations with build-many-glibcs.py with
mainline GCC.

	* scripts/build-many-glibcs.py (Context.add_all_configs): Specify
	CPU or FPU for ARM hard-float configurations.
-rw-r--r--ChangeLog5
-rwxr-xr-xscripts/build-many-glibcs.py11
2 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ce5a11c35..95e8df9070 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* scripts/build-many-glibcs.py (Context.add_all_configs): Specify
+	CPU or FPU for ARM hard-float configurations.
+
 2017-12-18  Joseph Myers  <joseph@codesourcery.com>
 
 	* nptl/tst-attr3.c: Include <libc-diag.h>.
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 5453000df0..dd4c70d572 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -175,19 +175,20 @@ class Context(object):
                         gcc_cfg=['--with-arch=armv7-a'])
         self.add_config(arch='arm',
                         os_name='linux-gnueabihf',
-                        gcc_cfg=['--with-float=hard'],
+                        gcc_cfg=['--with-float=hard', '--with-cpu=arm926ej-s'],
                         extra_glibcs=[{'variant': 'v7a',
-                                       'ccopts': '-march=armv7-a'},
+                                       'ccopts': '-march=armv7-a -mfpu=vfpv3'},
                                       {'variant': 'v7a-disable-multi-arch',
-                                       'ccopts': '-march=armv7-a',
+                                       'ccopts': '-march=armv7-a -mfpu=vfpv3',
                                        'cfg': ['--disable-multi-arch']}])
         self.add_config(arch='armeb',
                         os_name='linux-gnueabihf',
-                        gcc_cfg=['--with-float=hard'])
+                        gcc_cfg=['--with-float=hard', '--with-cpu=arm926ej-s'])
         self.add_config(arch='armeb',
                         os_name='linux-gnueabihf',
                         variant='be8',
-                        gcc_cfg=['--with-float=hard', '--with-arch=armv7-a'])
+                        gcc_cfg=['--with-float=hard', '--with-arch=armv7-a',
+                                 '--with-fpu=vfpv3'])
         self.add_config(arch='hppa',
                         os_name='linux-gnu')
         self.add_config(arch='ia64',