u-boot 2011.12: fix beagleboard C4 memory detection
[glsdk/meta-ti-glsdk.git] / recipes-bsp / u-boot / u-boot / 2011.12 / 0007-config-Always-use-GNU-ld.patch
1 From 06fe8be6b5c70853c0e3fac93d7bba9cb3d0292f Mon Sep 17 00:00:00 2001
2 From: Khem Raj <raj.khem@gmail.com>
3 Date: Wed, 21 Dec 2011 08:53:02 -0800
4 Subject: [PATCH 07/10] config: Always use GNU ld
6 This patch makes sure that we always use the GNU ld. u-boot uses certain
7 construct e.g. OVERLAY which are not implemented in gold therefore it
8 always needs GNU ld for linking. It works well if default linker in
9 toolchain is GNU ld but in some cases we can have gold to be the
10 default linker and also ship GNU ld but not as default in such cases
11 its called $(PREFIX)ld.bfd, with this patch we make sure that if
12 $(PREFIX)ld.bfd exists than we use that for our ld. This way it
13 does not matter what the default ld is.
15 Upstream-status: Pending
17 Signed-off-by: Khem Raj <raj.khem@gmail.com>
18 ---
19  config.mk |    4 +++-
20  1 files changed, 3 insertions(+), 1 deletions(-)
22 diff --git a/config.mk b/config.mk
23 index ddaa477..59b3e71 100644
24 --- a/config.mk
25 +++ b/config.mk
26 @@ -126,11 +126,13 @@ cc-option = $(strip $(if $(findstring $1,$(CC_OPTIONS)),$1,\
27                 $(if $(call cc-option-sys,$1),$1,$2)))
28  endif
29  
30 +exists_bfd_ld = $(shell if $(CROSS_COMPILE)ld.bfd -v >& /dev/null; \
31 +               then echo "$(1)"; else echo "$(2)"; fi; )
32  #
33  # Include the make variables (CC, etc...)
34  #
35  AS     = $(CROSS_COMPILE)as
36 -LD     = $(CROSS_COMPILE)ld
37 +LD     = $(call exists_bfd_ld, "$(CROSS_COMPILE)ld.bfd", "$(CROSS_COMPILE)ld")
38  CC     = $(CROSS_COMPILE)gcc
39  CPP    = $(CC) -E
40  AR     = $(CROSS_COMPILE)ar
41 -- 
42 1.7.2.5