1.16.0: can't create arm-bare_newlib_cortex_m3_nommu-eabi toolchain

Yann E. MORIN yann.morin.1998@free.fr
Sat Sep 15 14:50:00 GMT 2012


Trevor, A,,

On Saturday 15 September 2012 16:01:39 Trevor Woerner wrote:
> On Fri, Sep 7, 2012 at 7:24 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> > On Fri, Sep 7, 2012 at 7:04 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> >> On Fri, Sep 7, 2012 at 5:50 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> >>> Could you try a rather simple test for me, please?
> >>> Get a make-3.81 from a GNU mirror, compile and install it, but be sure you
> >>> install it in a location that is early in the PATH, earlier than make-3.82
> >>> (eg. install in /opt/make and add /opt/make/bin first in the PATH).
> >>
> >> Yes, this causes my .config file to contain the correct lines:
> >
> > ...and the subsequent "ct-ng build" succeeds.
> 
> Do other distributions not ship make-3.82? Are they all still waiting
> on make-3.81? Is there something I can investigate so release 1.16.0
> works "out of the box"? I'm not sure where it started, but this is a
> regression, I don't think I needed to downgrade 'make' in order to use
> crosstool-NG before.

The problem is that make-3.82 broke many things that had been working with
older make versions. For example, make-3.82 broke the linux kernel, gcc,
glibc, and many other major packages.

Heck, if they wanted to break the API, they should have named it make-4.0.
3.82 pretty much sounds like "release accumulated set of bug fixes after
the many year previous version was released" thingy, rather than a major
version which would have been allowed to break existing stuff.

Even Debian has not yet migrated to make-3.82 (only experimental has it,
not even sid).

For crosstool-NG, I only use documented features of make, and it was working
and is still working perfectly with make-3.81. So _I_ consider that the
regresions are in make-3.82.

I think that the key point is that make-3.81 did sort the result of
$(wildcard ...) while make-3.82 does not.

I added a bit of debug stuff into config/config.mk@66:
    $(info ARCHS  ='$(ARCHS)')
    $(info KERNELS='$(KERNELS)')
    $(info CCS    ='$(CCS)')
    $(info LIBCS  ='$(LIBCS)')
    $(info DEBUGS ='$(DEBUGS)')

And here is what make-3.81 on Debian squeeze gives as a result:
    ARCHS  ='alpha arm avr32 blackfin m68k mips powerpc s390 sh sparc x86'
    KERNELS='bare-metal linux mingw32'
    CCS    ='gcc'
    LIBCS  ='eglibc glibc mingw newlib none uClibc'
    DEBUGS ='dmalloc duma gdb ltrace strace'

and here's what make-3.82 on openSuSE 12.1 gives as a result:
    ARCHS  ='arm x86 sh avr32 mips sparc powerpc s390 m68k alpha blackfin'
    KERNELS='mingw32 bare-metal linux'
    CCS    ='gcc'
    LIBCS  ='none mingw eglibc newlib uClibc glibc'
    DEBUGS ='ltrace gdb duma dmalloc strace'

Maybe we could try sorting the output and see if it /fixes/ the issue?

So, if someone comes with a patch that:
  - fixes building crosstool-NG with make-3.82
  - does not break building with make-3.81
  - if not too ugly
I will be glad to apply it. ;-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list