Commit 8fc5ea00 authored by Vicente Olivert Riera's avatar Vicente Olivert Riera Committed by Peter Korsgaard
Browse files

sawman: Link using gcc instead of ld

Using ld may cause a link failure due to using the default emulation
linker which is configured when building the linker in binutils.  Using
gcc instead will pass the appropriate -m value because the compiler
knows the ABI you are using.

Here is an example of the failure:

ld: .libs/libdirectfbwm_sawman.a.tmp/sawman_wm.o: ABI is incompatible
with that of the selected emulation
ld: failed to merge target specific data of file
.libs/libdirectfbwm_sawman.a.tmp/sawman_wm.o
ld: Attempt to do relocatable link with elf64-tradbigmips input and
elf32-tradbigmips output
ld: .libs/libdirectfbwm_sawman.a.tmp/sawman_wm.o: file class ELFCLASS64
incompatible with ELFCLASS32
ld: final link failed: File in wrong format

Fixes:

   http://autobuild.buildroot.net/results/e4b/e4b77681a44626efa2a44627604630697e785086/



Signed-off-by: default avatarVicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 218b4ec6
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
sawman: Link using gcc instead of ld

Using ld may cause a link failure due to using the default emulation
linker which is configured when building the linker in binutils.  Using
gcc instead will pass the appropriate -m value because the compiler 
knows the ABI you are using.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
--- SaWMan-1.6.3/rules/libobject.make.orig	2013-12-17 15:54:22.137856874 +0000
+++ SaWMan-1.6.3/rules/libobject.make	2013-12-17 15:54:44.233201909 +0000
@@ -3,7 +3,7 @@
 	if test -d $<.tmp; then rmdir $<.tmp; fi
 	mkdir $<.tmp
 	(cd $<.tmp && $(AR) x ../../$<)
-	$(LD) -o $@ -r $<.tmp/*.o
+	$(CC) -nostdlib -o $@ -r $<.tmp/*.o
 	rm -f $<.tmp/*.o && rmdir $<.tmp
 
 .PHONY: $(LTLIBRARIES:%.la=.libs/%.a)