Bug 529764 nsPresArena.cpp failed to compile on Solaris r=zweinberg

This commit is contained in:
Ginn Chen 2009-11-20 14:11:42 +08:00
Родитель 9feef10059
Коммит 8f5aeb69fb
2 изменённых файлов: 12 добавлений и 8 удалений

Просмотреть файл

@ -129,19 +129,19 @@ GetDesiredRegionSize()
static void *
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
ReleaseRegion(void *region, PRUword size)
{
munmap(region, size);
munmap((caddr_t)region, size);
}
static bool
ProbeRegion(PRUword region, PRUword size)
{
if (madvise((void *)region, size, MADV_NORMAL)) {
if (madvise((caddr_t)region, size, MADV_NORMAL)) {
return true;
} else {
return false;

Просмотреть файл

@ -159,6 +159,7 @@ typedef unsigned int uint32_t;
*/
#if defined __i386__ || defined __x86_64__ || \
defined __i386 || defined __x86_64 || \
defined _M_IX86 || defined _M_AMD64
#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
#define RETURN_INSTR 0x4E800020 /* blr */
#elif defined __sparc || defined __sparcv9
#define RETURN_INSTR 0x81c3e008 /* retl */
#else
#error "Need return instruction for this architecture"
#endif
@ -257,7 +261,7 @@ static unsigned long _pagesize;
static void *
ReserveRegion(uintptr_t request, bool accessible)
{
return mmap((void *)request, PAGESIZE,
return mmap((caddr_t)request, PAGESIZE,
accessible ? PROT_READ|PROT_WRITE : PROT_NONE,
MAP_PRIVATE|MAP_ANON, -1, 0);
}
@ -265,13 +269,13 @@ ReserveRegion(uintptr_t request, bool accessible)
static void
ReleaseRegion(void *page)
{
munmap(page, PAGESIZE);
munmap((caddr_t)page, PAGESIZE);
}
static bool
ProbeRegion(uintptr_t page)
{
if (madvise((void *)page, PAGESIZE, MADV_NORMAL)) {
if (madvise((caddr_t)page, PAGESIZE, MADV_NORMAL)) {
return true;
} else {
return false;
@ -281,7 +285,7 @@ ProbeRegion(uintptr_t page)
static int
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
@ -437,7 +441,7 @@ TestPage(const char *pagelabel, uintptr_t pageaddr, int should_succeed)
LastErrMsg());
exit(2);
} else if (pid == 0) {
unsigned char scratch;
volatile unsigned char scratch;
switch (test) {
case 0: scratch = *(volatile unsigned char *)opaddr; break;
case 1: ((void (*)())opaddr)(); break;