| Submitter | Brad |
|---|---|
| Date | Dec. 21, 2010, 2:25 a.m. |
| Message ID | <20101221022540.GC9844@rox.home.comstyle.com> |
| Download | mbox | patch |
| Permalink | /patch/76255/ |
| State | New |
| Headers | show |
Comments
Am 21.12.2010 um 03:25 schrieb Brad: > Signed-off-by: Brad Smith <brad@comstyle.com> > > --- > exec.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/exec.c b/exec.c > index 42a35e0..e513d16 100644 > --- a/exec.c > +++ b/exec.c > @@ -517,7 +517,8 @@ static void code_gen_alloc(unsigned long tb_size) > exit(1); > } > } > -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || > defined(__DragonFly__) > +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ > + || defined(__DragonFly__) || defined(__OpenBSD__) Brad, thanks for making me aware of this part of code! Haiku is not handled here either, falling back to malloc(), which breaks there. When using mmap() on Haiku, weird qemu_malloc() workarounds with BeOS areas are no longer necessary. As for a fix, shouldn't we do this the autoconf way and do feature tests rather than testing for known platforms? I.e. #elif defined(HAVE_MMAP) with HAVE_MMAP getting defined by configure? Andreas > { > int flags; > void *addr = NULL; > -- > 1.7.3.2
----- Original message ----- > Am 21.12.2010 um 03:25 schrieb Brad: > > > Signed-off-by: Brad Smith <brad@comstyle.com> > > > > --- > > exec.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/exec.c b/exec.c > > index 42a35e0..e513d16 100644 > > --- a/exec.c > > +++ b/exec.c > > @@ -517,7 +517,8 @@ static void code_gen_alloc(unsigned long tb_size) > > exit(1); > > } > > } > > -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || > > defined(__DragonFly__) > > +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ > > + || defined(__DragonFly__) || defined(__OpenBSD__) > > Brad, thanks for making me aware of this part of code! Haiku is not > handled here either, falling back to malloc(), which breaks there. > > When using mmap() on Haiku, weird qemu_malloc() workarounds with BeOS > areas are no longer necessary. > > As for a fix, shouldn't we do this the autoconf way and do feature > tests rather than testing for known platforms? I.e. #elif > defined(HAVE_MMAP) with HAVE_MMAP getting defined by configure? Well I think it would be nice if possible to try and eliminate such hardcoded lists of Operating Systems via ifdefs and try to test for the features instead.
Patch
diff --git a/exec.c b/exec.c index 42a35e0..e513d16 100644 --- a/exec.c +++ b/exec.c @@ -517,7 +517,8 @@ static void code_gen_alloc(unsigned long tb_size) exit(1); } } -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) \ + || defined(__DragonFly__) || defined(__OpenBSD__) { int flags; void *addr = NULL;
Signed-off-by: Brad Smith <brad@comstyle.com> --- exec.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)