Subject: re: GCC 3.3.1 PowerPC support
To: None <tech-toolchain@NetBSD.org, port-powerpc@NetBSD.org>
From: M L Riechers <mlr@rse.com>
List: tech-toolchain
Date: 09/22/2003 22:28:35
On Tue, 23 Sep 2003 12:01:37 -0700 Matt Thomas
<matt@3am-software.com> 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.

Hooray!!

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 @@
 #endif
 #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 */
 #else
 #define        _BSD_VA_LIST_           __va_list       /* va_list */
 typedef struct {
-#if __GNUC_PREREQ__(3, 0)
-       __builtin_va_list __va;
-#else
        char __gpr, __fpr, __pad[2];
        char *__stack, *__base;
-#endif
 } __va_list;
 #endif
 
 /*
  * 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.

-Mike