Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision d86393c81ef43390e393dd578141470b2c8ef675)
+++ kernel/Makefile	(revision 15e0b4d88710e5d7863534c3e28a90d76a4aa4ca)
@@ -92,5 +92,6 @@
 	-ffreestanding -nostdlib \
 	-fexec-charset=UTF-8 -finput-charset=UTF-8 -fno-common \
-	-fdebug-prefix-map=$(realpath $(ROOT_PATH))=.
+	-fdebug-prefix-map=$(realpath $(ROOT_PATH))=. \
+	-Wa,--fatal-warnings
 
 GCC_CFLAGS = -std=gnu11 -Wall -Wextra -Wno-unused-parameter \
@@ -101,5 +102,6 @@
 	-Wno-missing-field-initializers -Wno-unused-command-line-argument \
 	-Wmissing-prototypes -Werror-implicit-function-declaration \
-	-Wwrite-strings -pipe -fno-stack-protector -fno-PIC
+	-Wwrite-strings -pipe -fno-stack-protector -fno-PIC \
+	-mllvm -asm-macro-max-nesting-depth=1000
 
 ifeq ($(CONFIG_DEBUG),y)
@@ -119,5 +121,4 @@
 endif
 
-AFLAGS += --fatal-warnings
 LDFLAGS += -Wl,-n -T $(LINK) -Wl,-M,--fatal-warnings,--warn-common
 
@@ -341,14 +342,8 @@
 GENARCH_DEPENDS := $(addsuffix .d,$(basename $(GENARCH_SOURCES)))
 
-AS_CFLAGS := $(addprefix -Xassembler ,$(AFLAGS))
-
 -include $(GENERIC_DEPENDS)
 -include $(ARCH_DEPENDS)
 -include $(GENARCH_DEPENDS)
 
-ifeq ($(COMPILER),clang)
-	AS_CFLAGS += -mllvm -asm-macro-max-nesting-depth=1000
-endif
-
 ifeq ($(CONFIG_SYMTAB),y)
 	SYMTAB_OBJECTS := generic/src/debug/real_map.o
@@ -374,8 +369,8 @@
 
 %.o: %.S
-	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(AS_CFLAGS)
+	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS)
 
 %.o: %.s
-	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(AS_CFLAGS)
+	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS)
 
 %.o: %.c
@@ -383,8 +378,8 @@
 
 $(REAL_MAP).o: $(REAL_MAP).bin
-	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$<\"" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $@ -
+	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$<\"" | $(CC) $(CFLAGS) -x assembler -c -o $@ -
 
 $(REAL_MAP).bin: $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS)
-	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(EMPTY_MAP) -
+	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)" | $(CC) $(CFLAGS) -x assembler -c -o $(EMPTY_MAP) -
 	$(CC) $(DEFS) $(CFLAGS) $(LDFLAGS) -Wl,-Map,$(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
 	$(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
@@ -394,5 +389,5 @@
 	# on architectures that have bss after symtab
 
-	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$@\"" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(SIZEOK_MAP) -
+	echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$@\"" | $(CC) $(CFLAGS) -x assembler -c -o $(SIZEOK_MAP) -
 	$(CC) $(DEFS) $(CFLAGS) $(LDFLAGS) -Wl,-Map,$(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
 	$(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
Index: kernel/arch/arm32/Makefile.inc
===================================================================
--- kernel/arch/arm32/Makefile.inc	(revision d86393c81ef43390e393dd578141470b2c8ef675)
+++ kernel/arch/arm32/Makefile.inc	(revision 15e0b4d88710e5d7863534c3e28a90d76a4aa4ca)
@@ -35,5 +35,5 @@
 	# This is necessary to allow vmsr insn and fpexc manipulation
 	# Use vfp32 to allow context save/restore of d16-d31 regs.
-	AFLAGS += -mfloat-abi=hard -mfpu=vfp3
+	COMMON_CFLAGS += -mfloat-abi=hard
 endif
 
Index: kernel/arch/ia64/Makefile.inc
===================================================================
--- kernel/arch/ia64/Makefile.inc	(revision d86393c81ef43390e393dd578141470b2c8ef675)
+++ kernel/arch/ia64/Makefile.inc	(revision 15e0b4d88710e5d7863534c3e28a90d76a4aa4ca)
@@ -30,5 +30,4 @@
 COMMON_CFLAGS += -mconstant-gp -fno-unwind-tables -mfixed-range=f32-f127
 
-AFLAGS += -mconstant-gp
 LDFLAGS += -Wl,-EL
 
Index: kernel/arch/ppc32/Makefile.inc
===================================================================
--- kernel/arch/ppc32/Makefile.inc	(revision d86393c81ef43390e393dd578141470b2c8ef675)
+++ kernel/arch/ppc32/Makefile.inc	(revision 15e0b4d88710e5d7863534c3e28a90d76a4aa4ca)
@@ -28,6 +28,5 @@
 
 
-COMMON_CFLAGS += -mcpu=powerpc -msoft-float -m32
-AFLAGS += -a32
+COMMON_CFLAGS += -mcpu=powerpc -msoft-float -m32 -Wa,-a32
 LDFLAGS += -Wl,-no-check-sections
 
