Browse Source

osdep: Remove local definition of macro offsetof

The macro offsetof is defined in stddef.h. It is conforming to
the standards C89, C99 and POSIX.1-2001 (see man page), so it
is a sufficiently old standard.

Therefore chances are very high that QEMU never needs a local
definition of this macro.

osdep.h already includes stddef.h, so this patch simply removes
the unneeded code from the files configure and osdep.h.

If we ever need the local definition again, it should be added
to compiler.h (the macro is usually provided with the compiler,
it is not OS specific).

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Stefan Weil 13 years ago
parent
commit
82246040ea
2 changed files with 0 additions and 17 deletions
  1. 0 14
      configure
  2. 0 3
      osdep.h

+ 0 - 14
configure

@@ -2524,17 +2524,6 @@ if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
 fi
 fi
 
 
 ##########################################
 ##########################################
-# check if the compiler defines offsetof
-
-need_offsetof=yes
-cat > $TMPC << EOF
-#include <stddef.h>
-int main(void) { struct s { int f; }; return offsetof(struct s, f); }
-EOF
-if compile_prog "" "" ; then
-    need_offsetof=no
-fi
-
 # spice probe
 # spice probe
 if test "$spice" != "no" ; then
 if test "$spice" != "no" ; then
   cat > $TMPC << EOF
   cat > $TMPC << EOF
@@ -3199,9 +3188,6 @@ fi
 if test "$tcg_interpreter" = "yes" ; then
 if test "$tcg_interpreter" = "yes" ; then
   echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
   echo "CONFIG_TCG_INTERPRETER=y" >> $config_host_mak
 fi
 fi
-if test "$need_offsetof" = "yes" ; then
-  echo "CONFIG_NEED_OFFSETOF=y" >> $config_host_mak
-fi
 if test "$fdatasync" = "yes" ; then
 if test "$fdatasync" = "yes" ; then
   echo "CONFIG_FDATASYNC=y" >> $config_host_mak
   echo "CONFIG_FDATASYNC=y" >> $config_host_mak
 fi
 fi

+ 0 - 3
osdep.h

@@ -26,9 +26,6 @@
 #define unlikely(x)   __builtin_expect(!!(x), 0)
 #define unlikely(x)   __builtin_expect(!!(x), 0)
 #endif
 #endif
 
 
-#ifdef CONFIG_NEED_OFFSETOF
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
-#endif
 #ifndef container_of
 #ifndef container_of
 #define container_of(ptr, type, member) ({                      \
 #define container_of(ptr, type, member) ({                      \
         const typeof(((type *) 0)->member) *__mptr = (ptr);     \
         const typeof(((type *) 0)->member) *__mptr = (ptr);     \