+
+# CPU_CFLAGS-y contain options which are not warnings,
+# not include or library paths, and not optimizations.
+
+# Why -funsigned-char: I hunted a bug related to incorrect
+# sign extension of 'char' type for 10 hours straight. Not fun.
+CPU_CFLAGS-y := -funsigned-char -fno-builtin
+
+CPU_CFLAGS-y += $(call check_gcc,-fno-asm,)
+
+LDADD_LIBFLOAT=
+ifeq ($(UCLIBC_HAS_SOFT_FLOAT),y)
+# If -msoft-float isn't supported, we want an error anyway.
+# Hmm... might need to revisit this for arm since it has 2 different
+# soft float encodings.
+ifneq ($(TARGET_ARCH),nios)
+ifneq ($(TARGET_ARCH),nios2)
+ifneq ($(TARGET_ARCH),sh)
+ifneq ($(TARGET_ARCH),c6x)
+CPU_CFLAGS-y += -msoft-float
+endif
+endif
+endif
+endif
+ifeq ($(TARGET_ARCH),arm)
+# No longer needed with current toolchains, but leave it here for now.
+# If anyone is actually still using gcc 2.95 (say), they can uncomment it.
+# LDADD_LIBFLOAT=-lfloat
+endif
+endif
+
+CPU_CFLAGS-y += $(call check_gcc,-std=gnu99,)
+