Some fixes to allow building with gcc44.
authorSascha Wildner <saw@online.de>
Sun, 2 Mar 2014 19:16:26 +0000 (20:16 +0100)
committerSascha Wildner <saw@online.de>
Sun, 2 Mar 2014 21:51:14 +0000 (22:51 +0100)
Most of them for type redefinitions which gcc47 has stopped warning about
(if they are compatible).

The libstdc++ fix is modeled after gcc47's libstdc++. We don't have
__libc_C_ctype_[] anymore.

13 files changed:
contrib/gcc-4.4/libstdc++-v3/config/os/bsd/dragonfly/ctype_noninline.h
lib/libc/sysvipc/sockets.c
share/mk/bsd.sys.mk
sys/dev/drm/include/drm/drmP.h
sys/dev/drm/include/linux/types.h
sys/dev/netif/ath/ath_hal/ar5416/ar5416_reset.c
sys/platform/pc32/include/pmap.h
sys/platform/pc64/include/pmap.h
sys/platform/vkernel/include/pmap.h
sys/platform/vkernel64/include/pmap.h
sys/sys/stdint.h
sys/sys/types.h
sys/vm/vm.h

index dd4e2e2..f3aa724 100644 (file)
 
 // Information as gleaned from /usr/include/ctype.h
 
-#ifdef _CTYPE_S
-  extern "C" const unsigned long __libc_C_ctype_[];
-#else
+#ifndef _CTYPE_S
   extern "C" const __uint16_t __libc_C_ctype_[];
 #endif
 
   const ctype_base::mask*
   ctype<char>::classic_table() throw()
+#ifdef _CTYPE_S
+  { return 0; }
+#else
   { return __libc_C_ctype_ + 1; }
+#endif
 
   ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
                     size_t __refs)
