This is the mail archive of the gcc-bugs@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]

[Bug target/78478] Compile Error for i386-rtems


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78478

--- Comment #15 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Joel Sherrill from comment #14)
> (In reply to H.J. Lu from comment #13)
> > The problem is config/i386/rtemself.h has
> > 
> > #define LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 80 : 64)
> > 
> > XFmode isn't available with -msoft-float even when -mlong-double-80 is used.
> > IA MCU defaults long double to double and XFmode is available with
> > -mlong-double-80.
> 
> I had no idea how that got there so did a git blame.
> 
> 8a3edb334 (uros    2013-11-05 16:08:30 +0000 31) 
> 8a3edb334 (uros    2013-11-05 16:08:30 +0000 32) #undef LONG_DOUBLE_TYPE_SIZE
> 8a3edb334 (uros    2013-11-05 16:08:30 +0000 33) #define
> LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 80 : 64)

I don't remember the reason, but the patch was proposed in [1]

[1] https://gcc.gnu.org/ml/gcc-patches/2013-11/msg00426.html

> Anyway, removing that let it get to libgfortran for i386-rtems and fail with
> this:

You need to edit libgfortran/configure.host to prevent

# x86 asm should be used instead of glibc, since glibc doesn't support
# the x86 denormal exception.
case "${host_cpu}" in
  i?86 | x86_64)
    fpu_host='fpu-387'
    ieee_support='yes'
    ;;
esac

from redefining default fpu_host='fpu-generic' and ieee_support='no'.

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