Add script to build many glibc configurations

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

Commit Message

Joseph Myers Nov. 17, 2016, 5:47 p.m. UTC
  On Thu, 17 Nov 2016, Zack Weinberg wrote:

> On 11/17/2016 11:52 AM, Zack Weinberg wrote:
> > On 11/09/2016 11:27 AM, Joseph Myers wrote:
> >> This patch adds a Python (3.5 or later) script to build many different
> >> configurations of glibc, including building the required cross
> >> compilers first.  It's not intended to change any patch testing
> >> requirements, although some people may wish to use it for high-risk
> >> patches such as adding warning options ...
> > 
> > Since this does its own glibc checkout, it's not clear to me how one
> > should use it to test a patch(set).  I presume that whatever one does,
> > it only affects the "glibcs" step, but what actually do you do?  Do you
> > manually update /some/where/src/glibc to contain the code you want
> > tested and then run "glibcs", or do you somehow tell
> > build-many-glibcs.py the name of a branch you want tested, or what?
> 
> I went ahead with the setup steps, and they failed during the compilers
> phase.  It seems that it's not picking up the host libraries I just
> built.  Now what?

I've committed this patch to fix this.  (The systems I tested on had 
suitable versions of these libraries installed where host GCC could find 
them, so I didn't notice that the newly built libraries weren't being 
used.)

Actually use newly built host libraries in build-many-glibcs.py.

This patch adds the missing GCC configure options required to make use
of the newly built host libraries in build-many-glibcs.py.

2016-11-17  Joseph Myers  <joseph@codesourcery.com>

	* scripts/build-many-glibcs.py (Config.build_gcc): Configure with
	newly built gmp, mpfr and mpc.
  

Patch

diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index be561c3..b0e0f5e 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -813,6 +813,10 @@  class Config(object):
         # relevance with glibc's own stack checking support.
         cfg_opts = list(self.gcc_cfg)
         cfg_opts += ['--disable-libsanitizer', '--disable-libssp']
+        host_libs = self.ctx.host_libraries_installdir
+        cfg_opts += ['--with-gmp=%s' % host_libs,
+                     '--with-mpfr=%s' % host_libs,
+                     '--with-mpc=%s' % host_libs]
         if bootstrap:
             tool_build = 'gcc-first'
             # Building a static-only, C-only compiler that is