This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2] Fix libgfortran cross compile configury w.r.t newlib


On 24 October 2013 17:47, Steve Ellcey <sellcey@mips.com> wrote:

> I am not sure how we would fix the build issue to allow us to not
> hardcode the newlib configure details into the libgfortran configure
> script.  The linker script that needs to be used to get a good link is
> different depending on what options one is compiling with on a multilib
> MIPS system and I have no idea on how one could create (or use) a dummy
> linker script.  Ideally, I think we would want a check that does not
> depend on linking at all.
>
> Note that this problem is not just in libgfortran, it affects libstdc++
> and libjava too and those configure scripts also have hardcoded the
> newlib assumptions.  The only difference between libgfortran and the
> other two libraries is that the newlib assumptions for libgfortran are
> not static like they are for libstdc++ and libjava.  They vary (for one
> function) based on whether or not long double is supported.

Exactly, hard wiring the newlib interface into the configury of other
libraries is questionable, but the patch applied to libgfortran goes
beyond hard wiring details of the interface, it hard wires incorrect
details of the interface when sizeof(long double) != sizeof(double).

The argument that the patch is OK because libjava and libstdc++ also
use this idiom, is also rather questionable, because the libgfortran
patch goes beyond the idiom used in those other libraries by hard
wiring an assumption that does not hold universally.

On that basis, I think the the libgfortran patch should be reverted
since it caused a regression.

/Marcus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]