Fix build-many-glibcs.py arm-linux-gnueabihf builds with mainline GCC [committed]

Message ID alpine.DEB.2.20.1712190009060.7915@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers Dec. 19, 2017, 12:09 a.m. UTC
  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.  Committed.

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.
  

Patch

diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 5453000..dd4c70d 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',