From 7d356b1ddab0150b7347a5952e3bff2a04704fd4 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 13 Jul 2017 20:09:53 +0200 Subject: added an exit function added Linux syscall stubs for exit and write adapted all tests added a printf test made stdio work on Linux or AbaOs syscalls --- tests/libc/Makefile | 70 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 22 deletions(-) (limited to 'tests/libc/Makefile') diff --git a/tests/libc/Makefile b/tests/libc/Makefile index 43620d7..59fa715 100644 --- a/tests/libc/Makefile +++ b/tests/libc/Makefile @@ -1,53 +1,79 @@ CC := gcc -CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror -INCLUDES = -I../../src/libc -I../../src/kernel -LD := ld +DEFINES = -DOS_LINUX +INCLUDES = -I. -I../../src/libc -I../../src/kernel +CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror $(INCLUDES) $(DEFINES) +# tcc misses crt1.o from gcc?! and fails with _start symbol missing on -nostdlib, +# this seems very wrong.. +# TODO: for now test sanity of library tests with gcc and enabling -nostdlib +#LDFLAGS := -nostdlib +NASMFLAGS := -f elf32 +NASM := nasm all: test -test_strlcpy: test_strlcpy.o ../../src/libc/string.o - $(CC) -o test_strlcpy test_strlcpy.o ../../src/libc/string.o +test_strlcpy: test_strlcpy.o ../../src/libc/string.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) -o test_strlcpy test_strlcpy.o ../../src/libc/string.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o test_strlcpy.o: test_strlcpy.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o test_strlcpy.o test_strlcpy.c + $(CC) $(CFLAGS) -c -o test_strlcpy.o test_strlcpy.c -test_strlcat: test_strlcat.o ../../src/libc/string.o - $(CC) -o test_strlcat test_strlcat.o ../../src/libc/string.o +test_strlcat: test_strlcat.o ../../src/libc/string.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) $(LDFLAGS) -o test_strlcat test_strlcat.o ../../src/libc/string.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o test_strlcat.o: test_strlcat.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o test_strlcat.o test_strlcat.c + $(CC) $(CFLAGS) -c -o test_strlcat.o test_strlcat.c -test_itoa: test_itoa.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o - $(CC) -o test_itoa test_itoa.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o +test_itoa: test_itoa.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) $(LDFLAGS) -o test_itoa test_itoa.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o test_itoa.o: test_itoa.c ../../src/libc/stdlib.h - $(CC) $(CFLAGS) $(INCLUDES) -c -o test_itoa.o test_itoa.c + $(CC) $(CFLAGS) -c -o test_itoa.o test_itoa.c -test_malloc: test_malloc.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o - $(CC) -o test_malloc test_malloc.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o +test_malloc: test_malloc.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) $(LDFLAGS) -o test_malloc test_malloc.o ../../src/libc/stdio.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o test_malloc.o: test_malloc.c ../../src/libc/stdlib.h - $(CC) $(CFLAGS) $(INCLUDES) -c -o test_malloc.o test_malloc.c + $(CC) $(CFLAGS) -c -o test_malloc.o test_malloc.c + +test_printf: test_printf.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) $(LDFLAGS) -o test_printf test_printf.o ../../src/libc/stdio.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + +test_printf.o: test_printf.c ../../src/libc/stdlib.h + $(CC) $(CFLAGS) -c -o test_printf.o test_printf.c + +test_abort: test_abort.o ../../src/libc/stdlib.o ../../src/libc/stdio.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + $(CC) $(LDFLAGS) -o test_abort test_abort.o ../../src/libc/stdio.o ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o kernel_stub.o kernel_stub_asm.o + +test_abort.o: test_abort.c ../../src/libc/stdlib.h + $(CC) $(CFLAGS) -c -o test_abort.o test_abort.c ../../src/libc/string.o: ../../src/libc/string.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o ../../src/libc/string.o ../../src/libc/string.c + $(CC) $(CFLAGS) -c -o ../../src/libc/string.o ../../src/libc/string.c ../../src/libc/stdlib.o: ../../src/libc/stdlib.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o ../../src/libc/stdlib.o ../../src/libc/stdlib.c + $(CC) $(CFLAGS) -c -o ../../src/libc/stdlib.o ../../src/libc/stdlib.c + +../../src/libc/stdio.o: ../../src/libc/stdio.c + $(CC) $(CFLAGS) -c -o ../../src/libc/stdio.o ../../src/libc/stdio.c ../../src/kernel/memorymanagement.o: ../../src/kernel/memorymanagement.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o ../../src/kernel/memorymanagement.o ../../src/kernel/memorymanagement.c + $(CC) $(CFLAGS) -c -o ../../src/kernel/memorymanagement.o ../../src/kernel/memorymanagement.c kernel_stub.o: kernel_stub.c - $(CC) $(CFLAGS) $(INCLUDES) -c -o kernel_stub.o kernel_stub.c + $(CC) $(CFLAGS) -c -o kernel_stub.o kernel_stub.c + +kernel_stub_asm.o: kernel_stub.asm + $(NASM) kernel_stub.asm $(NASMFLAGS) -o kernel_stub_asm.o -test: test_strlcpy test_strlcat test_itoa test_malloc +test: test_strlcpy test_strlcat test_itoa test_malloc test_abort test_printf ./test_strlcpy ./test_strlcat ./test_itoa ./test_malloc + ./test_printf + -./test_abort clean: - -rm -f test_strlcpy test_strlcat test_itoa test_malloc - -rm -f ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/kernel/memorymanagement.o + -rm -f test_strlcpy test_strlcat test_itoa test_malloc test_printf test_abort + -rm -f ../../src/libc/stdlib.o ../../src/libc/string.o ../../src/libc/stdio.o ../../src/kernel/memorymanagement.o -rm -f *.o -- cgit v1.2.3-54-g00ecf