1*4882a593SmuzhiyunFrom fc05ced797b87286b8ec7303fe32bf200a072972 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Esben Haabendal <esben@haabendal.dk> 3*4882a593SmuzhiyunDate: Mon, 18 Mar 2019 11:14:31 +0100 4*4882a593SmuzhiyunSubject: [PATCH] Fix linking for non-host compatible targets 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunWithout this, gummiboot build system will use host 'ld' when linking 7*4882a593Smuzhiyuntarget binary, which is obviously not a good idea. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSigned-off-by: Esben Haabendal <esben@haabendal.dk> 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun Makefile.am | 4 ++-- 12*4882a593Smuzhiyun configure.ac | 4 ++++ 13*4882a593Smuzhiyun 2 files changed, 6 insertions(+), 2 deletions(-) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundiff --git a/Makefile.am b/Makefile.am 16*4882a593Smuzhiyunindex 6568a355ed74..9051dd44edd9 100644 17*4882a593Smuzhiyun--- a/Makefile.am 18*4882a593Smuzhiyun+++ b/Makefile.am 19*4882a593Smuzhiyun@@ -142,7 +142,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) 20*4882a593Smuzhiyun $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun $(gummiboot_solib): $(gummiboot_objects) 23*4882a593Smuzhiyun- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(gummiboot_objects) \ 24*4882a593Smuzhiyun+ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(gummiboot_objects) \ 25*4882a593Smuzhiyun -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ 26*4882a593Smuzhiyun nm -D -u $@ | grep ' U ' && exit 1 || : 27*4882a593Smuzhiyun .DELETE_ON_ERROR: $(gummboot_solib) 28*4882a593Smuzhiyun@@ -177,7 +177,7 @@ $(top_builddir)/src/efi/%.o: $(top_srcdir)/src/efi/%.c $(addprefix $(top_srcdir) 29*4882a593Smuzhiyun $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun $(stub_solib): $(stub_objects) 32*4882a593Smuzhiyun- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \ 33*4882a593Smuzhiyun+ $(AM_V_CCLD)$(EFI_LD) $(efi_ldflags) $(stub_objects) \ 34*4882a593Smuzhiyun -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ 35*4882a593Smuzhiyun nm -D -u $@ | grep ' U ' && exit 1 || : 36*4882a593Smuzhiyun .DELETE_ON_ERROR: $(gummboot_solib) 37*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac 38*4882a593Smuzhiyunindex 27bbe1d73396..b948696c220b 100644 39*4882a593Smuzhiyun--- a/configure.ac 40*4882a593Smuzhiyun+++ b/configure.ac 41*4882a593Smuzhiyun@@ -40,6 +40,10 @@ dnl Don't try to use things like -std=c99 for efi compilation 42*4882a593Smuzhiyun EFI_CC=$CC 43*4882a593Smuzhiyun AC_SUBST([EFI_CC]) 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun+dnl Allow specifying linker compatible with the compiler 46*4882a593Smuzhiyun+EFI_LD=$LD 47*4882a593Smuzhiyun+AC_SUBST([EFI_LD]) 48*4882a593Smuzhiyun+ 49*4882a593Smuzhiyun AC_PROG_CC_C99 50*4882a593Smuzhiyun AM_PROG_CC_C_O 51*4882a593Smuzhiyun AC_PROG_GCC_TRADITIONAL 52*4882a593Smuzhiyun-- 53*4882a593Smuzhiyun2.21.0 54*4882a593Smuzhiyun 55