Re: [PATCH 3/6] kbuild: add arch specific post-link pass

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne 11.8.2016 v 12:16 Nicholas Piggin napsal(a):
> Add an option for architectures to pass over modules after they are
> linked. powerpc will use this to check linker relocations for sanity,
> and possibly to fix up alternate instruction patch relocations.
> 
> Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> ---
> Since v1,
> - Switched to a more flexible arch makefile invocation.
> - Provide a powerpc patch to use it to help existing build issue
>   (rather than only justification being out-of-tree patch).
> 
>  Documentation/kbuild/makefiles.txt | 10 ++++++++++
>  arch/Kconfig                       |  7 +++++++
>  scripts/Makefile.modpost           |  3 +++
>  scripts/link-vmlinux.sh            |  4 ++++
>  4 files changed, 24 insertions(+)
> 
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index 385a5ef..8581e38 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -41,6 +41,7 @@ This document describes the Linux kernel Makefiles.
>  	   --- 6.8 Custom kbuild commands
>  	   --- 6.9 Preprocessing linker scripts
>  	   --- 6.10 Generic header files
> +	   --- 6.11 Post-link pass
>  
>  	=== 7 Kbuild syntax for exported headers
>  		--- 7.1 header-y
> @@ -1237,6 +1238,15 @@ When kbuild executes, the following steps are followed (roughly):
>  	to list the file in the Kbuild file.
>  	See "7.4 generic-y" for further info on syntax etc.
>  
> +--- 6.11 Post-link pass
> +
> +	CONFIG_BUILD_ARCH_POSTLINK can be selected in order to have
> +	arch/?/Makefile.postlink invoked on vmlinux and module.ko
> +	files after final link.
> +
> +	For example, powerpc uses this to check relocations on the
> +	linked vmlinux file.
> +
>  === 7 Kbuild syntax for exported headers
>  
>  The kernel includes a set of headers that is exported to userspace.
> diff --git a/arch/Kconfig b/arch/Kconfig
> index fc3f9e1..3a36ea8 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -461,6 +461,13 @@ config CC_STACKPROTECTOR_STRONG
>  
>  endchoice
>  
> +config BUILD_ARCH_POSTLINK
> +	bool
> +	help
> +	  Select this if the architecture wants to have a Makefile invoked
> +	  on modules and vmlinux after they are linked. The architecture
> +	  must provide arch/?/Makefile.postlink
> +
>  config THIN_ARCHIVES
>  	bool
>  	help
> diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
> index 1366a94..1acaa20 100644
> --- a/scripts/Makefile.modpost
> +++ b/scripts/Makefile.modpost
> @@ -123,6 +123,9 @@ quiet_cmd_ld_ko_o = LD [M]  $@
>  
>  $(modules): %.ko :%.o %.mod.o FORCE
>  	$(call if_changed,ld_ko_o)
> +ifdef CONFIG_BUILD_ARCH_POSTLINK
> +	$(Q)$(MAKE) -f $(srctree)/arch/$(SRCARCH)/Makefile.postlink $@
> +endif

Why not simply branch off the existence of arch/*/Makefile.postlink and
drop the kconfig option?

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




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux