gcc 14+ and m68k build failure

Joel Sherrill <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAF9ehCV-fcvPBC9ZXLL_VotqGYPPs70gmT19OjWGsvMNvFvvhw@mail.gmail.com>
Hi

GCC 14+ fail to build a few newlib targets. I am looking into m68k-rtems
(m68k-elf) first. If there is a common thread, it appears to be related to
targets which do not have long double in all multilibs.

First, how do you see more than "CC..file.c"?

The error for m68k starts with this:

ake[3]: Entering directory
'/home/joel/test-gcc/b-m68k-rtems6-gcc/m68k-rtems6/newlib'
  CC       libm/complex/libm_a-ccoshl.o
../../../gcc/newlib/libm/complex/ccoshl.c: In function 'ccoshl':
../../../gcc/newlib/libm/complex/ccoshl.c:43:13: error: implicit
declaration of function 'coshl'; did you mean 'coshf'?
[-Wimplicit-function-declaration]
   43 |         w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I;
      |             ^~~~~
      |             coshf
../../../gcc/newlib/libm/complex/ccoshl.c:43:24: error: implicit
declaration of function 'cosl'; did you mean 'cosf'?
[-Wimplicit-function-declaration]
   43 |         w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I;


I suspect that since only one multilib for m68k has multilib and that is
picked at compile time, the multilib here isn't enabling the prototypes for
long double. That idea seems right but the code doesn't seem to always
follow up to avoid trying to compile files like the above which assume long
double.

Ideas appreciated.

--joel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.