[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CPU32 problems resolved.
- Date: Thu, 12 Mar 1998 07:09:09 -0600 (CST)
- From: joel at OARcorp.com (Joel Sherrill)
- Subject: CPU32 problems resolved.
I am forwarding this to the key egcs maintainers so the prerelease won't
become a release with this problem.
--joel
On Thu, 12 Mar 1998, Robin Kirkham wrote:
>
> Jake/Chris:
>
> Now that I have the egcs source, I can see that the problem is not directly
> related to MULTILIB_OPTIONS or any of that jazz.
>
> The problem is that the options table in gcc/config/m68k/m68k.h is different
> in egcs-1.0.2-prerelease compared to my egcs-1.0.1+patch, which worked.
> I don't know how this happened: it could be an unintended side-effect of
> some other patch, as I can't find anything specific in the Changelog.
>
> Anyway, as a result -mcpu32, -m68332, or -m68302 (without -msoft-float) will
> emit floating-point code. The entries for these two should include a
> MASK_68881 in the target bits that are TURNED OFF. In other words, they
> should say
>
> { "68302", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
> |MASK_68020|MASK_BITFIELD|MASK_68881)}, \
> { "68332", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
> |MASK_BITFIELD|MASK_68881)}, \
> { "68332", MASK_68020}, \
> { "cpu32", - (MASK_5200|MASK_68060|MASK_68040|MASK_68040_ONLY \
> |MASK_BITFIELD|MASK_68881)}, \
> { "cpu32", MASK_68020}, \
>
> The multilib arrangement assumes this. The library paths and the specs
> strings are worked out on the basis of the difference between the -m options
> and the default. If the default is not doing what is assumed, just about
> nothing works!
>
> This is why trying to specify -msoft-float didn't help: it would try to
> use a library path lib/mcpu32/msoft-float, but since there isn't one (because
> if there were, it should have been the same as just lib/mcpu32), it defaulted
> to just lib/, and thus picked up m68020 libraries.
>
> Altering MULTILIB_EXCEPTIONS to allow it to build a lib/mcpu32/msoft-float
> appears to fix the problem, but for the wrong reason.
>
> I'll change it tomorrow, test it out, and produce a patch for the egcs people
> if I'm successful.
>
> Robin Kirkham CSIRO Manufacturing Science and Technology
> Project Engineer Locked Bag 9, Preston 3072, Australia
> robin.kirkham at mlb.dmt.csiro.au Phone: +61 3 9662-7756 Fax: +61 3 9662-7851
>