@@ -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@
@@ -57,9 +58,11 @@ MULTILIB_FLAGS := @multilib_flags@
5758MULTILIB_GEN := @multilib_gen@
5859ifeq ($(MULTILIB_GEN ) ,)
5960NEWLIB_MULTILIB_NAMES := @newlib_multilib_names@
61+ PICOLIBC_MULTILIB_NAMES := @picolibc_multilib_names@
6062GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS )
6163else
6264NEWLIB_MULTILIB_NAMES := $(shell echo "$(MULTILIB_GEN ) " | $(SED ) 's/;/\n/g'| $(AWK ) '{split($$0,a,"-") ; printf "%s-%s ", a[1],a[2]}')
65+ PICOLIBC_MULTILIB_NAMES := $(shell echo "$(MULTILIB_GEN ) " | $(SED ) 's/;/\n/g'| $(AWK ) '{split($$0,a,"-") ; printf "%s-%s ", a[1],a[2]}')
6366GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS ) --with-multilib-generator="$(MULTILIB_GEN ) "
6467endif
6568GLIBC_MULTILIB_NAMES := @glibc_multilib_names@
7376make_tuple = riscv$(1 ) -unknown-$(2 )
7477LINUX_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-gnu)
7578NEWLIB_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
79+ PICOLIBC_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
7680MUSL_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-musl)
7781
7882CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA ) @target_cflags@ @cmodel@
@@ -94,6 +98,10 @@ NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++
9498NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
9599NEWLIB_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')
96100
101+ PICOLIBC_CC_FOR_TARGET ?= $(PICOLIBC_TUPLE ) -gcc
102+ PICOLIBC_CXX_FOR_TARGET ?= $(PICOLIBC_TUPLE ) -g++
103+ PICOLIBC_TARGET_BOARDS ?= $(shell echo "$(PICOLIBC_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
104+
97105MUSL_TARGET_FLAGS := $(MUSL_TARGET_FLAGS_EXTRA )
98106MUSL_CC_FOR_TARGET ?= $(MUSL_TUPLE ) -gcc
99107MUSL_CXX_FOR_TARGET ?= $(MUSL_TUPLE ) -g++
@@ -102,6 +110,7 @@ CONFIGURE_HOST = @configure_host@
102110
103111all : @default_target@
104112newlib : stamps/build-gcc-newlib-stage2
113+ picolibc : stamps/build-gcc-picolibc-stage2
105114linux : stamps/build-gcc-linux-stage2
106115ifneq (,$(findstring riscv32,$(MUSL_TUPLE ) ) )
107116.PHONY : musl
@@ -112,6 +121,7 @@ musl: stamps/build-gcc-musl-stage2
112121endif
113122ifeq (@enable_gdb@,--enable-gdb)
114123newlib : stamps/build-gdb-newlib
124+ picolibc : stamps/build-gdb-picolibc
115125linux : stamps/build-gdb-linux
116126endif
117127linux-native : stamps/build-gcc-linux-native
@@ -123,43 +133,52 @@ build-gcc%: stamps/build-gcc-@default_target@-stage%
123133ifeq (@default_target@,linux)
124134build-libc : $(addprefix stamps/build-glibc-linux-,$(GLIBC_MULTILIB_NAMES ) )
125135else
136+ ifeq (@default_target@,picolibc)
137+ build-libc : stamps/build-picolibc
138+ else
126139build-libc : stamps/build-newlib stamps/build-newlib-nano \
127140 stamps/merge-newlib-nano
128141endif
142+ endif
129143build-qemu : stamps/build-qemu
130144
131145REGRESSION_TEST_LIST = gcc
132146
133147.PHONY : check
134148check : check-@default_target@
135- .PHONY : check-linux check-newlib
149+ .PHONY : check-linux check-newlib check-picolibc
136150check-linux : $(patsubst % ,check-% -linux,$(REGRESSION_TEST_LIST ) )
137151check-newlib : $(patsubst % ,check-% -newlib,$(REGRESSION_TEST_LIST ) )
138152check-newlib-nano : $(patsubst % ,check-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
139- .PHONY : check-gcc check-gcc-linux check-gcc-newlib check-gcc-newlib-nano
153+ check-picolibc : $(patsubst % ,check-% -picolibc,$(REGRESSION_TEST_LIST ) )
154+ .PHONY : check-gcc check-gcc-linux check-gcc-newlib check-gcc-newlib-nano check-gcc-picolibc
140155check-gcc : check-gcc-@default_target@
141156check-gcc-linux : stamps/check-gcc-linux
142157check-gcc-newlib : stamps/check-gcc-newlib
143158check-gcc-newlib-nano : stamps/check-gcc-newlib-nano
144- .PHONY : check-dhrystone check-dhrystone-linux check-dhrystone-newlib
159+ check-gcc-picolibc : stamps/check-gcc-picolibc
160+ .PHONY : check-dhrystone check-dhrystone-linux check-dhrystone-newlib check-dhrystone-picolibc
145161check-dhrystone : check-dhrystone-@default_target@
146- .PHONY : check-binutils check-binutils-linux check-binutils-newlib
162+ .PHONY : check-binutils check-binutils-linux check-binutils-newlib check-binutils-picolibc
147163check-binutils : check-binutils-@default_target@
148164check-binutils-linux : stamps/check-binutils-linux
149165check-binutils-newlib : stamps/check-binutils-newlib
150166check-binutils-newlib-nano : stamps/check-binutils-newlib-nano
151- .PHONY : check-gdb check-gdb-linux check-gdb-newlib
167+ check-binutils-picolibc : stamps/check-binutils-picolibc
168+ .PHONY : check-gdb check-gdb-linux check-gdb-newlib check-gdb-picolibc
152169check-gdb : check-gdb-@default_target@
153170check-gdb-linux : stamps/check-gdb-linux
154171check-gdb-newlib : stamps/check-gdb-newlib
155172check-gdb-newlib-nano : stamps/check-gdb-newlib-nano
173+ check-gdb-picolibc : stamps/check-gdb-picolibc
156174
157175.PHONY : report
158176report : report-@default_target@
159- .PHONY : report-linux report-newlib report-newlib-nano
177+ .PHONY : report-linux report-newlib report-newlib-nano report-picolibc
160178report-linux : $(patsubst % ,report-% -linux,$(REGRESSION_TEST_LIST ) )
161179report-newlib : $(patsubst % ,report-% -newlib,$(REGRESSION_TEST_LIST ) )
162180report-newlib-nano : $(patsubst % ,report-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
181+ report-picolibc : $(patsubst % ,report-% -picolibc,$(REGRESSION_TEST_LIST ) )
163182.PHONY : report-gcc
164183report-gcc : report-gcc-@default_target@
165184.PHONY : report-dhrystone
@@ -678,6 +697,141 @@ stamps/build-gcc-newlib-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-newlib
678697 $(MAKE ) -C $(notdir $@ ) install
679698 mkdir -p $(dir $@ ) && touch $@
680699
700+ #
701+ # PICOLIBC
702+ #
703+
704+ stamps/build-binutils-picolibc : $(BINUTILS_SRCDIR ) $(BINUTILS_SRC_GIT ) stamps/check-write-permission
705+ rm -rf $@ $(notdir $@ )
706+ mkdir $(notdir $@ )
707+ # CC_FOR_TARGET is required for the ld testsuite.
708+ cd $(notdir $@) && CC_FOR_TARGET=$(PICOLIBC_CC_FOR_TARGET) $</configure \
709+ --target=$(PICOLIBC_TUPLE) \
710+ $(CONFIGURE_HOST) \
711+ --prefix=$(INSTALL_DIR) \
712+ @with_guile@ \
713+ --disable-werror \
714+ $(BINUTILS_TARGET_FLAGS) \
715+ --disable-gdb \
716+ --disable-sim \
717+ --disable-libdecnumber \
718+ --disable-readline \
719+ $(WITH_ISA_SPEC)
720+ $(MAKE) -C $(notdir $@)
721+ $(MAKE) -C $(notdir $@) install
722+ mkdir -p $(dir $@) && touch $@
723+
724+ stamps/build-gdb-picolibc : $(GDB_SRCDIR ) $(GDB_SRC_GIT )
725+ rm -rf $@ $(notdir $@ )
726+ mkdir $(notdir $@ )
727+ # CC_FOR_TARGET is required for the ld testsuite.
728+ cd $(notdir $@) && CC_FOR_TARGET=$(PICOLIBC_CC_FOR_TARGET) $</configure \
729+ --target=$(PICOLIBC_TUPLE) \
730+ $(CONFIGURE_HOST) \
731+ --prefix=$(INSTALL_DIR) \
732+ @with_guile@ \
733+ --disable-werror \
734+ $(GDB_TARGET_FLAGS) \
735+ --enable-gdb \
736+ --disable-gas \
737+ --disable-binutils \
738+ --disable-ld \
739+ --disable-gold \
740+ --disable-gprof
741+ $(MAKE) -C $(notdir $@)
742+ $(MAKE) -C $(notdir $@) install
743+ mkdir -p $(dir $@) && touch $@
744+
745+ stamps/build-gcc-picolibc-stage1 : $(GCC_SRCDIR ) $(GCC_SRC_GIT ) stamps/build-binutils-picolibc
746+ if test -f $< /contrib/download_prerequisites && test " @NEED_GCC_EXTERNAL_LIBRARIES@" = " true" ; then cd $< && ./contrib/download_prerequisites; fi
747+ rm -rf $@ $(notdir $@ )
748+ mkdir $(notdir $@ )
749+ cd $(notdir $@ ) && $< /configure \
750+ --target=$(PICOLIBC_TUPLE ) \
751+ $(CONFIGURE_HOST ) \
752+ --prefix=$(INSTALL_DIR ) \
753+ --disable-shared \
754+ --disable-threads \
755+ --disable-tls \
756+ --enable-languages=c,c++ \
757+ @with_system_zlib@ \
758+ --with-newlib \
759+ --with-sysroot=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
760+ --disable-libmudflap \
761+ --disable-libssp \
762+ --disable-libquadmath \
763+ --disable-libgomp \
764+ --disable-nls \
765+ --disable-tm-clone-registry \
766+ --src=$(gccsrcdir ) \
767+ $(GCC_CHECKING_FLAGS ) \
768+ $(GCC_MULTILIB_FLAGS ) \
769+ $(WITH_ABI ) \
770+ $(WITH_ARCH ) \
771+ $(WITH_TUNE ) \
772+ $(WITH_ISA_SPEC ) \
773+ CFLAGS_FOR_TARGET=" -Os $( CFLAGS_FOR_TARGET) " \
774+ CXXFLAGS_FOR_TARGET=" -Os $( CXXFLAGS_FOR_TARGET) "
775+ $(MAKE ) -C $(notdir $@ ) all-gcc
776+ $(MAKE ) -C $(notdir $@ ) install-gcc
777+ mkdir -p $(dir $@ ) && touch $@
778+
779+ stamps/build-picolibc : $(PICOLIBC_SRCDIR ) $(PICOLIBC_SRC_GIT ) stamps/build-gcc-picolibc-stage1 picolibc-cross.txt
780+ rm -rf $@ $(notdir $@ )
781+ mkdir $(notdir $@ )
782+ meson --cross-file picolibc-cross.txt \
783+ --prefix=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
784+ -Dincludedir=include \
785+ -Dlibdir=lib \
786+ -Dsysroot-install=true \
787+ -Dsystem-libc=true \
788+ $(PICOLIBC_SRCDIR ) \
789+ $(notdir $@ )
790+ ninja -C $(notdir $@ ) install
791+ mkdir -p $(dir $@ ) && touch $@
792+
793+ picolibc-cross.txt : make-picolibc-cross Makefile
794+ sh ./make-picolibc-cross $(PICOLIBC_TUPLE ) $(CFLAGS_FOR_TARGET ) > $@
795+
796+ stamps/build-gcc-picolibc-stage2 : $(GCC_SRCDIR ) $(GCC_SRC_GIT ) stamps/build-picolibc
797+ rm -rf $@ $(notdir $@ )
798+ mkdir $(notdir $@ )
799+ cd $(notdir $@ ) && $< /configure \
800+ --target=$(PICOLIBC_TUPLE ) \
801+ $(CONFIGURE_HOST ) \
802+ --enable-stdio=stdio_pure \
803+ --with-default-libc=picolibc \
804+ --disable-wchar_t \
805+ --prefix=$(INSTALL_DIR ) \
806+ --disable-shared \
807+ --disable-threads \
808+ --enable-languages=c,c++ \
809+ --with-pkgversion=" $( GCCPKGVER) " \
810+ @with_system_zlib@ \
811+ --enable-tls \
812+ --with-newlib \
813+ --with-sysroot=$(INSTALL_DIR ) /$(PICOLIBC_TUPLE ) \
814+ --with-native-system-header-dir=/include \
815+ --disable-libmudflap \
816+ --disable-libssp \
817+ --disable-libquadmath \
818+ --disable-libgomp \
819+ --disable-nls \
820+ --disable-tm-clone-registry \
821+ --src=$(gccsrcdir ) \
822+ $(GCC_CHECKING_FLAGS ) \
823+ $(GCC_MULTILIB_FLAGS ) \
824+ $(WITH_ABI ) \
825+ $(WITH_ARCH ) \
826+ $(WITH_TUNE ) \
827+ $(WITH_ISA_SPEC ) \
828+ CFLAGS_FOR_TARGET=" -Os $( CFLAGS_FOR_TARGET) " \
829+ CXXFLAGS_FOR_TARGET=" -Os $( CXXFLAGS_FOR_TARGET) "
830+ $(MAKE ) -C $(notdir $@ )
831+ $(MAKE ) -C $(notdir $@ ) install
832+ mkdir -p $(dir $@ ) && touch $@
833+
834+
681835#
682836# MUSL
683837#
@@ -876,6 +1030,11 @@ stamps/check-gcc-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) stamps
8761030 mkdir -p $(dir $@ )
8771031 date > $@
8781032
1033+ stamps/check-gcc-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1034+ $(SIM_PREPARE ) $(MAKE ) -C build-gcc-picolibc-stage2 check-gcc " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '"
1035+ mkdir -p $(dir $@ )
1036+ date > $@
1037+
8791038stamps/check-gcc-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
8801039 $(SIM_PREPARE ) $(MAKE ) -C build-gcc-linux-stage2 check-gcc " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '"
8811040 mkdir -p $(dir $@ )
@@ -903,6 +1062,17 @@ stamps/check-dhrystone-newlib-nano-%: \
9031062 $(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
9041063 $(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
9051064
1065+ .PHONY : check-dhrystone-picolibc
1066+ check-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1067+ stamps/check-dhrystone-picolibc-% : \
1068+ stamps/build-gcc-picolibc-stage2 \
1069+ $(SIM_STAMP ) \
1070+ $(wildcard $(srcdir ) /test/benchmarks/dhrystone/* )
1071+ $(eval $@ _ARCH := $(word 4,$(subst -, ,$@ ) ) )
1072+ $(eval $@ _ABI := $(word 5,$(subst -, ,$@ ) ) )
1073+ $(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
1074+ $(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
1075+
9061076.PHONY : check-dhrystone-linux
9071077check-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
9081078
@@ -923,6 +1093,10 @@ stamps/check-binutils-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) s
9231093 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-newlib check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
9241094 date > $@
9251095
1096+ stamps/check-binutils-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1097+ $(SIM_PREPARE ) $(MAKE ) -C build-binutils-picolibc check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1098+ date > $@
1099+
9261100stamps/check-binutils-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
9271101 $(SIM_PREPARE ) $(MAKE ) -C build-binutils-linux check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
9281102 date > $@
@@ -935,6 +1109,10 @@ stamps/check-gdb-newlib-nano: stamps/build-gcc-newlib-stage2 stamps/build-gdb-ne
9351109 $(SIM_PREPARE ) $(MAKE ) -C build-gdb-newlib check-gdb -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
9361110 date > $@
9371111
1112+ stamps/check-gdb-picolibc : stamps/build-gcc-picolibc-stage2 stamps/build-gdb-picolibc $(SIM_STAMP ) stamps/build-dejagnu
1113+ $(SIM_PREPARE ) $(MAKE ) -C build-gdb-picolibc check-gdb -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1114+ date > $@
1115+
9381116stamps/check-gdb-linux : stamps/build-gcc-linux-stage2 stamps/build-gdb-linux $(SIM_STAMP ) stamps/build-dejagnu
9391117 $(SIM_PREPARE ) $(MAKE ) -C build-gdb-linux check-gdb -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
9401118 date > $@
@@ -946,6 +1124,10 @@ report-gcc-newlib: stamps/check-gcc-newlib
9461124report-gcc-newlib-nano : stamps/check-gcc-newlib-nano
9471125 $(srcdir ) /scripts/testsuite-filter gcc newlib-nano $(srcdir ) /test/allowlist ` find build-gcc-newlib-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
9481126
1127+ .PHONY : report-gcc-picolibc
1128+ report-gcc-picolibc : stamps/check-gcc-picolibc
1129+ $(srcdir ) /scripts/testsuite-filter gcc picolibc $(srcdir ) /test/allowlist ` find build-gcc-picolibc-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
1130+
9491131.PHONY : report-gcc-linux
9501132report-gcc-linux : stamps/check-gcc-linux
9511133 $(srcdir ) /scripts/testsuite-filter gcc glibc $(srcdir ) /test/allowlist ` find build-gcc-linux-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
@@ -956,6 +1138,10 @@ report-dhrystone-newlib: $(patsubst %,stamps/check-dhrystone-newlib-%,$(NEWLIB_M
9561138report-dhrystone-newlib-nano : $(patsubst % ,stamps/check-dhrystone-newlib-nano-% ,$(NEWLIB_MULTILIB_NAMES ) )
9571139 if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
9581140
1141+ .PHONY : report-dhrystone-picolibc
1142+ report-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1143+ if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
1144+
9591145.PHONY : report-dhrystone-linux
9601146report-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
9611147 if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
@@ -971,14 +1157,20 @@ report-binutils-newlib-nano: stamps/check-binutils-newlib-nano
9711157 $(srcdir ) /test/allowlist \
9721158 ` find build-binutils-newlib/ -name * .sum | paste -sd " ," -`
9731159
1160+ .PHONY : report-binutils-picolibc
1161+ report-binutils-picolibc : stamps/check-binutils-picolibc
1162+ $(srcdir ) /scripts/testsuite-filter binutils picolibc \
1163+ $(srcdir ) /test/allowlist \
1164+ ` find build-binutils-picolibc/ -name * .sum | paste -sd " ," -`
1165+
9741166.PHONY : report-binutils-linux
9751167report-binutils-linux : stamps/check-binutils-linux
9761168 $(srcdir ) /scripts/testsuite-filter binutils glibc \
9771169 $(srcdir ) /test/allowlist \
9781170 ` find build-binutils-linux/ -name * .sum | paste -sd " ," -`
9791171
9801172clean :
981- rm -rf build-* stamps install-newlib-nano
1173+ rm -rf build-* stamps install-newlib-nano picolibc-cross.txt
9821174
9831175.PHONY : report-gdb-newlib report-gdb-newlib-nano
9841176report-gdb-newlib : stamps/check-gdb-newlib
@@ -993,6 +1185,13 @@ report-gdb-newlib-nano: stamps/check-gdb-newlib-nano
9931185 if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-newlib/%.log,$(NEWLIB_MULTILIB_NAMES)); then exit 1; fi
9941186 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
9951187
1188+ .PHONY : report-gdb-picolibc
1189+ report-gdb-picolibc : stamps/check-gdb-picolibc
1190+ stat $(patsubst % ,$(srcdir ) /test/gdb-picolibc/% .log,$(PICOLIBC_MULTILIB_NAMES ) ) || exit 1
1191+ # Fail if there are blank lines in the log file used as input for grep below.
1192+ if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-picolibc/%.log,$(PICOLIBC_MULTILIB_NAMES)); then exit 1; fi
1193+ 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
1194+
9961195.PHONY : report-gdb-linux
9971196report-gdb-linux : stamps/check-gdb-linux
9981197 stat $(patsubst % ,$(srcdir ) /test/gdb-linux/% .log,$(GLIBC_MULTILIB_NAMES ) ) || exit 1
0 commit comments