Re: [BUILD BUG][3.16-rc3] Error: too many copied sections (max = 13)

From: Andy Lutomirski
Date: Wed Jul 02 2014 - 16:00:59 EST


On Mon, Jun 30, 2014 at 9:09 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> Testing the latest kernel (3.16-rc3) I hit this build bug:
>
> VDSO2C arch/x86/vdso/vdso-image-64.c
> Error: too many copied sections (max = 13)
> /arch/x86/vdso/Makefile:61: recipe for target 'arch/x86/vdso/vdso-image-64.c' failed
> make[3]: *** [arch/x86/vdso/vdso-image-64.c] Error 1
> /scripts/Makefile.build:404: recipe for target 'arch/x86/vdso' failed
> make[2]: *** [arch/x86/vdso] Error 2
>
> I bisected it down to this commit:
>
> commit 0e3727a8839c988a3c56170bc8da76d55a16acad
> Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> Date: Wed Jun 18 15:59:49 2014 -0700
>
> x86/vdso: Remove some redundant in-memory section headers
>
> When I revert this commit, it compiles fine.
>
> I built my gcc and binutils from their sources unmodified:
>
> gcc 4.6.0
>
> binutils 2.21

I managed to munge the binutils sources enough to build binutils 2.21.
This seems to be a binutils bug: ld generates an empty .rela.dyn.
Fortunately, it's not generating a DT_RELA dynamic entry.

I'm not quite sure what to do about this. I could discard it, but
then I might want to make sure that, once I've discarded it, I don't
put any other sections in, since I don't know how well gdb can handle
section renumbering. Maybe there's nothing to worry about here.

Or I could admit defeat and put the vvar area before the vdso text.

--Andy
--
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/