From 3a1570d0e6531e3f49e79bbbe4e24d6280e49b1a Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Tue, 18 Jul 2017 19:29:20 +0200 Subject: reverted clang --no-inline flag and readded bug, I can not make clang consistently produce correct code with all combinations of hosts and cross targets! --- BUGS | 6 ++++++ tests/libc/Makefile | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/BUGS b/BUGS index dddc5d3..1e88503 100644 --- a/BUGS +++ b/BUGS @@ -17,3 +17,9 @@ library, not part of the kernel directory, get rid of kernel_panic there (this requires the kernel_stub.c kernel_panic to exist in libc tests) +- clang and -O2/-O3 break test_printf.c and printf, va_arg macros + break. inlining va_arg functions should be possible. -Wno-inline, + attribute(used), attribute(noinline) have no effect (or not always, + depends on the host platform?). + + diff --git a/tests/libc/Makefile b/tests/libc/Makefile index cf78271..37c383a 100644 --- a/tests/libc/Makefile +++ b/tests/libc/Makefile @@ -2,9 +2,7 @@ CC := gcc DEFINES = -DOS_LINUX OPT := -O0 INCLUDES = -I. -I../../src/libc -I../../src/kernel -I/home/abaumann/cross-compilers/include -# clang 4.0.1 needs -fno-inline, other va_ functions get inlined and -# va_xxx macros segfault -CFLAGS := -fno-inline -std=c99 -m32 -ffreestanding $(OPT) -g -Wall -Werror $(INCLUDES) $(DEFINES) +CFLAGS := -std=c99 -m32 -ffreestanding $(OPT) -g -Wall -Werror $(INCLUDES) $(DEFINES) LD := $(CC) LDFLAGS := NASMFLAGS := -f elf32 -- cgit v1.2.3-54-g00ecf