Re: [PATCH] Workaround for gcc 2.96 (undefined references)

From: Andrew Morton
Date: Tue Nov 22 2005 - 19:14:37 EST


Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Andrew:
>
> As of 2.6.15-rc1-git4, gcc 2.96 complains about undefined references
> unless this patch (as607) is applied. Apparently the old compiler isn't
> so good at avoiding linker references to unused code.
>

Strange. Do you know which change caused this to happen? I'm a bit
worried that we might have done something silly to offend the compiler -
would like to understand the problem a little better.

Can you share the .config?

>
> Index: usb-2.6/mm/memory.c
> ===================================================================
> --- usb-2.6.orig/mm/memory.c
> +++ usb-2.6/mm/memory.c
> @@ -2101,6 +2101,13 @@ int __pud_alloc(struct mm_struct *mm, pg
> spin_unlock(&mm->page_table_lock);
> return 0;
> }
> +#else
> +
> +/* Workaround for gcc 2.96 */
> +int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
> +{
> + return 0;
> +}
> #endif /* __PAGETABLE_PUD_FOLDED */
>
> #ifndef __PAGETABLE_PMD_FOLDED
> @@ -2129,6 +2136,13 @@ int __pmd_alloc(struct mm_struct *mm, pu
> spin_unlock(&mm->page_table_lock);
> return 0;
> }
> +#else
> +
> +/* Workaround for gcc 2.96 */
> +int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
> +{
> + return 0;
> +}
> #endif /* __PAGETABLE_PMD_FOLDED */
>
> int make_pages_present(unsigned long addr, unsigned long end)
>
> -
> 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/
-
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/