From: Giacomo Travaglini Date: Mon, 30 Mar 2020 16:24:25 +0000 (+0100) Subject: arch-sparc: MAP_32BIT does not exist on solaris X-Git-Tag: v20.0.0.0~185 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b2fe440fdc1a3837a0d9873eca0e7b3a1527904;p=gem5.git arch-sparc: MAP_32BIT does not exist on solaris Judging by the mmap documentation for solaris: https://docs.oracle.com/cd/E88353_01/html/E37841/mmap-2.html MAP_32BIT is not defined. Instead it is using a MAP_LOW32 field which is explicitly described as different from the MAP_32BIT field in Linux distributions. The patch is removing the mapping since: * As mentioned solaris doesn't implement MAP_32BIT (Target) * Not every host supports MAP_32BIT. ** http://man7.org/linux/man-pages/man2/mmap.2.html In fact, assuming a Linux host, MAP_32BIT is defined for x86-64 only, which means it is not possible to compile gem5-SPARC on a (e.g.) Arm host. Change-Id: Ibf234754941ae915e728db5fbc4ba1db3aaa1c81 Signed-off-by: Giacomo Travaglini Reviewed-by: Richard Cooper Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27647 Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com> Tested-by: kokoro Reviewed-by: Gabe Black Maintainer: Gabe Black --- diff --git a/src/arch/sparc/solaris/solaris.cc b/src/arch/sparc/solaris/solaris.cc index c5b5902cc..33b20786b 100644 --- a/src/arch/sparc/solaris/solaris.cc +++ b/src/arch/sparc/solaris/solaris.cc @@ -79,7 +79,6 @@ const int SparcSolaris::NUM_OPEN_FLAGS = SyscallFlagTransTable SparcSolaris::mmapFlagTable[] = { { TGT_MAP_SHARED, MAP_SHARED }, { TGT_MAP_PRIVATE, MAP_PRIVATE }, - { TGT_MAP_32BIT, MAP_32BIT}, { TGT_MAP_ANON, MAP_ANON }, { TGT_MAP_DENYWRITE, MAP_DENYWRITE }, { TGT_MAP_EXECUTABLE, MAP_EXECUTABLE }, diff --git a/src/arch/sparc/solaris/solaris.hh b/src/arch/sparc/solaris/solaris.hh index b2f126a7e..5ca811d25 100644 --- a/src/arch/sparc/solaris/solaris.hh +++ b/src/arch/sparc/solaris/solaris.hh @@ -63,7 +63,6 @@ class SparcSolaris : public Solaris static const unsigned TGT_MAP_SHARED = 0x00001; static const unsigned TGT_MAP_PRIVATE = 0x00002; - static const unsigned TGT_MAP_32BIT = 0x00040; static const unsigned TGT_MAP_ANON = 0x00020; static const unsigned TGT_MAP_DENYWRITE = 0x00800; static const unsigned TGT_MAP_EXECUTABLE = 0x01000;