Mercurial > projects > winelf > hg > index.cgi
changeset 9:9b2ed3c8adc6
Ported to Mac OS X.
author | Gregor Richards <Richards@codu.org> |
---|---|
date | Mon, 14 Dec 2009 11:05:56 -0500 |
parents | 1e322f644912 |
children | abff420b5df4 |
files | elfload/src/bbuffer.c elfload/src/elfload.c |
diffstat | 2 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/elfload/src/bbuffer.c Mon Dec 14 10:57:20 2009 -0500 +++ b/elfload/src/bbuffer.c Mon Dec 14 11:05:56 2009 -0500 @@ -1,5 +1,6 @@ #include <stdio.h> #include <stdlib.h> +#include <unistd.h> #include "../config.h" @@ -22,10 +23,10 @@ loc -= offset; } - ret = mmap(loc, sz, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, + ret = mmap(loc, sz, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON|MAP_FIXED, -1, 0); } else { - ret = mmap(NULL, sz, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, + ret = mmap(NULL, sz, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0); }
--- a/elfload/src/elfload.c Mon Dec 14 10:57:20 2009 -0500 +++ b/elfload/src/elfload.c Mon Dec 14 11:05:56 2009 -0500 @@ -60,7 +60,13 @@ #if defined(HAVE_DLFCN_H) if (strcmp(nm, "libhost_.so") == 0) { /* the entire host */ - f->prog = dlopen(NULL, RTLD_NOW|RTLD_GLOBAL); + f->prog = dlopen( +#ifdef __APPLE__ + "libc.dylib" +#else + NULL +#endif + , RTLD_NOW|RTLD_GLOBAL); } else { f->prog = dlopen(nm + 8, RTLD_NOW|RTLD_GLOBAL); }