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

*** 24,42 **** */ #ifndef _MDBMOD_MISC_H #define _MDBMOD_MISC_H - #pragma ident "%Z%%M% %I% %E% SMI" - #include <mdb/mdb_modapi.h> #ifdef __cplusplus extern "C" { #endif #define offsetof(s, m) ((size_t)(&(((s *)0)->m))) extern int umem_debug(uintptr_t, uint_t, int, const mdb_arg_t *); extern int umem_set_standalone(void); extern ssize_t umem_lookup_by_name(const char *, GElf_Sym *); --- 24,44 ---- */ #ifndef _MDBMOD_MISC_H #define _MDBMOD_MISC_H #include <mdb/mdb_modapi.h> #ifdef __cplusplus extern "C" { #endif + #if defined(__GNUC__) + #define offsetof(s, m) __builtin_offsetof(s, m) + #else #define offsetof(s, m) ((size_t)(&(((s *)0)->m))) + #endif extern int umem_debug(uintptr_t, uint_t, int, const mdb_arg_t *); extern int umem_set_standalone(void); extern ssize_t umem_lookup_by_name(const char *, GElf_Sym *);