Re: [PATCH] x86/tools/relocs: fix big section header tables

From: Josh Poimboeuf
Date: Thu Nov 29 2018 - 10:33:02 EST


On Thu, Nov 29, 2018 at 04:22:00PM +0100, Artem Savkov wrote:
> On Thu, Nov 29, 2018 at 08:23:12AM -0600, Josh Poimboeuf wrote:
> > On Thu, Nov 29, 2018 at 02:51:33PM +0100, Artem Savkov wrote:
> > > In case when the number of entries in the section header table is larger
> > > then or equal to SHN_LORESERVE the size of the table is held in the sh_size
> > > member of the initial entry in section header table instead of e_shnum.
> > > Same with the string table index which is located in sh_link instead of
> > > e_shstrndx.
> > >
> > > This case is easily reproducible with KCFLAGS="-ffunction-sections",
> > > bzImage build fails with "String table index out of bounds" error.
> > >
> > > Signed-off-by: Artem Savkov <asavkov@xxxxxxxxxx>
> > > ---
> > > arch/x86/tools/relocs.c | 58 +++++++++++++++++++++++++++++------------
> > > 1 file changed, 41 insertions(+), 17 deletions(-)
> > >
> > > diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
> > > index b629f6992d9f..5275ea0a0d13 100644
> > > --- a/arch/x86/tools/relocs.c
> > > +++ b/arch/x86/tools/relocs.c
> > > @@ -11,7 +11,9 @@
> > > #define Elf_Shdr ElfW(Shdr)
> > > #define Elf_Sym ElfW(Sym)
> > >
> > > -static Elf_Ehdr ehdr;
> > > +static Elf_Ehdr ehdr;
> >
> > I think there's a tab missing here, it doesn't line up with the other
> > variables.
>
> This seems to be a vim bug. It aligns perfectly in
> cat/less/lore.kernel.org which all seem to use tabstop=8 by default, but
> it does not align in vim, but it does align with tabstop=7 in vim.

Are you looking at the patch? Or the file itself?

"less arch/x86/tools/relocs.c" shows the same issue.

--
Josh