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 <giacomo.travaglini@arm.com>
Reviewed-by: Richard Cooper <richard.cooper@arm.com>
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 <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
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 },
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;