index ec95e59..59e993f 100644 (file)
@@ -281,7 +281,7 @@ send_msg_with_cred(int sock, char *buffer, size_t size) {
 int
 receive_msg_with_cred(int sock, char *buffer, size_t size,
                struct cmsgcred *cred) {
-       struct msghdr msg = {0};
+       struct msghdr msg = { .msg_name = NULL };
        struct iovec vec;
        ssize_t n;
        int result;
index a6fc792..aa805eb 100644 (file)
@@ -47,7 +47,11 @@ CWARNFLAGS   +=      -Wchar-subscripts -Winline -Wnested-externs\
 .  if ${WARNS} >= 2 && ${WARNS} <= 4
 # XXX Delete -Wmaybe-uninitialized by default for now -- the compiler doesn't
 # XXX always get it right.
+.   if ${CCVER} == "gcc47"
 CWARNFLAGS     +=      -Wno-maybe-uninitialized
+.   else
+CWARNFLAGS     +=      -Wno-uninitialized
+.   endif
 .  endif
 # Activate gcc47's -Wunused-but-set-variable (which is in -Wall) and
 # -Wunused-but-set-parameter (which is in -Wextra) only at WARNS >= 4
index f691e84..1fbf171 100644 (file)
@@ -668,8 +668,6 @@ struct drm_ati_pcigart_info {
        struct drm_dma_handle *dmah; /* handle for ATI PCIGART table */
 };
 
-typedef vm_paddr_t resource_size_t;
-
 /**
  * GEM specific mm private for tracking GEM objects
  */
index 118e62f..9b78365 100644 (file)
@@ -50,7 +50,6 @@ typedef _Bool bool;
 typedef u64 phys_addr_t;
 
 typedef unsigned long kernel_ulong_t;
-typedef unsigned int    uint;
 typedef unsigned gfp_t;
 typedef uint64_t loff_t;
 typedef vm_paddr_t resource_size_t;
index eb31f08..bb87ca9 100644 (file)
@@ -2439,6 +2439,7 @@ ar5416GetGainBoundariesAndPdadcs(struct ath_hal *ah,
     int16_t  minDelta = 0;
     CHAN_CENTERS centers;
 
+    minPwrT4[0] = 0;           /* XXX make gcc44 happy */
     ar5416GetChannelCenters(ah, chan, &centers);
 
     /* Trim numPiers for the number of populated channel Piers */
index f168a32..4c84eb7 100644 (file)
@@ -303,8 +303,14 @@ extern vm_offset_t clean_eva;
 extern vm_offset_t clean_sva;
 extern char *ptvmmap;          /* poor name! */
 
+#ifndef __VM_PAGE_T_DEFINED__
+#define __VM_PAGE_T_DEFINED__
 typedef struct vm_page *vm_page_t;
+#endif
+#ifndef __VM_MEMATTR_T_DEFINED__
+#define __VM_MEMATTR_T_DEFINED__
 typedef char vm_memattr_t;
+#endif
 
 void   pmap_release(struct pmap *pmap);
 void   pmap_interlock_wait (struct vmspace *);
index cc413dc..d09934f 100644 (file)
@@ -351,8 +351,14 @@ extern vm_offset_t clean_eva;
 extern vm_offset_t clean_sva;
 extern char *ptvmmap;          /* poor name! */
 
+#ifndef __VM_PAGE_T_DEFINED__
+#define __VM_PAGE_T_DEFINED__
 typedef struct vm_page *vm_page_t;
+#endif
+#ifndef __VM_MEMATTR_T_DEFINED__
+#define __VM_MEMATTR_T_DEFINED__
 typedef char vm_memattr_t;
+#endif
 
 void   pmap_release(struct pmap *pmap);
 void   pmap_interlock_wait (struct vmspace *);
index 184b3aa..f372f19 100644 (file)
@@ -176,8 +176,14 @@ extern char *ptvmmap;              /* poor name! */
 extern vm_offset_t clean_sva;
 extern vm_offset_t clean_eva;
 
+#ifndef __VM_PAGE_T_DEFINED__
+#define __VM_PAGE_T_DEFINED__
 typedef struct vm_page *vm_page_t;
+#endif
+#ifndef __VM_MEMATTR_T_DEFINED__
+#define __VM_MEMATTR_T_DEFINED__
 typedef char vm_memattr_t;
+#endif
 
 void   pmap_bootstrap (void);
 void   *pmap_mapdev (vm_paddr_t, vm_size_t);
index f7527d1..80b1573 100644 (file)
@@ -43,7 +43,6 @@
  * from: hp300: @(#)pmap.h     7.2 (Berkeley) 12/16/90
  * from: @(#)pmap.h    7.4 (Berkeley) 5/12/91
  * $FreeBSD: src/sys/i386/include/pmap.h,v 1.65.2.3 2001/10/03 07:15:37 peter Exp $
- * $DragonFly: src/sys/platform/vkernel/include/pmap.h,v 1.4 2007/07/01 02:51:44 dillon Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -203,8 +202,14 @@ extern char *ptvmmap;              /* poor name! */
 extern vm_offset_t clean_sva;
 extern vm_offset_t clean_eva;
 
+#ifndef __VM_PAGE_T_DEFINED__
+#define __VM_PAGE_T_DEFINED__
 typedef struct vm_page *vm_page_t;
+#endif
+#ifndef __VM_MEMATTR_T_DEFINED__
+#define __VM_MEMATTR_T_DEFINED__
 typedef char vm_memattr_t;
+#endif
 
 void   pmap_bootstrap(vm_paddr_t *, int64_t);
 void   *pmap_mapdev (vm_paddr_t, vm_size_t);
index dff08ab..6489f33 100644 (file)
 #ifndef __cplusplus
 typedef        int             __wchar_t;
 #endif
+#ifndef ___WINT_T_DECLARED
 typedef        int             __wint_t;
+#define        ___WINT_T_DECLARED
+#endif
+#ifndef ___RUNE_T_DECLARED
 typedef        int             __rune_t;
+#define ___RUNE_T_DECLARED
+#endif
 typedef        void            *__wctrans_t;
 typedef        void            *__wctype_t;
 
index 41065dc..461949f 100644 (file)
@@ -256,8 +256,14 @@ __END_DECLS
  * must be at least 16 bits.
  */
 typedef        int             __ct_rune_t;    /* arg type for ctype funcs */
+#ifndef ___RUNE_T_DECLARED
 typedef        __ct_rune_t     __rune_t;       /* rune_t (see above) */
+#define ___RUNE_T_DECLARED
+#endif
+#ifndef ___WINT_T_DECLARED
 typedef        __ct_rune_t     __wint_t;       /* wint_t (see above) */
+#define        ___WINT_T_DECLARED
+#endif
 
 /*
  * Also required for locale support
index 4603885..f04b3e8 100644 (file)
@@ -121,7 +121,10 @@ typedef struct vm_page *vm_page_t;
 
 /* Memory attributes. */
 
+#ifndef __VM_MEMATTR_T_DEFINED__
+#define __VM_MEMATTR_T_DEFINED__
 typedef char vm_memattr_t;
+#endif
 
 #define VM_MEMATTR_UNCACHEABLE         ((vm_memattr_t)PAT_UNCACHEABLE)
 #define VM_MEMATTR_WRITE_COMBINING     ((vm_memattr_t)PAT_WRITE_COMBINING)