kbuild: fix ld-option function
Subsystems (2)
PATCH v2 1/1 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.
--- Documentation/kbuild/makefiles.txt | 2 +- scripts/Kbuild.include | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Documentation/kbuild/makefiles.txt +1 -1
@@ -593,7 +593,7 @@ more details, with real examples. Example: #Makefile - LDFLAGS_vmlinux += $(call really-ld-option, -X) + LDFLAGS_vmlinux += $(call ld-option, -X) === 4 Host Program support
scripts/Kbuild.include +1 -1
@@ -148,7 +148,7 @@ cc-ldoption = $(call try-run,\ # ld-option # Usage: LDFLAGS += $(call ld-option, -X) 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 # Usage: KBUILD_ARFLAGS := $(call ar-option,D)
Signature · 1 line
1.7.10.4
Quoted 25 lines · Antony Pavlov
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 directoryWe 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
Quoted 7 lines
Also fix wrong ld-option example.
Signed-off-by Antony Pavlov <[email protected]>--- Documentation/kbuild/makefiles.txt | 2 +- scripts/Kbuild.include | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Applied to kbuild.git#kbuild, thanks.
Michal