mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-21 09:49:14 +00:00
Bug 529764 nsPresArena.cpp failed to compile on Solaris r=zweinberg
This commit is contained in:
parent
9feef10059
commit
8f5aeb69fb
@ -129,19 +129,19 @@ GetDesiredRegionSize()
|
|||||||
static void *
|
static void *
|
||||||
ReserveRegion(PRUword region, PRUword size)
|
ReserveRegion(PRUword region, PRUword size)
|
||||||
{
|
{
|
||||||
return mmap((void *)region, size, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0);
|
return mmap((caddr_t)region, size, PROT_NONE, MAP_PRIVATE|MAP_ANON, -1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ReleaseRegion(void *region, PRUword size)
|
ReleaseRegion(void *region, PRUword size)
|
||||||
{
|
{
|
||||||
munmap(region, size);
|
munmap((caddr_t)region, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
ProbeRegion(PRUword region, PRUword size)
|
ProbeRegion(PRUword region, PRUword size)
|
||||||
{
|
{
|
||||||
if (madvise((void *)region, size, MADV_NORMAL)) {
|
if (madvise((caddr_t)region, size, MADV_NORMAL)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
@ -159,6 +159,7 @@ typedef unsigned int uint32_t;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined __i386__ || defined __x86_64__ || \
|
#if defined __i386__ || defined __x86_64__ || \
|
||||||
|
defined __i386 || defined __x86_64 || \
|
||||||
defined _M_IX86 || defined _M_AMD64
|
defined _M_IX86 || defined _M_AMD64
|
||||||
#define RETURN_INSTR 0xC3C3C3C3 /* ret; ret; ret; ret */
|
#define RETURN_INSTR 0xC3C3C3C3 /* ret; ret; ret; ret */
|
||||||
|
|
||||||
@ -170,6 +171,9 @@ typedef unsigned int uint32_t;
|
|||||||
#elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
|
#elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
|
||||||
#define RETURN_INSTR 0x4E800020 /* blr */
|
#define RETURN_INSTR 0x4E800020 /* blr */
|
||||||
|
|
||||||
|
#elif defined __sparc || defined __sparcv9
|
||||||
|
#define RETURN_INSTR 0x81c3e008 /* retl */
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "Need return instruction for this architecture"
|
#error "Need return instruction for this architecture"
|
||||||
#endif
|
#endif
|
||||||
@ -257,7 +261,7 @@ static unsigned long _pagesize;
|
|||||||
static void *
|
static void *
|
||||||
ReserveRegion(uintptr_t request, bool accessible)
|
ReserveRegion(uintptr_t request, bool accessible)
|
||||||
{
|
{
|
||||||
return mmap((void *)request, PAGESIZE,
|
return mmap((caddr_t)request, PAGESIZE,
|
||||||
accessible ? PROT_READ|PROT_WRITE : PROT_NONE,
|
accessible ? PROT_READ|PROT_WRITE : PROT_NONE,
|
||||||
MAP_PRIVATE|MAP_ANON, -1, 0);
|
MAP_PRIVATE|MAP_ANON, -1, 0);
|
||||||
}
|
}
|
||||||
@ -265,13 +269,13 @@ ReserveRegion(uintptr_t request, bool accessible)
|
|||||||
static void
|
static void
|
||||||
ReleaseRegion(void *page)
|
ReleaseRegion(void *page)
|
||||||
{
|
{
|
||||||
munmap(page, PAGESIZE);
|
munmap((caddr_t)page, PAGESIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
ProbeRegion(uintptr_t page)
|
ProbeRegion(uintptr_t page)
|
||||||
{
|
{
|
||||||
if (madvise((void *)page, PAGESIZE, MADV_NORMAL)) {
|
if (madvise((caddr_t)page, PAGESIZE, MADV_NORMAL)) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -281,7 +285,7 @@ ProbeRegion(uintptr_t page)
|
|||||||
static int
|
static int
|
||||||
MakeRegionExecutable(void *page)
|
MakeRegionExecutable(void *page)
|
||||||
{
|
{
|
||||||
return mprotect(page, PAGESIZE, PROT_READ|PROT_WRITE|PROT_EXEC);
|
return mprotect((caddr_t)page, PAGESIZE, PROT_READ|PROT_WRITE|PROT_EXEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -437,7 +441,7 @@ TestPage(const char *pagelabel, uintptr_t pageaddr, int should_succeed)
|
|||||||
LastErrMsg());
|
LastErrMsg());
|
||||||
exit(2);
|
exit(2);
|
||||||
} else if (pid == 0) {
|
} else if (pid == 0) {
|
||||||
unsigned char scratch;
|
volatile unsigned char scratch;
|
||||||
switch (test) {
|
switch (test) {
|
||||||
case 0: scratch = *(volatile unsigned char *)opaddr; break;
|
case 0: scratch = *(volatile unsigned char *)opaddr; break;
|
||||||
case 1: ((void (*)())opaddr)(); break;
|
case 1: ((void (*)())opaddr)(); break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user