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