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

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mdb/common/modules/libumem/misc.h
          +++ new/usr/src/cmd/mdb/common/modules/libumem/misc.h
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26   26  #ifndef _MDBMOD_MISC_H
  27   27  #define _MDBMOD_MISC_H
  28   28  
  29      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  30      -
  31   29  #include <mdb/mdb_modapi.h>
  32   30  
  33   31  #ifdef __cplusplus
  34   32  extern "C" {
  35   33  #endif
  36   34  
       35 +#if defined(__GNUC__)
       36 +#define offsetof(s, m)  __builtin_offsetof(s, m)
       37 +#else
  37   38  #define offsetof(s, m)  ((size_t)(&(((s *)0)->m)))
       39 +#endif
  38   40  
  39   41  extern int umem_debug(uintptr_t, uint_t, int, const mdb_arg_t *);
  40   42  
  41   43  extern int umem_set_standalone(void);
  42   44  extern ssize_t umem_lookup_by_name(const char *, GElf_Sym *);
  43   45  extern ssize_t umem_readvar(void *, const char *);
  44   46  
  45   47  /*
  46   48   * Returns non-zero if sym matches libumem*`prefix*
  47   49   */
↓ open down ↓ 20 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX