Messages in this thread Patch in this message | | | Date | Fri, 8 Aug 2008 19:13:31 +0300 | From | Adrian Bunk <> | Subject | Re: [Xen-devel] Re: Allow compile with CONFIG_DEBUG_INFO=y, X86_PAE not set on gcc 3.4.5 |
| |
On Fri, Aug 08, 2008 at 08:21:41AM -0700, Jeremy Fitzhardinge wrote: > Adrian Bunk wrote: >> CONFIG_DEBUG_INFO=y is why I never hit it before. >> >> It does not seem to be just one dodgy Redhat compiler (as I assumed in >> the Bugzilla entry) but the whole 3.4 series of gcc which makes our >> resolution of saying that this specific compiler is broken invalid. >> >> Considering that we officially support all compilers >= 3.2 this is >> just one more case where we have to add to the kernel a workaround for >> a broken compiler. >> > > Yes. I'm happy to write off a specific rpm package, but a whole series > is a different matter. > > Adding > > if (PREALLOCATED_PMDS == 0) > return; > > in the appropriate places with a small comment seems like the right answer.
The patch below you suggested fixes it for me with gcc 3.4.6.
> J
cu Adrian
--- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -209,6 +209,9 @@ static void pgd_prepopulate_pmd(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmds[]) pud = pud_offset(pgd, 0); + if (PREALLOCATED_PMDS == 0) + return; + for (addr = i = 0; i < PREALLOCATED_PMDS; i++, pud++, addr += PUD_SIZE) { pmd_t *pmd = pmds[i];
| |