toolchain: Always use GCC for Ada sources

We can't use $(CC) in case it's set to Clang.

TEST=Built one target with Ada sources before and after this change and
     verified that the same compiler commands are emitted.

Change-Id: I9b8ea35352d74b364f09fc12d8d981ca42f8b7c8
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/21366
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/Makefile b/Makefile
index 4ad0177..329eaeb2 100644
--- a/Makefile
+++ b/Makefile
@@ -308,13 +308,19 @@
 # $4 additional dependencies
 ifn$(EMPTY)def $(1)-objs_$(2)_template
 de$(EMPTY)fine $(1)-objs_$(2)_template
+ifn$(EMPTY)eq ($(filter ads adb,$(2)),)
 $$(call src-to-obj,$1,$$(1).$2): $$(1).$2 $$(call create_ada_deps,$1,$$(call src-to-ali,$1,$$(1).$2)) $(KCONFIG_AUTOHEADER) $(4)
+	@printf "    GCC        $$$$(subst $$$$(obj)/,,$$$$(@))\n"
+	$(GCC_$(1)) \
+		$$$$(ADAFLAGS_$(1)) $$$$(addprefix -I,$$$$($(1)-ada-dirs)) \
+		$(3) -c -o $$$$@ $$$$<
+el$(EMPTY)se
+$$(call src-to-obj,$1,$$(1).$2): $$(1).$2 $(KCONFIG_AUTOHEADER) $(4)
 	@printf "    CC         $$$$(subst $$$$(obj)/,,$$$$(@))\n"
 	$(CC_$(1)) \
-		$$(if $$(filter-out ads adb,$(2)), \
-		   -MMD $$$$(CPPFLAGS_$(1)) $$$$(CFLAGS_$(1)) -MT $$$$(@), \
-		   $$$$(ADAFLAGS_$(1)) $$$$(addprefix -I,$$$$($(1)-ada-dirs))) \
+		-MMD $$$$(CPPFLAGS_$(1)) $$$$(CFLAGS_$(1)) -MT $$$$(@) \
 		$(3) -c -o $$$$@ $$$$<
+end$(EMPTY)if
 en$(EMPTY)def
 end$(EMPTY)if
 endef
@@ -345,8 +351,8 @@
 			-L$(1)_ada -o $$(notdir $$@) \
 			$$(subst $$(dir $$@),,$$^)
 $$(obj)/$(1)/b__$(1).o: $$(obj)/$(1)/b__$(1).adb
-	@printf "    CC         $$(subst $$(obj)/,,$$@)\n"
-	$(CC_$(1)) $$(ADAFLAGS_$(1)) -c -o $$@ $$<
+	@printf "    GCC        $$(subst $$(obj)/,,$$@)\n"
+	$(GCC_$(1)) $$(ADAFLAGS_$(1)) -c -o $$@ $$<
 $(1)-objs += $$(obj)/$(1)/b__$(1).o
 $($(1)-alis): %.ali: %.o ;
 endef
diff --git a/src/lib/gnat/Makefile.inc b/src/lib/gnat/Makefile.inc
index 5c4c510..3f22c0e 100644
--- a/src/lib/gnat/Makefile.inc
+++ b/src/lib/gnat/Makefile.inc
@@ -24,7 +24,7 @@
 	-gnatg \
 	-gnatpg \
 	-I$$(src)/lib/gnat/ \
-	$$(CFLAGS_$(1)) \
+	$$(GCC_CFLAGS_$(1)) \
 
 libgnat-$(1)-y += a-unccon.ads
 libgnat-$(1)-y += ada.ads
diff --git a/toolchain.inc b/toolchain.inc
index 936eb14..f8ee875 100644
--- a/toolchain.inc
+++ b/toolchain.inc
@@ -120,6 +120,7 @@
 $(if $(2),,$(warning *** The toolchain architecture for $(1) is unknown.) \
 	$(error Check your .config file for CONFIG_ARCH_$(1)_* settings))
 CC_$(1) := $(CC_$(2))
+GCC_$(1) := $(GCC_CC_$(2))
 LD_$(1) := $(LD_$(2))
 NM_$(1) := $(NM_$(2))
 AR_$(1) := $(AR_$(2))
@@ -129,7 +130,7 @@
 STRIP_$(1) := $(STRIP_$(2))
 READELF_$(1) := $(READELF_$(2))
 CFLAGS_$(1) = $$(CFLAGS_common) $$(CFLAGS_$(2))
-ADAFLAGS_$(1) = --RTS=$$(obj)/libgnat-$(2)/ $$(ADAFLAGS_common) $$(CFLAGS_$(2))
+ADAFLAGS_$(1) = --RTS=$$(obj)/libgnat-$(2)/ $$(ADAFLAGS_common) $$(GCC_CFLAGS_$(2))
 CPPFLAGS_$(1) = $$(CPPFLAGS_common) $$(CPPFLAGS_$(2)) -D__ARCH_$(2)__
 COMPILER_RT_$(1) := $$(COMPILER_RT_$(2))
 COMPILER_RT_FLAGS_$(1) := $$(COMPILER_RT_FLAGS_$(2))