[PATCH] Fix multilib libgloss selection.

Corinna Vinschen vinschen@redhat.com
Thu Nov 12 12:57:00 GMT 2015


On Nov  6 14:41, Marcus Shawcroft wrote:
> Hi,
> 
> Regression testing newlib in conjunction with libgloss and
> --enable-multilib can result in incompatible multilib versions of
> newlib and libgloss being used during link.
> 
> This manifests on ARM target when newlib regression is run using a
> GCC configured using --with-multilib-list=aprofile
> 
> With this configuration many of the multilib variants built are
> mutually incompatible.
> 
> The issue is that the newlib dejagnu foo iterates each multilib
> variant and correctly chooses the appropriate newlib variant but
> always chooses the root/base libgloss variant.
> 
> The implementation of newlib/testsuite/lib/flags.exp contains the
> following fragment:
> 
> set target_build_path "$objdir/$multibuildtop.."
> 
> The effect of this fragment is to explicitly select the root version
> of libgloss, irrespective of the current multilib.
> 
> Digging around in VC it appears that the original implementation of
> multlib magic came into the tree back in 2002 with:
> 
> 6e9d950a (Thomas Fitzsimmons 2002-05-01 17:06:25 +0000 39)
> 
> In this initial version of multilib support, newlib was multilib
> capable, but libgloss was not multilib capable, hence the necessity to
> explicitly select the root libgloss version.
> 
> Subsequently flags.exp was modified to support out of tree testing:
> 
> cec1d3b4 (Jeff Johnston      2005-07-05 00:11:50 +0000 25)
> 
> This change is orthogonal to this issue, its effect is to exit early
> in none multilib configurations.
> 
> Subsequently libgloss gained --enable-multilib support, the relevant change
> is:
> 
> https://sourceware.org/ml/newlib/2006/msg00440.html
> commit 00a4b31ad08aef361c5d74125ece410b4c285975
> Author: Jeff Johnston <jjohnstn@redhat.com>
> Date: Wed May 10 20:51:41 2006 +0000
> 
> This change enabled multilib support throughout libgloss, but ommitted
> to adjust the flag.exp behaviour which anchors the libgloss multilib
> selection to the base version.
> 
> The attached patch adjusts flags.exp to select the current multilib
> variant of libgloss.
> 
> OK ?
> 
> 
> 2015-11-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
> 
>        * testsuite/lib/flags.exp (libgloss_link_flags): Drop multilibtop
>        from target_build_path.

Applied.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20151112/fd5714ee/attachment.sig>


More information about the Newlib mailing list