@@ -5,6 +5,7 @@ INSTALL_DIR := @prefix@
55GCC_SRCDIR := @with_gcc_src@
66BINUTILS_SRCDIR := @with_binutils_src@
77NEWLIB_SRCDIR := @with_newlib_src@
8+ PICOLIBC_SRCDIR := @with_picolibc_src@
89GLIBC_SRCDIR := @with_glibc_src@
910MUSL_SRCDIR := @with_musl_src@
1011LINUX_HEADERS_SRCDIR := @with_linux_headers_src@
@@ -59,9 +60,11 @@ MULTILIB_FLAGS := @multilib_flags@
5960MULTILIB_GEN := @multilib_gen@
6061ifeq ($(MULTILIB_GEN ) ,)
6162NEWLIB_MULTILIB_NAMES := @newlib_multilib_names@
63+ PICOLIBC_MULTILIB_NAMES := @picolibc_multilib_names@
6264GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS )
6365else
6466NEWLIB_MULTILIB_NAMES := $(shell echo "$(MULTILIB_GEN ) " | $(SED ) 's/;/\n/g'| $(AWK ) '{split($$0,a,"-") ; printf "%s-%s ", a[1],a[2]}')
67+ PICOLIBC_MULTILIB_NAMES := $(shell echo "$(MULTILIB_GEN ) " | $(SED ) 's/;/\n/g'| $(AWK ) '{split($$0,a,"-") ; printf "%s-%s ", a[1],a[2]}')
6568GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS ) --with-multilib-generator="$(MULTILIB_GEN ) "
6669endif
6770GLIBC_MULTILIB_NAMES := @glibc_multilib_names@
7578make_tuple = riscv$(1 ) -unknown-$(2 )
7679LINUX_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-gnu)
7780NEWLIB_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
81+ PICOLIBC_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
7882MUSL_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-musl)
7983
8084CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA ) @target_cflags@ @cmodel@
@@ -96,6 +100,10 @@ NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++
96100NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
97101NEWLIB_NANO_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim-nano/-march=\1/-mabi=\2/@cmodel@!g')
98102
103+ PICOLIBC_CC_FOR_TARGET ?= $(PICOLIBC_TUPLE ) -gcc
104+ PICOLIBC_CXX_FOR_TARGET ?= $(PICOLIBC_TUPLE ) -g++
105+ PICOLIBC_TARGET_BOARDS ?= $(shell echo "$(PICOLIBC_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
106+
99107MUSL_TARGET_FLAGS := $(MUSL_TARGET_FLAGS_EXTRA )
100108MUSL_CC_FOR_TARGET ?= $(MUSL_TUPLE ) -gcc
101109MUSL_CXX_FOR_TARGET ?= $(MUSL_TUPLE ) -g++
@@ -104,6 +112,7 @@ CONFIGURE_HOST = @configure_host@
104112
105113all : @default_target@
106114newlib : stamps/build-gcc-newlib-stage2
115+ picolibc : stamps/build-gcc-picolibc-stage2
107116linux : stamps/build-gcc-linux-stage2
108117ifneq (,$(findstring riscv32,$(MUSL_TUPLE ) ) )
109118.PHONY : musl
@@ -114,6 +123,7 @@ musl: stamps/build-gcc-musl-stage2
114123endif
115124ifeq (@enable_gdb@,--enable-gdb)
116125newlib : stamps/build-gdb-newlib
126+ picolibc : stamps/build-gdb-picolibc
117127linux : stamps/build-gdb-linux
118128endif
119129linux-native : stamps/build-gcc-linux-native
@@ -125,45 +135,54 @@ build-gcc%: stamps/build-gcc-@default_target@-stage%
125135ifeq (@default_target@,linux)
126136build-libc : $(addprefix stamps/build-glibc-linux-,$(GLIBC_MULTILIB_NAMES ) )
127137else
138+ ifeq (@default_target@,picolibc)
139+ build-libc : stamps/build-picolibc
140+ else
128141build-libc : stamps/build-newlib stamps/build-newlib-nano \
129142 stamps/merge-newlib-nano
130143endif
144+ endif
131145build-qemu : stamps/build-qemu
132146
133147REGRESSION_TEST_LIST = gcc
134148
135149.PHONY : check
136150check : check-@default_target@
137- .PHONY : check-linux check-newlib
151+ .PHONY : check-linux check-newlib check-picolibc
138152check-linux : $(patsubst % ,check-% -linux,$(REGRESSION_TEST_LIST ) )
139153check-newlib : $(patsubst % ,check-% -newlib,$(REGRESSION_TEST_LIST ) )
140154check-newlib-nano : $(patsubst % ,check-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
141- .PHONY : check-gcc check-gcc-linux check-gcc-newlib check-gcc-newlib-nano
155+ check-picolibc : $(patsubst % ,check-% -picolibc,$(REGRESSION_TEST_LIST ) )
156+ .PHONY : check-gcc check-gcc-linux check-gcc-newlib check-gcc-newlib-nano check-gcc-picolibc
142157check-gcc : check-gcc-@default_target@
143158check-gcc-linux : stamps/check-gcc-linux
144159check-gcc-newlib : stamps/check-gcc-newlib
145160check-gcc-newlib-nano : stamps/check-gcc-newlib-nano
161+ check-gcc-picolibc : stamps/check-gcc-picolibc
146162.PHONY : check-glibc-linux
147163check-glibc-linux : $(addprefix stamps/check-glibc-linux-,$(GLIBC_MULTILIB_NAMES ) )
148- .PHONY : check-dhrystone check-dhrystone-linux check-dhrystone-newlib
164+ .PHONY : check-dhrystone check-dhrystone-linux check-dhrystone-newlib check-dhrystone-picolibc
149165check-dhrystone : check-dhrystone-@default_target@
150- .PHONY : check-binutils check-binutils-linux check-binutils-newlib
166+ .PHONY : check-binutils check-binutils-linux check-binutils-newlib check-binutils-picolibc
151167check-binutils : check-binutils-@default_target@
152168check-binutils-linux : stamps/check-binutils-linux
153169check-binutils-newlib : stamps/check-binutils-newlib
154170check-binutils-newlib-nano : stamps/check-binutils-newlib-nano
155- .PHONY : check-gdb check-gdb-linux check-gdb-newlib
171+ check-binutils-picolibc : stamps/check-binutils-picolibc
172+ .PHONY : check-gdb check-gdb-linux check-gdb-newlib check-gdb-picolibc
156173check-gdb : check-gdb-@default_target@
157174check-gdb-linux : stamps/check-gdb-linux
158175check-gdb-newlib : stamps/check-gdb-newlib
159176check-gdb-newlib-nano : stamps/check-gdb-newlib-nano
177+ check-gdb-picolibc : stamps/check-gdb-picolibc
160178
161179.PHONY : report
162180report : report-@default_target@
163- .PHONY : report-linux report-newlib report-newlib-nano
181+ .PHONY : report-linux report-newlib report-newlib-nano report-picolibc
164182report-linux : $(patsubst % ,report-% -linux,$(REGRESSION_TEST_LIST ) )
165183report-newlib : $(patsubst % ,report-% -newlib,$(REGRESSION_TEST_LIST ) )
166184report-newlib-nano : $(patsubst % ,report-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
185+ report-picolibc : $(patsubst % ,report-% -picolibc,$(REGRESSION_TEST_LIST ) )
167186.PHONY : report-gcc
168187report-gcc : report-gcc-@default_target@
169188.PHONY : report-dhrystone
@@ -688,6 +707,141 @@ stamps/build-gcc-newlib-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-newlib
688707 $(MAKE ) -C $(notdir $@ ) install
689708 mkdir -p $(dir $@ ) && touch $@
690709
710+ #
711+ # PICOLIBC
712+ #
713+
714+ stamps/build-binutils-picolibc : $(BINUTILS_SRCDIR ) $(BINUTILS_SRC_GIT ) stamps/check-write-permission
715+ rm -rf $@ $(notdir $@ )
716+ mkdir $(notdir $@ )
717+ # CC_FOR_TARGET is required for the ld testsuite.
718+ cd $(notdir $@) && CC_FOR_TARGET=$(PICOLIBC_CC_FOR_TARGET) $</configure \
719+ --target=$(PICOLIBC_TUPLE) \
720+ $(CONFIGURE_HOST) \
721+ --prefix=$(INSTALL_DIR) \
722+ @with_guile@ \
723+ --disable-werror \
724+ $(BINUTILS_TARGET_FLAGS) \
725+ --disable-gdb \
726+ --disable-sim \
727+ --disable-libdecnumber \
728+ --disable-readline \
729+ $(WITH_ISA_SPEC)
730+ $(MAKE) -C $(notdir $@)
731+ $(MAKE) -C $(notdir $@) install
732+ mkdir -p $(dir $@) && touch $@
733+
734+ stamps/build-gdb-picolibc : $(GDB_SRCDIR ) $(GDB_SRC_GIT )
735+ rm -rf $@ $(notdir $@ )
736+ mkdir $(notdir $@ )
737+ # CC_FOR_TARGET is required for the ld testsuite.
738+ cd $(notdir $@) && CC_FOR_TARGET=$(PICOLIBC_CC_FOR_TARGET) $</configure \
739+ --target=$(PICOLIBC_TUPLE) \
740+ $(CONFIGURE_HOST) \
741+ --prefix=$(INSTALL_DIR) \
742+ @with_guile@ \
743+ --disable-werror \
744+ $(GDB_TARGET_FLAGS) \
745+ --enable-gdb \
746+ --disable-gas \
747+ --disable-binutils \
748+ --disable-ld \
749+ --disable-gold \
750+ --disable-gprof
751+ $(MAKE) -C $(notdir $@)
752+ $(MAKE) -C $(notdir $@) install
753+ mkdir -p $(dir $@) && touch $@
754+
755+ stamps/build-gcc-picolibc-stage1 : $(GCC_SRCDIR ) $(GCC_SRC_GIT ) stamps/build-binutils-picolibc
756+ if test -f $< /contrib/download_prerequisites && test " @NEED_GCC_EXTERNAL_LIBRARIES@" = " true" ; then cd $< && ./contrib/download_prerequisites; fi
757+ rm -rf $@ $(notdir $@ )
758+ mkdir $(notdir $@ )
759+ cd $(notdir $@ ) && $< /configure \
760+ --target=$(PICOLIBC_TUPLE ) \
761+ $(CONFIGURE_HOST ) \
762+ --prefix=$(INSTALL_DIR ) \
763+ --disable-shared \
764+ --disable-threads \
765+ --disable-tls \
766+ --enable-languages=c,c++ \
767+ @with_system_zlib@ \
768+ --with-newlib \
769+ --with-sysroot=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
770+ --disable-libmudflap \
771+ --disable-libssp \
772+ --disable-libquadmath \
773+ --disable-libgomp \
774+ --disable-nls \
775+ --disable-tm-clone-registry \
776+ --src=$(gccsrcdir ) \
777+ $(GCC_CHECKING_FLAGS ) \
778+ $(GCC_MULTILIB_FLAGS ) \
779+ $(WITH_ABI ) \
780+ $(WITH_ARCH ) \
781+ $(WITH_TUNE ) \
782+ $(WITH_ISA_SPEC ) \
783+ CFLAGS_FOR_TARGET=" -Os $( CFLAGS_FOR_TARGET) " \
784+ CXXFLAGS_FOR_TARGET=" -Os $( CXXFLAGS_FOR_TARGET) "
785+ $(MAKE ) -C $(notdir $@ ) all-gcc
786+ $(MAKE ) -C $(notdir $@ ) install-gcc
787+ mkdir -p $(dir $@ ) && touch $@
788+
789+ stamps/build-picolibc : $(PICOLIBC_SRCDIR ) $(PICOLIBC_SRC_GIT ) stamps/build-gcc-picolibc-stage1 picolibc-cross.txt
790+ rm -rf $@ $(notdir $@ )
791+ mkdir $(notdir $@ )
792+ meson --cross-file picolibc-cross.txt \
793+ --prefix=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
794+ -Dincludedir=include \
795+ -Dlibdir=lib \
796+ -Dsysroot-install=true \
797+ -Dsystem-libc=true \
798+ $(PICOLIBC_SRCDIR ) \
799+ $(notdir $@ )
800+ ninja -C $(notdir $@ ) install
801+ mkdir -p $(dir $@ ) && touch $@
802+
803+ picolibc-cross.txt : make-picolibc-cross Makefile
804+ sh ./make-picolibc-cross $(PICOLIBC_TUPLE ) $(CFLAGS_FOR_TARGET ) > $@
805+
806+ stamps/build-gcc-picolibc-stage2 : $(GCC_SRCDIR ) $(GCC_SRC_GIT ) stamps/build-picolibc
807+ rm -rf $@ $(notdir $@ )
808+ mkdir $(notdir $@ )
809+ cd $(notdir $@ ) && $< /configure \
810+ --target=$(PICOLIBC_TUPLE ) \
811+ $(CONFIGURE_HOST ) \
812+ --enable-stdio=stdio_pure \
813+ --with-default-libc=picolibc \
814+ --disable-wchar_t \
815+ --prefix=$(INSTALL_DIR ) \
816+ --disable-shared \
817+ --disable-threads \
818+ --enable-languages=c,c++ \
819+ --with-pkgversion=" $( GCCPKGVER) " \
820+ @with_system_zlib@ \
821+ --enable-tls \
822+ --with-newlib \
823+ --with-sysroot=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
824+ --with-native-system-header-dir=/include \
825+ --disable-libmudflap \
826+ --disable-libssp \
827+ --disable-libquadmath \
828+ --disable-libgomp \
829+ --disable-nls \
830+ --disable-tm-clone-registry \
831+ --src=$(gccsrcdir ) \
832+ $(GCC_CHECKING_FLAGS ) \
833+ $(GCC_MULTILIB_FLAGS ) \
834+ $(WITH_ABI ) \
835+ $(WITH_ARCH ) \
836+ $(WITH_TUNE ) \
837+ $(WITH_ISA_SPEC ) \
838+ CFLAGS_FOR_TARGET=" -Os $( CFLAGS_FOR_TARGET) " \
839+ CXXFLAGS_FOR_TARGET=" -Os $( CXXFLAGS_FOR_TARGET) "
840+ $(MAKE ) -C $(notdir $@ )
841+ $(MAKE ) -C $(notdir $@ ) install
842+ mkdir -p $(dir $@ ) && touch $@
843+
844+
691845#
692846# MUSL
693847#
@@ -886,6 +1040,11 @@ stamps/check-gcc-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) stamps
8861040 mkdir -p $(dir $@ )
8871041 date > $@
8881042
1043+ stamps/check-gcc-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1044+ $(SIM_PREPARE ) $(MAKE ) -C build-gcc-picolibc-stage2 check-gcc " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '"
1045+ mkdir -p $(dir $@ )
1046+ date > $@
1047+
8891048stamps/check-gcc-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
8901049 $(SIM_PREPARE ) $(MAKE ) -C build-gcc-linux-stage2 check-gcc " RUNTESTFLAGS=$( RUNTESTFLAGS) --target_board='$( GLIBC_TARGET_BOARDS) '"
8911050 mkdir -p $(dir $@ )
@@ -920,6 +1079,17 @@ stamps/check-dhrystone-newlib-nano-%: \
9201079 $(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
9211080 $(SIM_PREPARE ) $(srcdir ) /test/benchmarks/dhrystone/check -march=$($@ _ARCH) -mabi=$($@ _ABI) -specs=nano.specs -cc=riscv$(XLEN ) -unknown-elf-gcc -objdump=riscv$(XLEN ) -unknown-elf-objdump -sim=riscv$($@ _XLEN) -unknown-elf-run -out=$@ $(filter % .c,$^ ) || true
9221081
1082+ .PHONY : check-dhrystone-picolibc
1083+ check-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1084+ stamps/check-dhrystone-picolibc-% : \
1085+ stamps/build-gcc-picolibc-stage2 \
1086+ $(SIM_STAMP ) \
1087+ $(wildcard $(srcdir ) /test/benchmarks/dhrystone/* )
1088+ $(eval $@ _ARCH := $(word 4,$(subst -, ,$@ ) ) )
1089+ $(eval $@ _ABI := $(word 5,$(subst -, ,$@ ) ) )
1090+ $(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
1091+ $(SIM_PREPARE ) $(srcdir ) /test/benchmarks/dhrystone/check -march=$($@ _ARCH) -mabi=$($@ _ABI) -cc=riscv$(XLEN ) -unknown-elf-gcc -objdump=riscv$(XLEN ) -unknown-elf-objdump -sim=riscv$($@ _XLEN) -unknown-elf-run -out=$@ $(filter % .c,$^ ) || true
1092+
9231093.PHONY : check-dhrystone-linux
9241094check-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
9251095
@@ -940,6 +1110,10 @@ stamps/check-binutils-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) s
9401110 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-newlib check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
9411111 date > $@
9421112
1113+ stamps/check-binutils-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1114+ $(SIM_PREPARE ) $(MAKE ) -C build-binutils-picolibc check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1115+ date > $@
1116+
9431117stamps/check-binutils-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
9441118 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-linux check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
9451119 date > $@
@@ -952,6 +1126,10 @@ stamps/check-gdb-newlib-nano: stamps/build-gcc-newlib-stage2 stamps/build-gdb-ne
9521126 $(SIM_PREPARE ) $(MAKE ) -C build-gdb-newlib check-gdb -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
9531127 date > $@
9541128
1129+ stamps/check-gdb-picolibc : stamps/build-gcc-picolibc-stage2 stamps/build-gdb-picolibc $(SIM_STAMP ) stamps/build-dejagnu
1130+ $(SIM_PREPARE ) $(MAKE ) -C build-gdb-picolibc check-gdb -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1131+ date > $@
1132+
9551133stamps/check-gdb-linux : stamps/build-gcc-linux-stage2 stamps/build-gdb-linux $(SIM_STAMP ) stamps/build-dejagnu
9561134 $(SIM_PREPARE ) $(MAKE ) -C build-gdb-linux check-gdb -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
9571135 date > $@
@@ -963,6 +1141,10 @@ report-gcc-newlib: stamps/check-gcc-newlib
9631141report-gcc-newlib-nano : stamps/check-gcc-newlib-nano
9641142 $(srcdir ) /scripts/testsuite-filter gcc newlib-nano $(srcdir ) /test/allowlist ` find build-gcc-newlib-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
9651143
1144+ .PHONY : report-gcc-picolibc
1145+ report-gcc-picolibc : stamps/check-gcc-picolibc
1146+ $(srcdir ) /scripts/testsuite-filter gcc picolibc $(srcdir ) /test/allowlist ` find build-gcc-picolibc-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
1147+
9661148.PHONY : report-gcc-linux
9671149report-gcc-linux : stamps/check-gcc-linux
9681150 $(srcdir ) /scripts/testsuite-filter gcc glibc $(srcdir ) /test/allowlist ` find build-gcc-linux-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
@@ -973,6 +1155,10 @@ report-dhrystone-newlib: $(patsubst %,stamps/check-dhrystone-newlib-%,$(NEWLIB_M
9731155report-dhrystone-newlib-nano : $(patsubst % ,stamps/check-dhrystone-newlib-nano-% ,$(NEWLIB_MULTILIB_NAMES ) )
9741156 if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
9751157
1158+ .PHONY : report-dhrystone-picolibc
1159+ report-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1160+ if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
1161+
9761162.PHONY : report-dhrystone-linux
9771163report-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
9781164 if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
@@ -988,14 +1174,20 @@ report-binutils-newlib-nano: stamps/check-binutils-newlib-nano
9881174 $(srcdir ) /test/allowlist \
9891175 ` find build-binutils-newlib/ -name * .sum | paste -sd " ," -`
9901176
1177+ .PHONY : report-binutils-picolibc
1178+ report-binutils-picolibc : stamps/check-binutils-picolibc
1179+ $(srcdir ) /scripts/testsuite-filter binutils picolibc \
1180+ $(srcdir ) /test/allowlist \
1181+ ` find build-binutils-picolibc/ -name * .sum | paste -sd " ," -`
1182+
9911183.PHONY : report-binutils-linux
9921184report-binutils-linux : stamps/check-binutils-linux
9931185 $(srcdir ) /scripts/testsuite-filter binutils glibc \
9941186 $(srcdir ) /test/allowlist \
9951187 ` find build-binutils-linux/ -name * .sum | paste -sd " ," -`
9961188
9971189clean :
998- rm -rf build-* stamps install-newlib-nano
1190+ rm -rf build-* stamps install-newlib-nano picolibc-cross.txt
9991191
10001192.PHONY : report-gdb-newlib report-gdb-newlib-nano
10011193report-gdb-newlib : stamps/check-gdb-newlib
@@ -1010,6 +1202,13 @@ report-gdb-newlib-nano: stamps/check-gdb-newlib-nano
10101202 if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-newlib/%.log,$(NEWLIB_MULTILIB_NAMES)); then exit 1; fi
10111203 if find build-gdb-newlib -iname '*.sum' | xargs grep ^FAIL | sort | grep -F -v $(patsubst %,--file=$(srcdir)/test/gdb-newlib/%.log,$(NEWLIB_MULTILIB_NAMES)); then false; else true; fi
10121204
1205+ .PHONY : report-gdb-picolibc
1206+ report-gdb-picolibc : stamps/check-gdb-picolibc
1207+ stat $(patsubst % ,$(srcdir ) /test/gdb-picolibc/% .log,$(PICOLIBC_MULTILIB_NAMES ) ) || exit 1
1208+ # Fail if there are blank lines in the log file used as input for grep below.
1209+ if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-picolibc/%.log,$(PICOLIBC_MULTILIB_NAMES)); then exit 1; fi
1210+ if find build-gdb-picolibc -iname '*.sum' | xargs grep ^FAIL | sort | grep -F -v $(patsubst %,--file=$(srcdir)/test/gdb-picolibc/%.log,$(PICOLIBC_MULTILIB_NAMES)); then false; else true; fi
1211+
10131212.PHONY : report-gdb-linux
10141213report-gdb-linux : stamps/check-gdb-linux
10151214 stat $(patsubst % ,$(srcdir ) /test/gdb-linux/% .log,$(GLIBC_MULTILIB_NAMES ) ) || exit 1
0 commit comments