diff --git a/util/acl.c b/util/acl.c
index 571d686..723b6a8 100644
--- a/util/acl.c
+++ b/util/acl.c
@@ -23,6 +23,7 @@
  */
 
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/acl.h"
 
diff --git a/util/base64.c b/util/base64.c
index f82caa7..8aa2a5b 100644
--- a/util/base64.c
+++ b/util/base64.c
@@ -18,6 +18,7 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include <config-host.h>
 
 #include "qemu/base64.h"
diff --git a/util/bitmap.c b/util/bitmap.c
index 44f0f48..40aadfb 100644
--- a/util/bitmap.c
+++ b/util/bitmap.c
@@ -9,6 +9,7 @@
  * Version 2.
  */
 
+#include "qemu/osdep.h"
 #include "qemu/bitops.h"
 #include "qemu/bitmap.h"
 #include "qemu/atomic.h"
diff --git a/util/bitops.c b/util/bitops.c
index 227c38b..b0c35dd 100644
--- a/util/bitops.c
+++ b/util/bitops.c
@@ -11,6 +11,7 @@
  * 2 of the License, or (at your option) any later version.
  */
 
+#include "qemu/osdep.h"
 #include "qemu/bitops.h"
 
 #define BITOP_WORD(nr)		((nr) / BITS_PER_LONG)
diff --git a/util/buffer.c b/util/buffer.c
index 8b27c08..a6118bf 100644
--- a/util/buffer.c
+++ b/util/buffer.c
@@ -18,6 +18,7 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include "qemu/buffer.h"
 #include "trace.h"
 
diff --git a/util/compatfd.c b/util/compatfd.c
index e857150..9a43042 100644
--- a/util/compatfd.c
+++ b/util/compatfd.c
@@ -13,6 +13,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/compatfd.h"
 #include "qemu/thread.h"
diff --git a/util/coroutine-gthread.c b/util/coroutine-gthread.c
index 0bcd778..fb697eb 100644
--- a/util/coroutine-gthread.c
+++ b/util/coroutine-gthread.c
@@ -18,6 +18,7 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "qemu/osdep.h"
 #include <glib.h>
 #include "qemu-common.h"
 #include "qemu/coroutine_int.h"
diff --git a/util/coroutine-sigaltstack.c b/util/coroutine-sigaltstack.c
index 39842a4..6b8aee7 100644
--- a/util/coroutine-sigaltstack.c
+++ b/util/coroutine-sigaltstack.c
@@ -25,11 +25,9 @@
 #ifdef _FORTIFY_SOURCE
 #undef _FORTIFY_SOURCE
 #endif
-#include <stdlib.h>
+#include "qemu/osdep.h"
 #include <setjmp.h>
-#include <stdint.h>
 #include <pthread.h>
-#include <signal.h>
 #include "qemu-common.h"
 #include "qemu/coroutine_int.h"
 
diff --git a/util/coroutine-ucontext.c b/util/coroutine-ucontext.c
index 26cbebb..4914f60 100644
--- a/util/coroutine-ucontext.c
+++ b/util/coroutine-ucontext.c
@@ -22,9 +22,8 @@
 #ifdef _FORTIFY_SOURCE
 #undef _FORTIFY_SOURCE
 #endif
-#include <stdlib.h>
+#include "qemu/osdep.h"
 #include <setjmp.h>
-#include <stdint.h>
 #include <ucontext.h>
 #include "qemu-common.h"
 #include "qemu/coroutine_int.h"
diff --git a/util/coroutine-win32.c b/util/coroutine-win32.c
index 4f922c5..02e28e8 100644
--- a/util/coroutine-win32.c
+++ b/util/coroutine-win32.c
@@ -22,6 +22,7 @@
  * THE SOFTWARE.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/coroutine_int.h"
 
diff --git a/util/crc32c.c b/util/crc32c.c
index 8866327..7e99555 100644
--- a/util/crc32c.c
+++ b/util/crc32c.c
@@ -25,6 +25,7 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/crc32c.h"
 
diff --git a/util/cutils.c b/util/cutils.c
index cfeb848..59e1f70 100644
--- a/util/cutils.c
+++ b/util/cutils.c
@@ -21,11 +21,10 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/host-utils.h"
 #include <math.h>
-#include <limits.h>
-#include <errno.h>
 
 #include "qemu/sockets.h"
 #include "qemu/iov.h"
diff --git a/util/envlist.c b/util/envlist.c
index 099a544..e86857e 100644
--- a/util/envlist.c
+++ b/util/envlist.c
@@ -1,3 +1,4 @@
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/queue.h"
 #include "qemu/envlist.h"
diff --git a/util/error.c b/util/error.c
index 57303fd..471b8b3 100644
--- a/util/error.c
+++ b/util/error.c
@@ -12,8 +12,8 @@
  * the COPYING.LIB file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
