Changes to PPC Linux required for GCC 3.1
Corey Minyard
minyard at acm.org
Thu Dec 6 03:18:26 EST 2001
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/
More information about the Linuxppc-dev
mailing list