Subject: Re: Changes to PPC Linux required for GCC 3.1

From: Corey Minyard <[email-masked]>
Date: Wed, 05 Dec 2001 10:18:26 -0600

Franz Sirl wrote:

>
> I've done
>
> -#define RELOC(x)       (*PTRRELOC(&(x)))
> +#define RELOC(x)       (*({ typeof(x) * __ptr  = PTRRELOC(&(x));
> __asm__ ("" : "=r" (__ptr) : "0" (__ptr)); __ptr;}))
>
> a while ago in
> <http://source.mvista.com/pipermail/linuxppc-commit/2001-September/000729.html>,
> seems nobody applied it so far.

Ok.  It needs to be propped.

>
>
>> * In drivers/video/aty/atyfb_base.c, there were some "const __init"
>> declarations, which are not allowed.
>
>
> Ah, I see, I only saw this problem in aty128fb. I'll add the fix to
> the linuxconsole CVS for 2.5.x.

What about 2.4?  I'm sure people will want to compile 2.4 with gcc 3.x.

>
>
>> * In include/linux/sunrpc/clnt.h, I removed a bogus function declaration
>> which was messing up inlining.
>
>
> I guess this is 3.1 specific? I don't remember problems with 3.0.x.

Probably.  I've seen some other problems with GCC being fairly picky
about declarations, and I think it's fairly new.  But the declaration
both wrong and unnecessary.

>
>
> What about the FAT filesystem? Is gcc-3.1 now able to correctly
> optimize the 64bit signed divide by const into a ASHIFT+fixup?

Nope.  I was going to ask about that one.  Do you have a GCC PR on this?

-Corey

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/