diff options
author | Antony Pavlov <antonynpavlov@gmail.com> | 2013-04-03 10:42:33 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2013-04-08 05:47:41 -0400 |
commit | 5b83df2b4661c03373b38374d0ef830b7819b875 (patch) | |
tree | b416f77435f6d10ebdf210fe7a417c21e9f8c990 | |
parent | a937536b868b8369b98967929045f1df54234323 (diff) |
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: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r-- | Documentation/kbuild/makefiles.txt | 2 | ||||
-rw-r--r-- | scripts/Kbuild.include | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index 5198b742fde1..5836294fdbf7 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt | |||
@@ -593,7 +593,7 @@ more details, with real examples. | |||
593 | 593 | ||
594 | Example: | 594 | Example: |
595 | #Makefile | 595 | #Makefile |
596 | LDFLAGS_vmlinux += $(call really-ld-option, -X) | 596 | LDFLAGS_vmlinux += $(call ld-option, -X) |
597 | 597 | ||
598 | 598 | ||
599 | === 4 Host Program support | 599 | === 4 Host Program support |
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 978416dd31ca..547e15daf03d 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include | |||
@@ -148,7 +148,7 @@ cc-ldoption = $(call try-run,\ | |||
148 | # ld-option | 148 | # ld-option |
149 | # Usage: LDFLAGS += $(call ld-option, -X) | 149 | # Usage: LDFLAGS += $(call ld-option, -X) |
150 | ld-option = $(call try-run,\ | 150 | ld-option = $(call try-run,\ |
151 | $(CC) /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2)) | 151 | $(CC) -x c /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2)) |
152 | 152 | ||
153 | # ar-option | 153 | # ar-option |
154 | # Usage: KBUILD_ARFLAGS := $(call ar-option,D) | 154 | # Usage: KBUILD_ARFLAGS := $(call ar-option,D) |