From c359124ef465e714f1cd7c6ad31429071847b074 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 7 Aug 2008 15:22:01 +0000 Subject: [PATCH] fix cross compilationor libpayload / coreinfo by honoring the setting of CC in the payload (coreinfo) when calling make CC=i386-elf-gcc AS=i386-elf-as AR=i386-elf-ar STRIP=i386-elf-strip This still does not cope with the hardcoded -fno-stack-protector in libpayload's Makefile. Signed-off-by: Stefan Reinauer Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3477 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- payloads/coreinfo/Makefile | 9 +++++---- payloads/libpayload/bin/lpgcc | 10 +++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/payloads/coreinfo/Makefile b/payloads/coreinfo/Makefile index 403eb56e16..077aaa2276 100644 --- a/payloads/coreinfo/Makefile +++ b/payloads/coreinfo/Makefile @@ -45,8 +45,9 @@ HOSTCFLAGS := -I$(srck) -I$(objk) HOSTCXXFLAGS := -I$(srck) -I$(objk) LIBPAYLOAD_DIR := ../libpayload -CC = $(LIBPAYLOAD_DIR)/bin/lpgcc +XCC := CC=$(CC) $(LIBPAYLOAD_DIR)/bin/lpgcc AS = $(LIBPAYLOAD_DIR)/bin/lpas +STRIP ?= strip INCLUDES = -Ibuild CFLAGS := -Wall -Werror -Os $(INCLUDES) @@ -68,9 +69,9 @@ all: prepare $(TARGET) $(TARGET): $(src)/.config $(OBJS) $(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(CC) -o $@ $(OBJS) + $(Q)$(XCC) -o $@ $(OBJS) $(Q)printf " STRIP $(subst $(shell pwd)/,,$(@))\n" - $(Q)strip -s $@ + $(Q)$(STRIP) -s $@ $(obj)/%.S.o: $(src)/%.S $(Q)printf " AS $(subst $(shell pwd)/,,$(@))\n" @@ -78,7 +79,7 @@ $(obj)/%.S.o: $(src)/%.S $(obj)/%.o: $(src)/%.c $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(XCC) $(CFLAGS) -c -o $@ $< endif diff --git a/payloads/libpayload/bin/lpgcc b/payloads/libpayload/bin/lpgcc index bfd6c1b777..da8b481155 100755 --- a/payloads/libpayload/bin/lpgcc +++ b/payloads/libpayload/bin/lpgcc @@ -28,8 +28,11 @@ # GCC wrapper for libpayload -DEFAULT_PREFIX=/opt +if [ "$CC" != "" ]; then +DEFAULT_CC=$CC +else DEFAULT_CC=gcc +fi BASE=`dirname $0` @@ -37,9 +40,10 @@ BASE=`dirname $0` . $BASE/lp.functions trygccoption() { - $DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp > /dev/null + $DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp &> /dev/null + RET=$? rm -f .$$.tmp - return $? + return $RET } DEBUGME=0