linux-next: Tree for Apr 22 (adjust_autoksyms.sh)

Message ID alpine.LFD.2.20.1604221345340.27452@knanqh.ubzr
State New
Headers show

Commit Message

Nicolas Pitre April 22, 2016, 5:48 p.m.
On Fri, 22 Apr 2016, Randy Dunlap wrote:

> on x86_64:

> 

> I'm seeing:

> 

> /bin/sh: scripts/adjust_autoksyms.sh: No such file or directory

> /local/lnx/next/linux-next-20160422/Makefile:937: recipe for target 'vmlinux' failed

> 

> when using O=subdir for the build output directory.

> 

> 

> Is there a missing $(objtree) somewhere?


Rather a $(srctree).  Please try the patch below.

----- >8

Subject: [PATCH] kbuild: fix CONFIG_TRIM_UNUSED_KSYMS=y with a separate output  directory

This fixes the following:

/bin/sh: scripts/adjust_autoksyms.sh: No such file or directory

Signed-off-by: Nicolas Pitre <nico@linaro.org>

Comments

Nicolas Pitre April 22, 2016, 6:43 p.m. | #1
On Fri, 22 Apr 2016, Randy Dunlap wrote:

> On 04/22/16 10:48, Nicolas Pitre wrote:

> > On Fri, 22 Apr 2016, Randy Dunlap wrote:

> > 

> >> on x86_64:

> >>

> >> I'm seeing:

> >>

> >> /bin/sh: scripts/adjust_autoksyms.sh: No such file or directory

> >> /local/lnx/next/linux-next-20160422/Makefile:937: recipe for target 'vmlinux' failed

> >>

> >> when using O=subdir for the build output directory.

> >>

> >>

> >> Is there a missing $(objtree) somewhere?

> > 

> > Rather a $(srctree).  Please try the patch below.

> 

> Hi,

> 

> Yes, this patch helps, but I think there is still a problem.

> I think that trim needs to be done after CONFIG_BUILD_DOCSRC and possibly

> after CONFIG_SAMPLES are built.


The later is already taken care of with commit dd92478a15.

> At least CONFIG_BUILD_DOCSRC seems to

> cause this error:

> 

> Setup is 16508 bytes (padded to 16896 bytes).

> System is 6125 kB

> CRC 8aa70f94

> Kernel: arch/x86/boot/bzImage is ready  (#9)

> ERROR: "cn_del_callback" [Documentation/connector/cn_test.ko] undefined!

> ERROR: "cn_add_callback" [Documentation/connector/cn_test.ko] undefined!

> ERROR: "cn_netlink_send" [Documentation/connector/cn_test.ko] undefined!

> ../scripts/Makefile.modpost:91: recipe for target '__modpost' failed

> make[2]: *** [__modpost] Error 1


This one is indeed a problem.


Nicolas

Patch

diff --git a/Makefile b/Makefile
index e3af48068c..e9ad498238 100644
--- a/Makefile
+++ b/Makefile
@@ -934,7 +934,7 @@  quiet_cmd_link-vmlinux = LINK    $@
 # execute if the rest of the kernel build went well.
 vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps) FORCE
 ifdef CONFIG_TRIM_UNUSED_KSYMS
-	$(Q)$(CONFIG_SHELL) scripts/adjust_autoksyms.sh \
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
 	  "$(MAKE) KBUILD_MODULES=1 -f $(srctree)/Makefile autoksyms_recursive"
 endif
 ifdef CONFIG_HEADERS_CHECK
@@ -949,13 +949,13 @@  endif
 	+$(call if_changed,link-vmlinux)
 
 autoksyms_recursive: $(vmlinux-deps)
-	$(Q)$(CONFIG_SHELL) scripts/adjust_autoksyms.sh \
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
 	  "$(MAKE) KBUILD_MODULES=1 -f $(srctree)/Makefile autoksyms_recursive"
 PHONY += autoksyms_recursive
 
 # standalone target for easier testing
 include/generated/autoksyms.h: FORCE
-	$(Q)$(CONFIG_SHELL) scripts/adjust_autoksyms.sh true
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh true
 
 # Build samples along the rest of the kernel
 ifdef CONFIG_SAMPLES