On 06/22/2014 01:47 AM, Ingo Molnar wrote: > > * tip-bot for Andy Lutomirski <tipbot@xxxxxxxxx> wrote: > >> Commit-ID: 5f56e7167e6d438324fcba87018255d81e201383 >> Gitweb: http://git.kernel.org/tip/5f56e7167e6d438324fcba87018255d81e201383 >> Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> >> AuthorDate: Wed, 18 Jun 2014 15:59:46 -0700 >> Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> >> CommitDate: Thu, 19 Jun 2014 15:44:51 -0700 >> >> x86/vdso: Discard the __bug_table section >> >> It serves no purpose in user code. >> >> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> >> Link: http://lkml.kernel.org/r/2a5bebff42defd8a5e81d96f7dc00f21143c80e8.1403129369.git.luto@xxxxxxxxxxxxxx >> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> >> --- >> arch/x86/vdso/vdso-layout.lds.S | 1 + >> 1 file changed, 1 insertion(+) > > One of the recent x86/urgent vdso commits causes this build failure: > > Error: too many copied sections (max = 13) > make[2]: *** [arch/x86/vdso/vdso-image-64.c] Error 1 > make[1]: *** [arch/x86/vdso] Error 2 > make: *** [arch/x86] Error 2 > > with the attached config. > Hi Ingo, Could you try this with the attached patch? -hpa
>From e28dc3efe8a8880206e90886cc12649f87fa1848 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" <hpa@xxxxxxxxx> Date: Tue, 24 Jun 2014 11:26:18 -0700 Subject: [PATCH] x86/vdso: Make vdso2c print the number of sections needed on error If we run out of space for section, at least make the error message print the amount of space we need so we can actually diagnose it. Furthermore, the test should be > instead of >= (it is okay to have exactly the maximum number of sections.) Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140622084754.GA15094@xxxxxxxxx --- arch/x86/vdso/vdso2c.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/vdso/vdso2c.h b/arch/x86/vdso/vdso2c.h index f42e2ddc663d..94158e100f26 100644 --- a/arch/x86/vdso/vdso2c.h +++ b/arch/x86/vdso/vdso2c.h @@ -99,8 +99,9 @@ static void BITSFUNC(copy_section)(struct BITSFUNC(fake_sections) *out, if (!copy) return; - if (out->count >= out->max_count) - fail("too many copied sections (max = %d)\n", out->max_count); + if (out->count > out->max_count) + fail("too many copied sections (max = %d, need = %d)\n", + out->max_count, out->count); if (in_idx == out->in_shstrndx) out->out_shstrndx = out->count; -- 1.9.3