Re: [Xen-devel] Re: Allow compile with CONFIG_DEBUG_INFO=y,X86_PAE not set on gcc 3.4.5

From: Adrian Bunk
Date: Fri Aug 08 2008 - 12:15:23 EST


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];
--
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/