Mercurial > repos > blastem
changeset 784:c3e3a0d734e2
Better error handling in alloc_code
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 21 Jul 2015 21:29:43 -0700 |
parents | e64975fc5f98 |
children | 0e5f14d9a579 |
files | mem.c |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mem.c Tue Jul 21 00:52:21 2015 -0700 +++ b/mem.c Tue Jul 21 21:29:43 2015 -0700 @@ -8,6 +8,8 @@ #include <stdint.h> #include <stdlib.h> #include <unistd.h> +#include <errno.h> +#include <stdio.h> #include "mem.h" #ifndef MAP_ANONYMOUS @@ -25,6 +27,10 @@ static uint8_t *next = (uint8_t *)0x40000000; *size += PAGE_SIZE - (*size & (PAGE_SIZE - 1)); uint8_t *ret = mmap(NULL, *size, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_32BIT, -1, 0); + if (ret == MAP_FAILED) { + perror("alloc_code"); + return NULL; + } next = ret + *size; return ret; }