Subject: re: GCC 3.3.1 PowerPC support
To: None <,>
From: M L Riechers <>
List: tech-toolchain
Date: 09/22/2003 22:28:35
On Tue, 23 Sep 2003 12:01:37 -0700 Matt Thomas
<> quoth:

> I have submitted most of the changes needed to do gcc3 build for
> powerpc (macppc specifically).  One thing I'm still testing is what
> definition of va_list to use.  Once I finish that testing and verify
> the resultant builds (user and kernel space work), I'll switch powerpc
> to default to GCC 3.3.1.


Perhaps something along the lines of:

--- ansi.h~     2003-03-25 14:09:42.000000000 -0500
+++ ansi.h      2003-04-08 19:38:53.000000000 -0400
@@ -64,21 +64,18 @@
 #define        _BSD_CLOCKID_T_         int             /* clockid_t */
 #define        _BSD_TIMER_T_           int             /* timer_t */
 #define        _BSD_SUSECONDS_T_       int             /* suseconds_t */
 #define        _BSD_USECONDS_T_        unsigned int    /* useconds_t */
-#ifdef _LP64
+/*#ifdef _LP64*/
+#if __GNUC_PREREQ__(3, 0)
 #define        _BSD_VA_LIST_           __builtin_va_list /* GCC builtin type */
 #define        _BSD_VA_LIST_           __va_list       /* va_list */
 typedef struct {
-#if __GNUC_PREREQ__(3, 0)
-       __builtin_va_list __va;
        char __gpr, __fpr, __pad[2];
        char *__stack, *__base;
 } __va_list;
  * NOTE: rune_t is not covered by ANSI nor other standards, and should not

(putting the "#ifdef _LP64" back in, of course.)

(and varargs.h (or stuff in stdarg.h) is deprecated? Can't remember --
wasn't necessary to delete or modify these files, however.)

This change worked rather well for me.  Compiled all of 1.6P userland
except for the compiler itself, and anything that required c++
(groff).  Seems to work.

Hope this helps.  Hope it's not too simplistic.  If you've something
for me to test, I'll try.