Re: [PATCH v2 3/5] kbuild/extable: Hook up sortextable into thebuild system.

From: Sam Ravnborg
Date: Fri Apr 20 2012 - 11:02:02 EST


On Thu, Apr 19, 2012 at 02:59:57PM -0700, David Daney wrote:
> From: David Daney <david.daney@xxxxxxxxxx>
>
> Define a config variable BUILDTIME_EXTABLE_SORT to control build time
> sorting of the kernel's exception table.
>
> Patch Makefile to do the sorting when BUILDTIME_EXTABLE_SORT is
> selected.
>
> Signed-off-by: David Daney <david.daney@xxxxxxxxxx>
> ---
> Makefile | 10 ++++++++++
> init/Kconfig | 3 +++
> 2 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ae947cc..e3bbca9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -784,6 +784,10 @@ quiet_cmd_vmlinux_version = GEN .version
> quiet_cmd_sysmap = SYSMAP
> cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap
>
> +# Sort exception table at build time
> +quiet_cmd_sortextable = SORTEX
> + cmd_sortextable = $(objtree)/scripts/sortextable
> +
> # Link of vmlinux
> # If CONFIG_KALLSYMS is set .version is already updated
> # Generate System.map and verify that the content is consistent
> @@ -796,6 +800,12 @@ define rule_vmlinux__
> $(call cmd,vmlinux__)
> $(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd
>
> + $(if $(CONFIG_BUILDTIME_EXTABLE_SORT), \
> + $(Q)$(if $($(quiet)cmd_sortextable), \
> + echo ' $($(quiet)cmd_sortextable) vmlinux' &&) \
> + $(cmd_sortextable) vmlinux)
> +
> +

Anything that add complexity to the top-level Makefile is bad :-(
I once looked at moving all the final link stuff to a script.
Maybe it is time to open that again...


> +config BUILDTIME_EXTABLE_SORT
> + bool
> +
Please add a comment about what this symbol is used for.
Also we often name such symbols: HAVE_*

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/