-#include "qapi/error.h"
 #include "qemu/error-report.h"
 
 struct Error
diff --git a/util/event_notifier-posix.c b/util/event_notifier-posix.c
index d4a0c63..2e30e74 100644
--- a/util/event_notifier-posix.c
+++ b/util/event_notifier-posix.c
@@ -10,6 +10,7 @@
  * See the COPYING file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/event_notifier.h"
 #include "sysemu/char.h"
diff --git a/util/event_notifier-win32.c b/util/event_notifier-win32.c
index 6dbb530..14b4f7d 100644
--- a/util/event_notifier-win32.c
+++ b/util/event_notifier-win32.c
@@ -10,6 +10,7 @@
  * See the COPYING file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/event_notifier.h"
 #include "qemu/main-loop.h"
diff --git a/util/fifo8.c b/util/fifo8.c
index 0ea5ad9..5c64101 100644
--- a/util/fifo8.c
+++ b/util/fifo8.c
@@ -12,6 +12,7 @@
  * with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/fifo8.h"
 
diff --git a/util/getauxval.c b/util/getauxval.c
index 1732ace..0b3bae2 100644
--- a/util/getauxval.c
+++ b/util/getauxval.c
@@ -22,8 +22,8 @@
  * THE SOFTWARE.
  */
 
-#include "qemu-common.h"
 #include "qemu/osdep.h"
+#include "qemu-common.h"
 
 #ifdef CONFIG_GETAUXVAL
 /* Don't inline this in qemu/osdep.h, because pulling in <sys/auxv.h> for
diff --git a/util/hbitmap.c b/util/hbitmap.c
index 50b888f..b22b87d 100644
--- a/util/hbitmap.c
+++ b/util/hbitmap.c
@@ -9,10 +9,8 @@
  * later.  See the COPYING file in the top-level directory.
  */
 
-#include <string.h>
-#include <glib.h>
-#include <assert.h>
 #include "qemu/osdep.h"
+#include <glib.h>
 #include "qemu/hbitmap.h"
 #include "qemu/host-utils.h"
 #include "trace.h"
diff --git a/util/hexdump.c b/util/hexdump.c
index 969b340..1d9c129 100644
--- a/util/hexdump.c
+++ b/util/hexdump.c
@@ -13,6 +13,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 
 void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size)
diff --git a/util/host-utils.c b/util/host-utils.c
index 102e5bf..b166e57 100644
--- a/util/host-utils.c
+++ b/util/host-utils.c
@@ -23,8 +23,7 @@
  * THE SOFTWARE.
  */
 
-#include <stdlib.h>
-#include <stdint.h>
+#include "qemu/osdep.h"
 #include "qemu/host-utils.h"
 
 /* Long integer helpers */
diff --git a/util/id.c b/util/id.c
index 7883fbe..bbbadcc 100644
--- a/util/id.c
+++ b/util/id.c
@@ -10,6 +10,7 @@
  * or later.  See the COPYING.LIB file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 
 bool id_wellformed(const char *id)
diff --git a/util/iov.c b/util/iov.c
index a0d5934..e802ee1 100644
--- a/util/iov.c
+++ b/util/iov.c
@@ -16,6 +16,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 
+#include "qemu/osdep.h"
 #include "qemu/iov.h"
 #include "qemu/sockets.h"
 
diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
index 5cd7f71..0b4cc7f 100644
--- a/util/mmap-alloc.c
+++ b/util/mmap-alloc.c
@@ -9,10 +9,9 @@
  * This work is licensed under the terms of the GNU GPL, version 2 or
  * later.  See the COPYING file in the top-level directory.
  */
+#include "qemu/osdep.h"
 #include <qemu/mmap-alloc.h>
-#include <sys/types.h>
 #include <sys/mman.h>
-#include <assert.h>
 
 #define HUGETLBFS_MAGIC       0x958458f6
 
diff --git a/util/module.c b/util/module.c
index 4bd4a94..ce058ae 100644
--- a/util/module.c
+++ b/util/module.c
@@ -13,7 +13,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 
-#include <stdlib.h>
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #ifdef CONFIG_MODULES
 #include <gmodule.h>
diff --git a/util/notify.c b/util/notify.c
index f215dfc..06de63a 100644
--- a/util/notify.c
+++ b/util/notify.c
@@ -13,6 +13,7 @@
  * GNU GPL, version 2 or (at your option) any later version.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/notify.h"
 
diff --git a/util/osdep.c b/util/osdep.c
index 534b511..8356bdd 100644
--- a/util/osdep.c
+++ b/util/osdep.c
@@ -21,24 +21,15 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdbool.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
+#include "qemu/osdep.h"
 
 /* Needed early for CONFIG_BSD etc. */
