Commit 5b83df2b authored by Antony Pavlov's avatar Antony Pavlov Committed by Michal Marek

kbuild: fix ld-option function

The kbuild's ld-option function is broken because
the command
  $(CC) /dev/null -c -o "$$TMPO"
does not create object file!

I have used a relatively old mips gcc 3.4.6 cross-compiler
and a relatively new gcc 4.7.2 to check this fact
but the results are the same.

EXAMPLE:
  $ rm /tmp/1.o
  $ mips-linux-gcc /dev/null -c -o /tmp/1.o
  mips-linux-gcc: /dev/null: linker input file unused because linking not done
  $ ls -la /tmp/1.o
  ls: cannot access /tmp/1.o: No such file or directory

We can easily fix the problem by adding
the '-x c' compiler option.

EXAMPLE:
  $ rm /tmp/1.o
  $ mips-linux-gcc -x c /dev/null -c -o /tmp/1.o
  $ ls -la /tmp/1.o
  -rw-r--r-- 1 antony antony 778 Apr  2 20:40 /tmp/1.o

Also fix wrong ld-option example.
Signed-off-by: default avatarAntony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent a937536b
...@@ -593,7 +593,7 @@ more details, with real examples. ...@@ -593,7 +593,7 @@ more details, with real examples.
Example: Example:
#Makefile #Makefile
LDFLAGS_vmlinux += $(call really-ld-option, -X) LDFLAGS_vmlinux += $(call ld-option, -X)
=== 4 Host Program support === 4 Host Program support
......
...@@ -148,7 +148,7 @@ cc-ldoption = $(call try-run,\ ...@@ -148,7 +148,7 @@ cc-ldoption = $(call try-run,\
# ld-option # ld-option
# Usage: LDFLAGS += $(call ld-option, -X) # Usage: LDFLAGS += $(call ld-option, -X)
ld-option = $(call try-run,\ ld-option = $(call try-run,\
$(CC) /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2)) $(CC) -x c /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2))
# ar-option # ar-option
# Usage: KBUILD_ARFLAGS := $(call ar-option,D) # Usage: KBUILD_ARFLAGS := $(call ar-option,D)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment