@@ -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@
@@ -57,9 +58,11 @@ MULTILIB_FLAGS := @multilib_flags@
57
58
MULTILIB_GEN := @multilib_gen@
58
59
ifeq ($(MULTILIB_GEN ) ,)
59
60
NEWLIB_MULTILIB_NAMES := @newlib_multilib_names@
61
+ PICOLIBC_MULTILIB_NAMES := @picolibc_multilib_names@
60
62
GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS )
61
63
else
62
64
NEWLIB_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]}')
63
66
GCC_MULTILIB_FLAGS := $(MULTILIB_FLAGS ) --with-multilib-generator="$(MULTILIB_GEN ) "
64
67
endif
65
68
GLIBC_MULTILIB_NAMES := @glibc_multilib_names@
73
76
make_tuple = riscv$(1 ) -unknown-$(2 )
74
77
LINUX_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-gnu)
75
78
NEWLIB_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
79
+ PICOLIBC_TUPLE ?= $(call make_tuple,$(XLEN ) ,elf)
76
80
MUSL_TUPLE ?= $(call make_tuple,$(XLEN ) ,linux-musl)
77
81
78
82
CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA ) @target_cflags@ @cmodel@
@@ -94,6 +98,10 @@ NEWLIB_CXX_FOR_TARGET ?= $(NEWLIB_TUPLE)-g++
94
98
NEWLIB_TARGET_BOARDS ?= $(shell echo "$(NEWLIB_MULTILIB_NAMES ) " | sed 's!\([_a-z0-9]* \) -\([_a-z0-9]*\)!riscv-sim/-march=\1/-mabi=\2/@cmodel@!g')
95
99
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')
96
100
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
+
97
105
MUSL_TARGET_FLAGS := $(MUSL_TARGET_FLAGS_EXTRA )
98
106
MUSL_CC_FOR_TARGET ?= $(MUSL_TUPLE ) -gcc
99
107
MUSL_CXX_FOR_TARGET ?= $(MUSL_TUPLE ) -g++
@@ -102,6 +110,7 @@ CONFIGURE_HOST = @configure_host@
102
110
103
111
all : @default_target@
104
112
newlib : stamps/build-gcc-newlib-stage2
113
+ picolibc : stamps/build-gcc-picolibc-stage2
105
114
linux : stamps/build-gcc-linux-stage2
106
115
ifneq (,$(findstring riscv32,$(MUSL_TUPLE ) ) )
107
116
.PHONY : musl
@@ -112,6 +121,7 @@ musl: stamps/build-gcc-musl-stage2
112
121
endif
113
122
ifeq (@enable_gdb@,--enable-gdb)
114
123
newlib : stamps/build-gdb-newlib
124
+ picolibc : stamps/build-gdb-picolibc
115
125
linux : stamps/build-gdb-linux
116
126
endif
117
127
linux-native : stamps/build-gcc-linux-native
@@ -123,43 +133,52 @@ build-gcc%: stamps/build-gcc-@default_target@-stage%
123
133
ifeq (@default_target@,linux)
124
134
build-libc : $(addprefix stamps/build-glibc-linux-,$(GLIBC_MULTILIB_NAMES ) )
125
135
else
136
+ ifeq (@default_target@,picolibc)
137
+ build-libc : stamps/build-picolibc
138
+ else
126
139
build-libc : stamps/build-newlib stamps/build-newlib-nano \
127
140
stamps/merge-newlib-nano
128
141
endif
142
+ endif
129
143
build-qemu : stamps/build-qemu
130
144
131
145
REGRESSION_TEST_LIST = gcc
132
146
133
147
.PHONY : check
134
148
check : check-@default_target@
135
- .PHONY : check-linux check-newlib
149
+ .PHONY : check-linux check-newlib check-picolibc
136
150
check-linux : $(patsubst % ,check-% -linux,$(REGRESSION_TEST_LIST ) )
137
151
check-newlib : $(patsubst % ,check-% -newlib,$(REGRESSION_TEST_LIST ) )
138
152
check-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
140
155
check-gcc : check-gcc-@default_target@
141
156
check-gcc-linux : stamps/check-gcc-linux
142
157
check-gcc-newlib : stamps/check-gcc-newlib
143
158
check-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
145
161
check-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
147
163
check-binutils : check-binutils-@default_target@
148
164
check-binutils-linux : stamps/check-binutils-linux
149
165
check-binutils-newlib : stamps/check-binutils-newlib
150
166
check-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
152
169
check-gdb : check-gdb-@default_target@
153
170
check-gdb-linux : stamps/check-gdb-linux
154
171
check-gdb-newlib : stamps/check-gdb-newlib
155
172
check-gdb-newlib-nano : stamps/check-gdb-newlib-nano
173
+ check-gdb-picolibc : stamps/check-gdb-picolibc
156
174
157
175
.PHONY : report
158
176
report : report-@default_target@
159
- .PHONY : report-linux report-newlib report-newlib-nano
177
+ .PHONY : report-linux report-newlib report-newlib-nano report-picolibc
160
178
report-linux : $(patsubst % ,report-% -linux,$(REGRESSION_TEST_LIST ) )
161
179
report-newlib : $(patsubst % ,report-% -newlib,$(REGRESSION_TEST_LIST ) )
162
180
report-newlib-nano : $(patsubst % ,report-% -newlib-nano,$(REGRESSION_TEST_LIST ) )
181
+ report-picolibc : $(patsubst % ,report-% -picolibc,$(REGRESSION_TEST_LIST ) )
163
182
.PHONY : report-gcc
164
183
report-gcc : report-gcc-@default_target@
165
184
.PHONY : report-dhrystone
@@ -678,6 +697,141 @@ stamps/build-gcc-newlib-stage2: $(GCC_SRCDIR) $(GCC_SRC_GIT) stamps/build-newlib
678
697
$(MAKE ) -C $(notdir $@ ) install
679
698
mkdir -p $(dir $@ ) && touch $@
680
699
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
+
681
835
#
682
836
# MUSL
683
837
#
@@ -876,6 +1030,11 @@ stamps/check-gcc-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) stamps
876
1030
mkdir -p $(dir $@ )
877
1031
date > $@
878
1032
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
+
879
1038
stamps/check-gcc-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
880
1039
$(SIM_PREPARE ) $(MAKE ) -C build-gcc-linux-stage2 check-gcc " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '"
881
1040
mkdir -p $(dir $@ )
@@ -903,6 +1062,17 @@ stamps/check-dhrystone-newlib-nano-%: \
903
1062
$(eval $@ _XLEN := $(patsubst rv32% ,32,$(patsubst rv64% ,64,$($@ _ARCH) ) ) )
904
1063
$(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
905
1064
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
+
906
1076
.PHONY : check-dhrystone-linux
907
1077
check-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
908
1078
@@ -923,6 +1093,10 @@ stamps/check-binutils-newlib-nano: stamps/build-gcc-newlib-stage2 $(SIM_STAMP) s
923
1093
$(SIM_PREPARE ) $(MAKE ) -C build-binutils-newlib check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
924
1094
date > $@
925
1095
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
+
926
1100
stamps/check-binutils-linux : stamps/build-gcc-linux-stage2 $(SIM_STAMP ) stamps/build-dejagnu
927
1101
$(SIM_PREPARE ) $(MAKE ) -C build-binutils-linux check-binutils check-gas check-ld -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
928
1102
date > $@
@@ -935,6 +1109,10 @@ stamps/check-gdb-newlib-nano: stamps/build-gcc-newlib-stage2 stamps/build-gdb-ne
935
1109
$(SIM_PREPARE ) $(MAKE ) -C build-gdb-newlib check-gdb -k " RUNTESTFLAGS=--target_board='$( NEWLIB_NANO_TARGET_BOARDS) '" || true
936
1110
date > $@
937
1111
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
+
938
1116
stamps/check-gdb-linux : stamps/build-gcc-linux-stage2 stamps/build-gdb-linux $(SIM_STAMP ) stamps/build-dejagnu
939
1117
$(SIM_PREPARE ) $(MAKE ) -C build-gdb-linux check-gdb -k " RUNTESTFLAGS=--target_board='$( GLIBC_TARGET_BOARDS) '" || true
940
1118
date > $@
@@ -946,6 +1124,10 @@ report-gcc-newlib: stamps/check-gcc-newlib
946
1124
report-gcc-newlib-nano : stamps/check-gcc-newlib-nano
947
1125
$(srcdir ) /scripts/testsuite-filter gcc newlib-nano $(srcdir ) /test/allowlist ` find build-gcc-newlib-stage2/gcc/testsuite/ -name * .sum | paste -sd " ," -`
948
1126
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
+
949
1131
.PHONY : report-gcc-linux
950
1132
report-gcc-linux : stamps/check-gcc-linux
951
1133
$(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
956
1138
report-dhrystone-newlib-nano : $(patsubst % ,stamps/check-dhrystone-newlib-nano-% ,$(NEWLIB_MULTILIB_NAMES ) )
957
1139
if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
958
1140
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
+
959
1145
.PHONY : report-dhrystone-linux
960
1146
report-dhrystone-linux : $(patsubst % ,stamps/check-dhrystone-linux-% ,$(GLIBC_MULTILIB_NAMES ) )
961
1147
if cat $^ | grep -v ' ^PASS' ; then false ; else true ; fi
@@ -971,14 +1157,20 @@ report-binutils-newlib-nano: stamps/check-binutils-newlib-nano
971
1157
$(srcdir ) /test/allowlist \
972
1158
` find build-binutils-newlib/ -name * .sum | paste -sd " ," -`
973
1159
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
+
974
1166
.PHONY : report-binutils-linux
975
1167
report-binutils-linux : stamps/check-binutils-linux
976
1168
$(srcdir ) /scripts/testsuite-filter binutils glibc \
977
1169
$(srcdir ) /test/allowlist \
978
1170
` find build-binutils-linux/ -name * .sum | paste -sd " ," -`
979
1171
980
1172
clean :
981
- rm -rf build-* stamps install-newlib-nano
1173
+ rm -rf build-* stamps install-newlib-nano picolibc-cross.txt
982
1174
983
1175
.PHONY : report-gdb-newlib report-gdb-newlib-nano
984
1176
report-gdb-newlib : stamps/check-gdb-newlib
@@ -993,6 +1185,13 @@ report-gdb-newlib-nano: stamps/check-gdb-newlib-nano
993
1185
if grep '^$$' $(patsubst %,$(srcdir)/test/gdb-newlib/%.log,$(NEWLIB_MULTILIB_NAMES)); then exit 1; fi
994
1186
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
995
1187
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
+
996
1195
.PHONY : report-gdb-linux
997
1196
report-gdb-linux : stamps/check-gdb-linux
998
1197
stat $(patsubst % ,$(srcdir ) /test/gdb-linux/% .log,$(GLIBC_MULTILIB_NAMES ) ) || exit 1
0 commit comments