Print this page
3373 gcc >= 4.5 concerns about offsetof()

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4u/io/rmclomv.c
          +++ new/usr/src/uts/sun4u/io/rmclomv.c
↓ open down ↓ 45 lines elided ↑ open up ↑
  46   46  #include <sys/reboot.h>
  47   47  #include <sys/envmon.h>
  48   48  #include <sys/rmclomv_impl.h>
  49   49  #include <sys/cpu_sgnblk_defs.h>
  50   50  #include <sys/utsname.h>
  51   51  #include <sys/systeminfo.h>
  52   52  #include <sys/ddi.h>
  53   53  #include <sys/time.h>
  54   54  #include <sys/promif.h>
  55   55  
  56      -#define offsetof(s, m)  (size_t)(&(((s *)0)->m))
       56 +#if defined(__GNUC__)
       57 +#define offsetof(s, m)  __builtin_offsetof(s, m)
       58 +#else
       59 +#define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
       60 +#endif
  57   61  #define RMCRESBUFLEN    1024
  58   62  #define DATE_TIME_MSG_SIZE      78
  59   63  #define RMCLOMV_WATCHDOG_MODE   "rmclomv-watchdog-mode"
  60   64  #define DELAY_TIME      5000000  /* 5 seconds, in microseconds */
  61   65  #define CPU_SIGNATURE_DELAY_TIME        5000000  /* 5 secs, in microsecs */
  62   66  
  63   67  extern void     pmugpio_watchdog_pat();
  64   68  
  65   69  extern int      watchdog_activated;
  66   70  static int      last_watchdog_msg = 1;
↓ open down ↓ 3493 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX