diff mbox

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

Message ID alpine.LFD.2.20.1604221345340.27452@knanqh.ubzr (mailing list archive)
State New, archived
Headers show

Commit Message

Nicolas Pitre April 22, 2016, 5:48 p.m. UTC
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>

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Randy Dunlap April 22, 2016, 6:22 p.m. UTC | #1
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.  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



If I'm reading it incorrectly, just yell at me. :)


> ----- >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>
> 
> 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
> --
Nicolas Pitre April 22, 2016, 6:43 p.m. UTC | #2
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

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