This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

3.0.3 PATCH: Properly fix stdio.h on Tru64 UNIX V5.1A

As reported in PR libf2c/4826 and mentioned both on several mailing lists
(like tru64-unix-managers) and in private mail, GCC 3.0.2 fails to
bootstrap on Tru64 UNIX V5.1A.

I've analyzed the failure based on a copy of the V5.1A stdio.h: compared to
V5.1, Compaq changed various prototypes to use __VA_LIST__ instead of
va_list/__va_list, and fixincludes didn't know about this and thus couldn't
properly fix those prototypes to use __gnuc_va_list instead.  The patch
below fixes this and allows GCC 3.0.2 to bootstrap on that platform; not
having access to such a system myself, I cannot report testsuite results
yet (but hope to get them from one of the various reporters of this bug).

Ok for branch and mainline?


Rainer Orth, Faculty of Technology, Bielefeld University

Email: ro@TechFak.Uni-Bielefeld.DE

Wed Nov 21 18:58:37 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
	* fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
	UNIX V5.1A stdio.h.
	* fixinc/fixincl.x: Regenerate.
	Fixes PR libf2c/4826.
Index: inclhack.def
RCS file: /cvs/gcc/gcc/gcc/fixinc/inclhack.def,v
retrieving revision
diff -u -p -r1.101.2.15 inclhack.def
--- inclhack.def	2001/09/13 02:38:12
+++ inclhack.def	2001/11/26 19:27:31
@@ -2223,7 +2223,8 @@ fix = {
      * Use __gnuc_va_list in arg types in place of va_list.
-     * On 386BSD use __gnuc_va_list instead of _VA_LIST_.  We're hoping the
+     * On 386BSD use __gnuc_va_list instead of _VA_LIST_.  On Tru64 UNIX V5.1A
+     * use __gnuc_va_list instead of __VA_LIST__.  We're hoping the
      * trailing parentheses and semicolon save all other systems from this.
      * Define __not_va_list__ (something harmless and unused)
      * instead of va_list.
@@ -2232,6 +2233,7 @@ fix = {
     sed = "s@ va_list @ __gnuc_va_list @\n"
           "s@ va_list)@ __gnuc_va_list)@\n"
           "s@ _VA_LIST_));@ __gnuc_va_list));@\n"
+          "s@ __VA_LIST__));@ __gnuc_va_list));@\n"
           "s@ va_list@ __not_va_list__@\n"
           "s@ __va_list)@ __gnuc_va_list)@\n"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]