From 1352aabb238dc0f21097b753d6fdb931e533db41 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 28 Oct 2021 09:07:46 +0000 Subject: [PATCH] sim: fix compilation on mingw64 [PR sim/28476] ...by reordering includes. 1. sim-utils.c sim/mips/sim-main.h defines UserMode, while there is a struct in winnt.h which has UserMode as a member. So if sim-main.h is included before winnt.h, compilation fails. 2. ppc registers.h defines CR, which is used as a member in winnt.h. winsock2.h is included by sys/time.h, so sys/time.h has to be included before registers.h. Bug: https://sourceware.org/PR28476 --- sim/common/sim-utils.c | 5 ++--- sim/ppc/emul_netbsd.c | 6 ++++-- sim/ppc/emul_unix.c | 6 ++++-- sim/ppc/mon.c | 9 ++++++--- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c index 380afd0493f..88fd20e8876 100644 --- a/sim/common/sim-utils.c +++ b/sim/common/sim-utils.c @@ -20,9 +20,6 @@ along with this program. If not, see . */ /* This must come before any other includes. */ #include "defs.h" -#include "sim-main.h" -#include "sim-assert.h" - #include #include #include /* needed by sys/resource.h */ @@ -34,6 +31,8 @@ along with this program. If not, see . */ #include "libiberty.h" #include "bfd.h" +#include "sim-main.h" +#include "sim-assert.h" #include "sim-utils.h" /* Allocate zero filled memory with xcalloc - xcalloc aborts if the diff --git a/sim/ppc/emul_netbsd.c b/sim/ppc/emul_netbsd.c index a97fc3b6460..d1595c5985f 100644 --- a/sim/ppc/emul_netbsd.c +++ b/sim/ppc/emul_netbsd.c @@ -25,8 +25,7 @@ /* Note: this module is called via a table. There is no benefit in making it inline */ -#include "emul_generic.h" -#include "emul_netbsd.h" +#include "defs.h" #include #include @@ -38,6 +37,9 @@ #include #include +#include "emul_generic.h" +#include "emul_netbsd.h" + #ifdef HAVE_GETRUSAGE #ifndef HAVE_SYS_RESOURCE_H #undef HAVE_GETRUSAGE diff --git a/sim/ppc/emul_unix.c b/sim/ppc/emul_unix.c index cfcb4691247..191e26abd8e 100644 --- a/sim/ppc/emul_unix.c +++ b/sim/ppc/emul_unix.c @@ -25,8 +25,7 @@ /* Note: this module is called via a table. There is no benefit in making it inline */ -#include "emul_generic.h" -#include "emul_unix.h" +#include "defs.h" #include #ifdef HAVE_SYS_TYPES_H @@ -124,6 +123,9 @@ int getrusage(); #include #include +#include "emul_generic.h" +#include "emul_unix.h" + #ifndef STATIC_INLINE_EMUL_UNIX #define STATIC_INLINE_EMUL_UNIX STATIC_INLINE #endif diff --git a/sim/ppc/mon.c b/sim/ppc/mon.c index 966f86c040e..4e29ec99879 100644 --- a/sim/ppc/mon.c +++ b/sim/ppc/mon.c @@ -21,9 +21,8 @@ #ifndef _MON_C_ #define _MON_C_ -#include "basics.h" -#include "cpu.h" -#include "mon.h" +#include "defs.h" + #include #include @@ -42,6 +41,10 @@ int getrusage(); #endif +#include "basics.h" +#include "cpu.h" +#include "mon.h" + #define MAX_BYTE_READWRITE 9 #define MAX_SHIFT_READWRITE 3 -- 2.30.2