@@ -5,6 +5,7 @@ INSTALL_DIR := @prefix@
5
5
GCC_SRCDIR := @with_gcc_src@
6
6
BINUTILS_SRCDIR := @with_binutils_src@
7
7
NEWLIB_SRCDIR := @with_newlib_src@
8
+ PICOLIBC_SRCDIR := @with_picolibc_src@
8
9
GLIBC_SRCDIR := @with_glibc_src@
9
10
MUSL_SRCDIR := @with_musl_src@
10
11
LINUX_HEADERS_SRCDIR := @with_linux_headers_src@
@@ -59,9 +60,11 @@ MULTILIB_FLAGS := @multilib_flags@
59
60
MULTILIB_GEN := @multilib_gen@
60
61
ifeq ($(MULTILIB_GEN ) ,)
61
62
NEWLIB_MULTILIB_NAMES := @newlib_multilib_names@
63
+ PICOLIBC_MULTILIB_NAMES := @picolibc_multilib_names@
62
64
GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS )
63
65
else
64
66
NEWLIB_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]}')
65
68
GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS ) --with-multilib-generator="$(MULTILIB_GEN ) "
66
69
endif
67
70
GLIBC_MULTILIB_NAMES := @glibc_multilib_names@
75
78
make_tuple = riscv$(1 ) -unknown-$(2 )
76
79
LINUX_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-gnu)
77
80
NEWLIB_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
81
+ PICOLIBC_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
78
82
MUSL_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-musl)
79
83
80
84
CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA ) @target_cflags@ @cmodel@
@@ -96,6 +100,10 @@ NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++
96
100
NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
97
101
NEWLIB_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')
98
102
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
+
99
107
MUSL_TARGET_FLAGS := $(MUSL_TARGET_FLAGS_EXTRA )
100
108
MUSL_CC_FOR_TARGET ?= $(MUSL_TUPLE ) -gcc
101
109
MUSL_CXX_FOR_TARGET ?= $(MUSL_TUPLE ) -g++
@@ -104,6 +112,7 @@ CONFIGURE_HOST = @configure_host@
104
112
105
113
all : @default_target@
106
114
newlib : stamps/build-gcc-newlib-stage2
115
+ picolibc : stamps/build-gcc-picolibc-stage2
107
116
linux : stamps/build-gcc-linux-stage2
108
117
ifneq (,$(findstring riscv32,$(MUSL_TUPLE ) ) )
109
118
.PHONY : musl
@@ -114,6 +123,7 @@ musl: stamps/build-gcc-musl-stage2
114
123
endif
115
124
ifeq (@enable_gdb@,--enable-gdb)
116
125
newlib : stamps/build-gdb-newlib
126
+ picolibc : stamps/build-gdb-picolibc
117
127
linux : stamps/build-gdb-linux
118
128
endif
119
129
linux-native : stamps/build-gcc-linux-native
@@ -125,45 +135,54 @@ build-gcc%: stamps/build-gcc-@default_target@-stage%
125
135
ifeq (@default_target@,linux)
126
136
build-libc : $(addprefix stamps/build-glibc-linux-,$(GLIBC_MULTILIB_NAMES ) )
127
137
else
138
+ ifeq (@default_target@,picolibc)
139
+ build-libc : stamps/build-picolibc
140
+ else
128
141
build-libc : stamps/build-newlib stamps/build-newlib-nano \
129
142
stamps/merge-newlib-nano
130
143
endif
144
+ endif
131
145
build-qemu : stamps/build-qemu
132
146
133
147
REGRESSION_TEST_LIST = gcc
134
148
135
149
.PHONY : check
136
150
check : check-@default_target@
137
- .PHONY : check-linux check-newlib
151
+ .PHONY : check-linux check-newlib check-picolibc
138
152
check-linux : $(patsubst % ,check-% -linux,$(REGRESSION_TEST_LIST ) )
139
153
check-newlib : $(patsubst % ,check-% -newlib,$(REGRESSION_TEST_LIST ) )
140
154
check-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
142
157
check-gcc : check-gcc-@default_target@
143
158
check-gcc-linux : stamps/check-gcc-linux
144
159
check-gcc-newlib : stamps/check-gcc-newlib
145
160
check-gcc-newlib-nano : stamps/check-gcc-newlib-nano
161
+ check-gcc-picolibc : stamps/check-gcc-picolibc
146
162
.PHONY : check-glibc-linux
147
163
check-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
149
165
check-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
151
167
check-binutils : check-binutils-@default_target@
152
168
check-binutils-linux : stamps/check-binutils-linux
153
169
check-binutils-newlib : stamps/check-binutils-newlib
154
170
check-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
156
173
check-gdb : check-gdb-@default_target@
157
174
check-gdb-linux : stamps/check-gdb-linux
158
175
check-gdb-newlib : stamps/check-gdb-newlib
159
176
check-gdb-newlib-nano : stamps/check-gdb-newlib-nano
177
+ check-gdb-picolibc : stamps/check-gdb-picolibc
160
178
161
179
.PHONY : report
162
180
report : report-@default_target@
163
- .PHONY : report-linux report-newlib report-newlib-nano
181
+ .PHONY : report-linux report-newlib report-newlib-nano report-picolibc
164
182
report-linux : $(patsubst % ,report-% -linux,$(REGRESSION_TEST_LIST ) )
165
183
report-newlib : $(patsubst % ,report-% -newlib,$(REGRESSION_TEST_LIST ) )
166
184
report-newlib-nano : $(patsubst % ,report-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
185
+ report-picolibc : $(patsubst % ,report-% -picolibc,$(REGRESSION_TEST_LIST ) )
167
186
.PHONY : report-gcc
168
187
report-gcc : report-gcc-@default_target@
169
188
.PHONY : report-dhrystone
@@ -688,6 +707,141 @@ stamps/build-gcc-newlib-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-newlib
688
707
$(MAKE ) -C $(notdir $@ ) install
689
708
mkdir -p $(dir $@ ) && touch $@
690
709
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 setup --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 ) -Os $(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
+
691
845
#
692
846
# MUSL
693
847
#
@@ -887,6 +1041,11 @@ stamps/check-gcc-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) stamps
887
1041
mkdir -p $(dir $@ )
888
1042
date > $@
889
1043
1044
+ stamps/check-gcc-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1045
+ $(SIM_PREPARE ) $(MAKE ) -C build-gcc-picolibc-stage2 check-gcc " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '"
1046
+ mkdir -p $(dir $@ )
1047
+ date > $@
1048
+
890
1049
stamps/check-gcc-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
891
1050
$(SIM_PREPARE ) $(MAKE ) -C build-gcc-linux-stage2 check-gcc " RUNTESTFLAGS=$( RUNTESTFLAGS) --target_board='$( GLIBC_TARGET_BOARDS) '"
892
1051
mkdir -p $(dir $@ )
@@ -921,6 +1080,17 @@ stamps/check-dhrystone-newlib-nano-%: \
921
1080
$(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
922
1081
$(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
923
1082
1083
+ .PHONY : check-dhrystone-picolibc
1084
+ check-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1085
+ stamps/check-dhrystone-picolibc-% : \
1086
+ stamps/build-gcc-picolibc-stage2 \
1087
+ $(SIM_STAMP ) \
1088
+ $(wildcard $(srcdir ) /test/benchmarks/dhrystone/* )
1089
+ $(eval $@ _ARCH := $(word 4,$(subst -, ,$@ ) ) )
1090
+ $(eval $@ _ABI := $(word 5,$(subst -, ,$@ ) ) )
1091
+ $(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
1092
+ $(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
1093
+
924
1094
.PHONY : check-dhrystone-linux
925
1095
check-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
926
1096
@@ -941,6 +1111,10 @@ stamps/check-binutils-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) s
941
1111
$(SIM_PREPARE ) $(MAKE ) -C build-binutils-newlib check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
942
1112
date > $@
943
1113
1114
+ stamps/check-binutils-picolibc : stamps/build-gcc-picolibc-stage2 $(SIM_STAMP ) stamps/build-dejagnu
1115
+ $(SIM_PREPARE ) $(MAKE ) -C build-binutils-picolibc check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1116
+ date > $@
1117
+
944
1118
stamps/check-binutils-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
945
1119
$(SIM_PREPARE ) $(MAKE ) -C build-binutils-linux check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
946
1120
date > $@
@@ -953,6 +1127,10 @@ stamps/check-gdb-newlib-nano: stamps/build-gcc-newlib-stage2 stamps/build-gdb-ne
953
1127
$(SIM_PREPARE ) $(MAKE ) -C build-gdb-newlib check-gdb -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
954
1128
date > $@
955
1129
1130
+ stamps/check-gdb-picolibc : stamps/build-gcc-picolibc-stage2 stamps/build-gdb-picolibc $(SIM_STAMP ) stamps/build-dejagnu
1131
+ $(SIM_PREPARE ) $(MAKE ) -C build-gdb-picolibc check-gdb -k " RUNTESTFLAGS=--target_board='$( PICOLIBC_TARGET_BOARDS) '" || true
1132
+ date > $@
1133
+
956
1134
stamps/check-gdb-linux : stamps/build-gcc-linux-stage2 stamps/build-gdb-linux $(SIM_STAMP ) stamps/build-dejagnu
957
1135
$(SIM_PREPARE ) $(MAKE ) -C build-gdb-linux check-gdb -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
958
1136
date > $@
@@ -964,6 +1142,10 @@ report-gcc-newlib: stamps/check-gcc-newlib
964
1142
report-gcc-newlib-nano : stamps/check-gcc-newlib-nano
965
1143
$(srcdir ) /scripts/testsuite-filter gcc newlib-nano $(srcdir ) /test/allowlist ` find build-gcc-newlib-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
966
1144
1145
+ .PHONY : report-gcc-picolibc
1146
+ report-gcc-picolibc : stamps/check-gcc-picolibc
1147
+ $(srcdir ) /scripts/testsuite-filter gcc picolibc $(srcdir ) /test/allowlist ` find build-gcc-picolibc-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
1148
+
967
1149
.PHONY : report-gcc-linux
968
1150
report-gcc-linux : stamps/check-gcc-linux
969
1151
$(srcdir ) /scripts/testsuite-filter gcc glibc $(srcdir ) /test/allowlist ` find build-gcc-linux-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
@@ -974,6 +1156,10 @@ report-dhrystone-newlib: $(patsubst %,stamps/check-dhrystone-newlib-%,$(NEWLIB_M
974
1156
report-dhrystone-newlib-nano : $(patsubst % ,stamps/check-dhrystone-newlib-nano-% ,$(NEWLIB_MULTILIB_NAMES ) )
975
1157
if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
976
1158
1159
+ .PHONY : report-dhrystone-picolibc
1160
+ report-dhrystone-picolibc : $(patsubst % ,stamps/check-dhrystone-picolibc-% ,$(PICOLIBC_MULTILIB_NAMES ) )
1161
+ if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
1162
+
977
1163
.PHONY : report-dhrystone-linux
978
1164
report-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
979
1165
if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
@@ -989,14 +1175,20 @@ report-binutils-newlib-nano: stamps/check-binutils-newlib-nano
989
1175
$(srcdir ) /test/allowlist \
990
1176
` find build-binutils-newlib/ -name * .sum | paste -sd " ," -`
991
1177
1178
+ .PHONY : report-binutils-picolibc
1179
+ report-binutils-picolibc : stamps/check-binutils-picolibc
1180
+ $(srcdir ) /scripts/testsuite-filter binutils picolibc \
1181
+ $(srcdir ) /test/allowlist \
1182
+ ` find build-binutils-picolibc/ -name * .sum | paste -sd " ," -`
1183
+
992
1184
.PHONY : report-binutils-linux
993
1185
report-binutils-linux : stamps/check-binutils-linux
994
1186
$(srcdir ) /scripts/testsuite-filter binutils glibc \
995
1187
$(srcdir ) /test/allowlist \
996
1188
` find build-binutils-linux/ -name * .sum | paste -sd " ," -`
997
1189
998
1190
clean :
999
- rm -rf build-* stamps install-newlib-nano
1191
+ rm -rf build-* stamps install-newlib-nano picolibc-cross.txt
1000
1192
1001
1193
.PHONY : report-gdb-newlib report-gdb-newlib-nano
1002
1194
report-gdb-newlib : stamps/check-gdb-newlib
@@ -1011,6 +1203,13 @@ report-gdb-newlib-nano: stamps/check-gdb-newlib-nano
1011
1203
if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-newlib/%.log,$(NEWLIB_MULTILIB_NAMES)); then exit 1; fi
1012
1204
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
1013
1205
1206
+ .PHONY : report-gdb-picolibc
1207
+ report-gdb-picolibc : stamps/check-gdb-picolibc
1208
+ stat $(patsubst % ,$(srcdir ) /test/gdb-picolibc/% .log,$(PICOLIBC_MULTILIB_NAMES ) ) || exit 1
1209
+ # Fail if there are blank lines in the log file used as input for grep below.
1210
+ if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-picolibc/%.log,$(PICOLIBC_MULTILIB_NAMES)); then exit 1; fi
1211
+ 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
1212
+
1014
1213
.PHONY : report-gdb-linux
1015
1214
report-gdb-linux : stamps/check-gdb-linux
1016
1215
stat $(patsubst % ,$(srcdir ) /test/gdb-linux/% .log,$(GLIBC_MULTILIB_NAMES ) ) || exit 1
0 commit comments