Lines Matching +full:re +full:- +full:config
1 # SPDX-License-Identifier: GPL-2.0
3 # we're in ".../tools/testing/selftests/nolibc"
9 # We need this for the "__cc-option" macro.
13 ifneq ($(call is-absolute,$(O)),y)
26 cc-option = $(call __cc-option, $(CC),$(CLANG_CROSS_FLAGS),$(1),$(2))
30 # and the Qemu program used. It is copied as-is into ARCH except for
33 # XARCH | ARCH | config
34 # -------------|-----------|-------------------------
107 DEFCONFIG_mips32be = malta_defconfig generic/eb.config
108 DEFCONFIG_mipsn32le = malta_defconfig generic/64r2.config
109 DEFCONFIG_mipsn32be = malta_defconfig generic/64r6.config generic/eb.config
110 DEFCONFIG_mips64le = malta_defconfig generic/64r6.config
111 DEFCONFIG_mips64be = malta_defconfig generic/64r2.config generic/eb.config
126 EXTRACONFIG_x32 = -e CONFIG_X86_X32_ABI
127 EXTRACONFIG_arm = -e CONFIG_NAMESPACES
128 EXTRACONFIG_armthumb = -e CONFIG_NAMESPACES
129 EXTRACONFIG_m68k = -e CONFIG_BLK_DEV_INITRD
130 EXTRACONFIG_sh4 = -e CONFIG_BLK_DEV_INITRD -e CONFIG_CMDLINE_FROM_BOOTLOADER
173 QEMU_ARGS_BIOS = -bios $(QEMU_BIOS_$(XARCH))
176 # QEMU_ARGS : some arch-specific args to pass to qemu
177 QEMU_ARGS_i386 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=…
178 QEMU_ARGS_x86_64 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=…
179 QEMU_ARGS_x32 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=…
180 QEMU_ARGS_x86 = -M pc -append "console=ttyS0,9600 i8042.noaux panic=-1 $(TEST:%=NOLIBC_TEST=…
181 QEMU_ARGS_arm64 = -M virt -cpu cortex-a53 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
182 QEMU_ARGS_arm = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
183 QEMU_ARGS_armthumb = -M virt -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
184 QEMU_ARGS_mips32le = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
185 QEMU_ARGS_mips32be = -M malta -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
186 QEMU_ARGS_mipsn32le = -M malta -cpu 5KEc -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
187 QEMU_ARGS_mipsn32be = -M malta -cpu I6400 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
188 QEMU_ARGS_mips64le = -M malta -cpu I6400 -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
189 QEMU_ARGS_mips64be = -M malta -cpu 5KEc -append "panic=-1 $(TEST:%=NOLIBC_TEST=%)"
190 QEMU_ARGS_ppc = -M g3beige -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
191 QEMU_ARGS_ppc64 = -M powernv -append "console=hvc0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
192 QEMU_ARGS_ppc64le = -M powernv -append "console=hvc0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
193 QEMU_ARGS_riscv = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
194 QEMU_ARGS_riscv32 = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
195 QEMU_ARGS_riscv64 = -M virt -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
196 QEMU_ARGS_s390x = -M s390-ccw-virtio -append "console=ttyS0 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
197 QEMU_ARGS_loongarch = -M virt -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
198 QEMU_ARGS_sparc32 = -M SS-5 -m 256M -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=…
199 QEMU_ARGS_sparc64 = -M sun4u -append "console=ttyS0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
200 QEMU_ARGS_m68k = -M virt -append "console=ttyGF0,115200 panic=-1 $(TEST:%=NOLIBC_TEST=%)"
201 QEMU_ARGS_sh4 = -M r2d -serial file:/dev/stdout -append "console=ttySC1,115200 panic=-1 $(TE…
202 QEMU_ARGS = -m 1G $(QEMU_ARGS_$(XARCH)) $(QEMU_ARGS_BIOS) $(QEMU_ARGS_EXTRA)
214 CFLAGS_i386 = $(call cc-option,-m32)
215 CFLAGS_x32 = -mx32
216 CFLAGS_arm = -marm
217 CFLAGS_armthumb = -mthumb -march=armv6t2
218 CFLAGS_ppc = -m32 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
219 CFLAGS_ppc64 = -m64 -mbig-endian -mno-vsx $(call cc-option,-mmultiple)
220 CFLAGS_ppc64le = -m64 -mlittle-endian -mno-vsx $(call cc-option,-mabi=elfv2)
221 CFLAGS_s390x = -m64
222 CFLAGS_mips32le = -EL -mabi=32 -fPIC
223 CFLAGS_mips32be = -EB -mabi=32
224 CFLAGS_mipsn32le = -EL -mabi=n32 -fPIC -march=mips64r2
225 CFLAGS_mipsn32be = -EB -mabi=n32 -march=mips64r6
226 CFLAGS_mips64le = -EL -mabi=64 -march=mips64r6
227 CFLAGS_mips64be = -EB -mabi=64 -march=mips64r2
228 CFLAGS_loongarch = $(if $(LLVM),-fuse-ld=lld)
229 CFLAGS_sparc32 = $(call cc-option,-m32)
230 CFLAGS_sh4 = -ml -m4
240 LIBGCC := -lgcc
262 KBUILD_MAKE = $(MAKE) -C $(srctree) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) LLVM=
269 @echo " nolibc-test build the executable (uses \$$CC or \$$CROSS_COMPILE)"
270 @echo " libc-test build an executable using the compiler's default libc instead"
271 @echo " run-user runs the executable under QEMU (uses \$$XARCH, \$$TEST)"
272 @echo " initramfs.cpio prepare the initramfs archive with nolibc-test"
273 @echo " initramfs prepare the initramfs tree with nolibc-test"
274 @echo " defconfig create a fresh new default config (uses \$$XARCH)"
275 @echo " kernel (re)build the kernel (uses \$$XARCH, \$$CROSS_COMPILE)"
276 …@echo " kernel-standalone (re)build the kernel with the initramfs (uses \$$XARCH, \$$CROSS_COMPIL…
299 $(Q)rm -rf sysroot/$(ARCH) sysroot/sysroot
300 $(QUIET_MKDIR)mkdir -p sysroot
301 $(Q)$(MAKE) -C $(srctree) outputmakefile
302 …$(Q)$(MAKE) -C $(srctree)/tools/include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_stan…
306 nolibc-test: nolibc-test.c nolibc-test-linkage.c sysroot/$(ARCH)/include
307 $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
308 …-nostdlib -nostdinc -static -Isysroot/$(ARCH)/include nolibc-test.c nolibc-test-linkage.c $(LIBGCC)
310 nolibc-test: nolibc-test.c nolibc-test-linkage.c
311 $(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ \
312 …-nostdlib -static -include $(srctree)/tools/include/nolibc/nolibc.h nolibc-test.c nolibc-test-link…
315 libc-test: nolibc-test.c nolibc-test-linkage.c
316 $(QUIET_CC)$(HOSTCC) -o $@ nolibc-test.c nolibc-test-linkage.c
318 # local libc-test
319 run-libc-test: libc-test
320 $(Q)./libc-test > "$(CURDIR)/run.out" || :
323 # local nolibc-test
324 run-nolibc-test: nolibc-test
325 $(Q)./nolibc-test > "$(CURDIR)/run.out" || :
328 # qemu user-land test
329 run-user: nolibc-test
330 $(Q)qemu-$(QEMU_ARCH_USER) ./nolibc-test > "$(CURDIR)/run.out" || :
333 initramfs.cpio: kernel nolibc-test
334 $(QUIET_GEN)echo 'file /init nolibc-test 755 0 0' | $(objtree)/usr/gen_init_cpio - > initramfs.cpio
336 initramfs: nolibc-test
337 $(QUIET_MKDIR)mkdir -p initramfs
339 $(Q)cp nolibc-test initramfs/init
343 $(Q)if [ -n "$(EXTRACONFIG)" ]; then \
344 $(srctree)/scripts/config --file $(objtree)/.config $(EXTRACONFIG); \
351 kernel-standalone: initramfs
356 …$(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(IMAGE)" -initrd initramfs.cpio -s…
359 # re-run the tests from an existing kernel
361 …$(Q)qemu-system-$(QEMU_ARCH) -display none -no-reboot -kernel "$(IMAGE)" -initrd initramfs.cpio -s…
370 $(Q)rm -rf sysroot
371 $(call QUIET_CLEAN, nolibc-test)
372 $(Q)rm -f nolibc-test
373 $(call QUIET_CLEAN, libc-test)
374 $(Q)rm -f libc-test
376 $(Q)rm -rf initramfs.cpio
378 $(Q)rm -rf initramfs
380 $(Q)rm -rf run.out