Fix build-many-glibcs.py arm-linux-gnueabihf builds with mainline GCC.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 19 Dec 2017 00:08:49 +0000 (00:08 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 19 Dec 2017 00:08:49 +0000 (00:08 +0000)
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.

ChangeLog
scripts/build-many-glibcs.py

index 8ce5a11..95e8df9 100644 (file)
--- 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>.
index 5453000..dd4c70d 100755 (executable)
@@ -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',