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

            Bug ID: 104080
           Summary: [12 Regression] newlib doesn't have endian.h causing
                    build failure with 2800bc08e4ab r12-6646
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: build
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hp at gcc dot gnu.org
                CC: ppalka at gcc dot gnu.org
  Target Milestone: ---
            Target: cris-elf

With a commit in the range a81f6092350c..490e23032baa, most likely 2800bc08e4ab
a.k.a. r12-6646, newlib targets such as cris-elf has started failing at build
time of libstdc++ thus:

make[5]: Entering directory '/X-obj/cris-elf/libstdc++-v3/src/c++17'
/bin/sh ../../libtool --tag CXX --tag disable-shared   --mode=compile
/X-obj/./gcc/xgcc -shared-libgcc -B/X-obj/./gcc -nostdinc++
-L/X-obj/cris-elf/libstdc++-v3/src -L/X-obj/cris-elf/libstdc++-v3/src/.libs
-L/X-obj/cris-elf/libstdc++-v3/libsupc++/.libs -nostdinc
-B/X-obj/cris-elf/newlib/ -isystem /X-obj/cris-elf/newlib/targ-include -isystem
/X-gccsrc/newlib/libc/include -B/X-obj/cris-elf/libgloss/cris
-L/X-obj/cris-elf/libgloss/libnosys -L/X-gccsrc/libgloss/cris
-B/X/pre/cris-elf/bin/ -B/X/pre/cris-elf/lib/ -isystem /X/pre/cris-elf/include
-isystem /X/pre/cris-elf/sys-include    -I/X-gccsrc/libstdc++-v3/../libgcc
-I/X-obj/cris-elf/libstdc++-v3/include/cris-elf
-I/X-obj/cris-elf/libstdc++-v3/include -I/X-gccsrc/libstdc++-v3/libsupc++  
-std=gnu++17 -nostdinc++   -fno-implicit-templates  -Wall -Wextra
-Wwrite-strings -Wcast-qual -Wabi=2  -fdiagnostics-show-location=once  
-ffunction-sections -fdata-sections  -frandom-seed=floating_from_chars.lo 
-fimplicit-templates -g -O2  -c -o floating_from_chars.lo
/X-gccsrc/libstdc++-v3/src/c++17/floating_from_chars.cc
libtool: compile:  /X-obj/./gcc/xgcc -shared-libgcc -B/X-obj/./gcc -nostdinc++
-L/X-obj/cris-elf/libstdc++-v3/src -L/X-obj/cris-elf/libstdc++-v3/src/.libs
-L/X-obj/cris-elf/libstdc++-v3/libsupc++/.libs -nostdinc
-B/X-obj/cris-elf/newlib/ -isystem /X-obj/cris-elf/newlib/targ-include -isystem
/X-gccsrc/newlib/libc/include -B/X-obj/cris-elf/libgloss/cris
-L/X-obj/cris-elf/libgloss/libnosys -L/X-gccsrc/libgloss/cris
-B/X/pre/cris-elf/bin/ -B/X/pre/cris-elf/lib/ -isystem /X/pre/cris-elf/include
-isystem /X/pre/cris-elf/sys-include -I/X-gccsrc/libstdc++-v3/../libgcc
-I/X-obj/cris-elf/libstdc++-v3/include/cris-elf
-I/X-obj/cris-elf/libstdc++-v3/include -I/X-gccsrc/libstdc++-v3/libsupc++
-std=gnu++17 -nostdinc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings
-Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections
-fdata-sections -frandom-seed=floating_from_chars.lo -fimplicit-templates -g
-O2 -c /X-gccsrc/libstdc++-v3/src/c++17/floating_from_chars.cc -o
floating_from_chars.o
In file included from
/X-gccsrc/libstdc++-v3/src/c++17/floating_from_chars.cc:65:
/X-gccsrc/libstdc++-v3/src/c++17/fast_float/fast_float.h:139:10: fatal error:
endian.h: No such file or directory
  139 | #include <endian.h>
      |          ^~~~~~~~~~
compilation terminated.
make[5]: *** [Makefile:585: floating_from_chars.lo] Error 1
make[5]: Leaving directory '/X-obj/cris-elf/libstdc++-v3/src/c++17'

Newlib doesn't have endian.h, but it does have machine/endian.h.
An obvious patch is being tested.

Reply via email to