-#include "config-host.h"
 
 #if defined(CONFIG_MADVISE) || defined(CONFIG_POSIX_MADVISE)
 #include <sys/mman.h>
 #endif
 
 #ifdef CONFIG_SOLARIS
-#include <sys/types.h>
 #include <sys/statvfs.h>
 /* See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=7156) for
    discussion about Solaris header problems */
diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index d25f671..b2b5e12 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -30,7 +30,6 @@
    compiler does not see the warning associated with it in stdlib.h on OSX */
 #ifdef __APPLE__
 #define daemon qemu_fake_daemon_function
-#include <stdlib.h>
 #undef daemon
 extern int daemon(int, int);
 #endif
@@ -47,13 +46,12 @@ extern int daemon(int, int);
 #  define QEMU_VMALLOC_ALIGN getpagesize()
 #endif
 
+#include "qemu/osdep.h"
 #include <termios.h>
-#include <unistd.h>
 #include <termios.h>
 
 #include <glib/gprintf.h>
 
-#include "config-host.h"
 #include "sysemu/sysemu.h"
 #include "trace.h"
 #include "qemu/sockets.h"
diff --git a/util/oslib-win32.c b/util/oslib-win32.c
index 6a47019..438cfa4 100644
--- a/util/oslib-win32.c
+++ b/util/oslib-win32.c
@@ -29,10 +29,9 @@
  * this file are based on code from GNOME glib-2 and use a different license,
  * see the license comment there.
  */
+#include "qemu/osdep.h"
 #include <windows.h>
 #include <glib.h>
-#include <stdlib.h>
-#include "config-host.h"
 #include "sysemu/sysemu.h"
 #include "qemu/main-loop.h"
 #include "trace.h"
diff --git a/util/path.c b/util/path.c
index 4e4877e..d09e8c5 100644
--- a/util/path.c
+++ b/util/path.c
@@ -3,14 +3,9 @@
 
    The assumption is that this area does not change.
 */
-#include <sys/types.h>
+#include "qemu/osdep.h"
 #include <sys/param.h>
 #include <dirent.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <stdio.h>
 #include "qemu-common.h"
 
 struct pathelem
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 687fd34..fb97307 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -1,8 +1,8 @@
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "qemu/option.h"
 #include "qemu/config-file.h"
-#include "qapi/error.h"
 #include "qmp-commands.h"
 
 static QemuOptsList *vm_config_groups[48];
diff --git a/util/qemu-coroutine-io.c b/util/qemu-coroutine-io.c
index e1eae73..0d5041c 100644
--- a/util/qemu-coroutine-io.c
+++ b/util/qemu-coroutine-io.c
@@ -22,6 +22,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/sockets.h"
 #include "qemu/coroutine.h"
diff --git a/util/qemu-coroutine-lock.c b/util/qemu-coroutine-lock.c
index 130ee19..da37ca7 100644
--- a/util/qemu-coroutine-lock.c
+++ b/util/qemu-coroutine-lock.c
@@ -22,6 +22,7 @@
  * THE SOFTWARE.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/coroutine.h"
 #include "qemu/coroutine_int.h"
diff --git a/util/qemu-coroutine-sleep.c b/util/qemu-coroutine-sleep.c
index b35db56..6966831 100644
--- a/util/qemu-coroutine-sleep.c
+++ b/util/qemu-coroutine-sleep.c
@@ -11,6 +11,7 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include "qemu/coroutine.h"
 #include "qemu/timer.h"
 #include "block/aio.h"
diff --git a/util/qemu-coroutine.c b/util/qemu-coroutine.c
index 8953560..5816702 100644
--- a/util/qemu-coroutine.c
+++ b/util/qemu-coroutine.c
@@ -12,6 +12,7 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include "trace.h"
 #include "qemu-common.h"
 #include "qemu/thread.h"
diff --git a/util/qemu-error.c b/util/qemu-error.c
index ecf5708..1ef3566 100644
--- a/util/qemu-error.c
+++ b/util/qemu-error.c
@@ -10,7 +10,7 @@
  * See the COPYING file in the top-level directory.
  */
 
-#include <stdio.h>
+#include "qemu/osdep.h"
 #include "monitor/monitor.h"
 #include "qemu/error-report.h"
 
diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
index 4c53211..2e8b43b 100644
--- a/util/qemu-openpty.c
+++ b/util/qemu-openpty.c
@@ -32,7 +32,7 @@
  * linked with -lutil.
  */
 
-#include "config-host.h"
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 
 #if defined(__GLIBC__)
diff --git a/util/qemu-option.c b/util/qemu-option.c
index a2d593a..e7aa43f 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -23,13 +23,11 @@
  * THE SOFTWARE.
  */
 
-#include <stdio.h>
-#include <string.h>
+#include "qemu/osdep.h"
 
 #include "qemu-common.h"
 #include "qemu/error-report.h"
 #include "qapi/qmp/types.h"
