Opened 10 years ago

Closed 8 years ago

Last modified 8 years ago

#212 closed defect (fixed)

386/stdarg.h does not work with GCC 4.4.0

Reported by: psmedley Owned by: bird
Priority: low Milestone: libc-0.6.4
Component: libc Version: 0.6.2
Severity: normal Keywords:
Cc:

Description (last modified by bird)

386/stdarg.h needs modifications to work with GCC 4.4.0 as builtin_stdarg_start does not exist anymore.

Suggested patch is:
--- \stdarg.h	2007-06-10 16:44:46.000000000 +0845
+++ stdarg.h	2009-04-16 13:15:38.000000000 +0845
@@ -54,8 +54,13 @@
 
 #if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
 
+#if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ >= 4 )
+#define	va_start(ap, last) \
+	__builtin_va_start((ap), (last))
+#else
 #define	va_start(ap, last) \
 	__builtin_stdarg_start((ap), (last))
+#endif
 
 #define	va_arg(ap, type) \
 	__builtin_va_arg((ap), type)

This has been tested with GCC 3.3 and 4.4 as OK

Change History (5)

comment:1 Changed 9 years ago by bird

  • Description modified (diff)
  • Status changed from new to assigned

comment:2 Changed 8 years ago by bird

(In [3715]) 386/stdarg.h,sys/cdefs.h: Synced in bit from more recent FreeBSDs so that the stdarg.h macros will work with more recent GCC versions. References #212

comment:3 Changed 8 years ago by bird

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [3716]) 0.6: Backported r3715: 386/stdarg.h,sys/cdefs.h: Synced in bit from more recent FreeBSDs so that the stdarg.h macros will work with more recent GCC versions. Fixes #212.

comment:4 Changed 8 years ago by bird

(In [3717]) sys/cdefs.h: Updated to FreeBSD 9.0 (?) rev 1.114. References #207, #212.

comment:5 Changed 8 years ago by bird

(In [3718]) 0.6: Backported r3717: sys/cdefs.h: Updated to FreeBSD 9.0 (?) rev 1.114. Fixes #207. References #212.

Note: See TracTickets for help on using tickets.