On 06/24/2014 11:37 AM, Andy Lutomirski wrote: >> >> 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); >> > > I think the old test was correct: we haven't incremented count yet > (it's a couple lines below), so count is the zero-based index to which > we're writing. > > I thought of doing the need = %d thing, but I think that the output is > a foregone conclusion: count == max_count + 1 when this fails. A list > of all the section names would be more interesting, but eu-readelf -S > will tell is that. > Well, I have reproduced this failure. eu-readelf output included. -hpa