GCC 14: m68k, sh, and sparc64

Joel Sherrill joel at rtems.org
Thu Jun 6 19:48:30 UTC 2024


I reported this to newlib@ and someone posted a patch which is now
merged and mirrored to the RTEMS github.

I am updating the RSB to the new newlib hash and hopefully will push
the MR tomorrow for review.

--joel

On Mon, Apr 29, 2024 at 1:42 PM Joel Sherrill <joel at rtems.org> wrote:

>
>
> On Sun, Apr 28, 2024 at 3:18 PM Joel Sherrill <joel at rtems.org> wrote:
>
>>
>>
>> On Sun, Apr 28, 2024 at 6:17 AM Sebastian Huber <
>> sebastian.huber at embedded-brains.de> wrote:
>>
>>> Hello,
>>>
>>> the m68k, sh, and sparc64 build fails with GCC 14 due to:
>>>
>>
>> Two of those are scheduled to be removed after we branch 6.
>>
>> So only the m68k really matters. More below.
>>
>>>
>>> make "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2  -m4-single-only" "CCASFLAGS=-g
>>> -O2  -m4-single-only" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET="
>>> "INSTALL=/usr/bin/install -c" "LDFLAGS=-m4-single-only"
>>> "LIBCFLAGS=-m4-single-only" "LIBCFLAGS_FOR_TARGET=" "MAKE=make"
>>> "MAKEINFO=makeinfo --split-size=5000000    " "PICFLAG="
>>> "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest"
>>> "RUNTESTFLAGS=" "exec_prefix=/tmp/sh/i-sh-rtems6"
>>> "infodir=/tmp/sh/i-sh-rtems6/share/info"
>>> "libdir=/tmp/sh/i-sh-rtems6/lib" "prefix=/tmp/sh/i-sh-rtems6"
>>> "tooldir=/tmp/sh/i-sh-rtems6/sh-rtems6"
>>> "top_toollibdir=/tmp/sh/i-sh-rtems6/sh-rtems6/lib/m4-single-only"
>>> "AR=/tmp/sh/i-sh-rtems6/sh-rtems6/bin/ar" "AS=as"
>>> "CC=/tmp/sh/b-gcc-sh-rtems6/./gcc/xgcc -B/tmp/sh/b-gcc-sh-rtems6/./gcc/
>>> -nostdinc -B/tmp/sh/b-gcc-sh-rtems6/sh-rtems6/m4-single-only/newlib/
>>> -isystem
>>> /tmp/sh/b-gcc-sh-rtems6/sh-rtems6/m4-single-only/newlib/targ-include
>>> -isystem /home/EB/sebastian_h/src/gcc/newlib/libc/include
>>> -B/tmp/sh/i-sh-rtems6/sh-rtems6/bin/
>>> -B/tmp/sh/i-sh-rtems6/sh-rtems6/lib/ -isystem
>>> /tmp/sh/i-sh-rtems6/sh-rtems6/include -isystem
>>> /tmp/sh/i-sh-rtems6/sh-rtems6/sys-include  -m4-single-only" "LD=ld"
>>> "LIBCFLAGS=-m4-single-only" "NM=" "PICFLAG="
>>> "RANLIB=/tmp/sh/i-sh-rtems6/sh-rtems6/bin/ranlib" "DESTDIR=" all-am
>>> make[4]: Entering directory
>>> '/tmp/sh/b-gcc-sh-rtems6/sh-rtems6/m4-single-only/newlib'
>>>    CC       libm/complex/libm_a-ccoshl.o
>>> /home/EB/sebastian_h/src/gcc/newlib/libm/complex/ccoshl.c: In function
>>> 'ccoshl':
>>> /home/EB/sebastian_h/src/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
>>> /home/EB/sebastian_h/src/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;
>>>        |                        ^~~~
>>>        |                        cosf
>>> /home/EB/sebastian_h/src/gcc/newlib/libm/complex/ccoshl.c:43:35: error:
>>> implicit declaration of function 'sinhl'; did you mean 'sinhf'?
>>> [-Wimplicit-function-declaration]
>>>     43 |         w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I;
>>>        |                                   ^~~~~
>>>        |                                   sinhf
>>> /home/EB/sebastian_h/src/gcc/newlib/libm/complex/ccoshl.c:43:46: error:
>>> implicit declaration of function 'sinl'; did you mean 'sinf'?
>>> [-Wimplicit-function-declaration]
>>>     43 |         w = coshl(x) * cosl(y) + (sinhl(x) * sinl(y)) * I;
>>>        |                                              ^~~~
>>>        |                                              sinf
>>> make[4]: *** [Makefile:43178: libm/complex/libm_a-ccoshl.o] Error 1
>>>
>>> Implicit function declarations are an error by default in GCC 14. Joel,
>>> could you please have a look at the long double support in Newlib since
>>> you worked with it some time ago.
>>>
>>
>> Looks like a file that probably should be disabled on targets without
>> long double support. I'll try to dig into it.
>>
>
> I have a build with a gcc version that has this as a warning but duplicates
> the underlying issue. I'll see what I can do.
>
>>
>> Please file an RSB issue once we get to gitlab. I think that's where these
>> type of issues go now since it is gcc.
>>
>>>
>>> --
>>> embedded brains GmbH & Co. KG
>>> Herr Sebastian HUBER
>>> Dornierstr. 4
>>> 82178 Puchheim
>>> Germany
>>> email: sebastian.huber at embedded-brains.de
>>> phone: +49-89-18 94 741 - 16
>>> fax:   +49-89-18 94 741 - 08
>>>
>>> Registergericht: Amtsgericht München
>>> Registernummer: HRB 157899
>>> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
>>> Unsere Datenschutzerklärung finden Sie hier:
>>> https://embedded-brains.de/datenschutzerklaerung/
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20240606/54ffc89a/attachment.htm>


More information about the devel mailing list