build system: specify '-nostldlib' when linking to .o files
For certain cross build scenarios the LD variable is overridden to use the gcc executive to ensure all the target tuning parameters are used. In these cases, the executive errors out as shown below but since this step is only linking to a .o file the standard libs are not needed. $ make LD=gcc applets/built-in.o LD applets/built-in.o /usr/bin/ld: cannot find -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status make[1]: *** [applets/built-in.o] Error 1 make: *** [applets_dir] Error 2 Signed-off-by: Drew Moseley <drew_moseley@mentor.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
c9a67133d6
commit
7537406edd
@ -255,8 +255,9 @@ $(sort $(subdir-obj-y)): $(subdir-ym) ;
|
|||||||
ifdef builtin-target
|
ifdef builtin-target
|
||||||
quiet_cmd_link_o_target = LD $@
|
quiet_cmd_link_o_target = LD $@
|
||||||
# If the list of objects to link is empty, just create an empty built-in.o
|
# If the list of objects to link is empty, just create an empty built-in.o
|
||||||
|
# -nostdlib is added to make "make LD=gcc ..." work (some people use that)
|
||||||
cmd_link_o_target = $(if $(strip $(obj-y)),\
|
cmd_link_o_target = $(if $(strip $(obj-y)),\
|
||||||
$(LD) $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
|
$(LD) -nostdlib $(ld_flags) -r -o $@ $(filter $(obj-y), $^),\
|
||||||
rm -f $@; $(AR) rcs $@)
|
rm -f $@; $(AR) rcs $@)
|
||||||
|
|
||||||
$(builtin-target): $(obj-y) FORCE
|
$(builtin-target): $(obj-y) FORCE
|
||||||
|
Loading…
Reference in New Issue
Block a user