-#include "qapi/error.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/option_int.h"
 
diff --git a/util/qemu-progress.c b/util/qemu-progress.c
index 532333e..f745233 100644
--- a/util/qemu-progress.c
+++ b/util/qemu-progress.c
@@ -22,9 +22,8 @@
  * THE SOFTWARE.
  */
 
-#include "qemu-common.h"
 #include "qemu/osdep.h"
-#include <stdio.h>
+#include "qemu-common.h"
 
 struct progress_state {
     float current;
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
index f455a17..51354df 100644
--- a/util/qemu-sockets.c
+++ b/util/qemu-sockets.c
@@ -15,12 +15,7 @@
  * Contributions after 2012-01-13 are licensed under the terms of the
  * GNU GPL, version 2 or (at your option) any later version.
  */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <unistd.h>
+#include "qemu/osdep.h"
 
 #include "monitor/monitor.h"
 #include "qemu/sockets.h"
diff --git a/util/qemu-thread-posix.c b/util/qemu-thread-posix.c
index dbd8094..74a3023 100644
--- a/util/qemu-thread-posix.c
+++ b/util/qemu-thread-posix.c
@@ -10,16 +10,7 @@
  * See the COPYING file in the top-level directory.
  *
  */
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <time.h>
-#include <signal.h>
-#include <stdint.h>
-#include <string.h>
-#include <limits.h>
-#include <unistd.h>
-#include <sys/time.h>
+#include "qemu/osdep.h"
 #ifdef __linux__
 #include <sys/syscall.h>
 #include <linux/futex.h>
diff --git a/util/qemu-thread-win32.c b/util/qemu-thread-win32.c
index 6cdd553..98a5ddf 100644
--- a/util/qemu-thread-win32.c
+++ b/util/qemu-thread-win32.c
@@ -10,12 +10,11 @@
  * See the COPYING file in the top-level directory.
  *
  */
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/thread.h"
 #include "qemu/notify.h"
 #include <process.h>
-#include <assert.h>
-#include <limits.h>
 
 static bool name_threads;
 
diff --git a/util/qemu-timer-common.c b/util/qemu-timer-common.c
index 95e0847..06d084d 100644
--- a/util/qemu-timer-common.c
+++ b/util/qemu-timer-common.c
@@ -21,6 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
+#include "qemu/osdep.h"
 #include "qemu/timer.h"
 
 /***********************************************************/
diff --git a/util/rcu.c b/util/rcu.c
index 8ba304d..bceb3e4 100644
--- a/util/rcu.c
+++ b/util/rcu.c
@@ -26,12 +26,8 @@
  * IBM's contributions to this file may be relicensed under LGPLv2 or later.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
-#include <stdio.h>
-#include <assert.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <errno.h>
 #include "qemu/rcu.h"
 #include "qemu/atomic.h"
 #include "qemu/thread.h"
diff --git a/util/readline.c b/util/readline.c
index cc1302a..e94c975 100644
--- a/util/readline.c
+++ b/util/readline.c
@@ -22,6 +22,7 @@
  * THE SOFTWARE.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qemu/readline.h"
 
diff --git a/util/rfifolock.c b/util/rfifolock.c
index afbf748..c22f5fe 100644
--- a/util/rfifolock.c
+++ b/util/rfifolock.c
@@ -11,7 +11,7 @@
  *
  */
 
-#include <assert.h>
+#include "qemu/osdep.h"
 #include "qemu/rfifolock.h"
 
 void rfifolock_init(RFifoLock *r, void (*cb)(void *), void *opaque)
diff --git a/util/throttle.c b/util/throttle.c
index af4bc95..2f9b23d 100644
--- a/util/throttle.c
+++ b/util/throttle.c
@@ -22,6 +22,7 @@
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include "qemu/osdep.h"
 #include "qemu/throttle.h"
 #include "qemu/timer.h"
 #include "block/aio.h"
diff --git a/util/timed-average.c b/util/timed-average.c
index a2dfb48..2eef9cb 100644
--- a/util/timed-average.c
+++ b/util/timed-average.c
@@ -22,7 +22,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <string.h>
+#include "qemu/osdep.h"
 
 #include "qemu/timed-average.h"
 
diff --git a/util/unicode.c b/util/unicode.c
index d1c8658..524dca8 100644
--- a/util/unicode.c
+++ b/util/unicode.c
@@ -10,6 +10,7 @@
  * later.  See the COPYING file in the top-level directory.
  */
 
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 
 /**
diff --git a/util/uri.c b/util/uri.c
index 550b984..d109d6c 100644
--- a/util/uri.c
+++ b/util/uri.c
@@ -51,9 +51,8 @@
  *
  */
 
+#include "qemu/osdep.h"
 #include <glib.h>
-#include <string.h>
-#include <stdio.h>
 
 #include "qemu/uri.h"
 
