Author: fijal Branch: Changeset: r79078:a3278fa0fd93 Date: 2015-08-19 21:30 +0200 http://bitbucket.org/pypy/pypy/changeset/a3278fa0fd93/
Log: hack for MAC diff --git a/rpython/rlib/rvmprof/src/vmprof_getpc.h b/rpython/rlib/rvmprof/src/vmprof_getpc.h --- a/rpython/rlib/rvmprof/src/vmprof_getpc.h +++ b/rpython/rlib/rvmprof/src/vmprof_getpc.h @@ -53,7 +53,9 @@ // If #define _GNU_SOURCE causes problems, this might work instead. // It will cause problems for FreeBSD though!, because it turns off // the needed __BSD_VISIBLE. -//#define _XOPEN_SOURCE 500 +#ifdef __APPLE__ +#define _XOPEN_SOURCE 500 +#endif #include <string.h> // for memcmp #if defined(HAVE_SYS_UCONTEXT_H) @@ -179,7 +181,11 @@ // configure.ac (or set it manually in your config.h). #else void* GetPC(ucontext_t *signal_ucontext) { +#ifdef __APPLE__ + return (void*)(signal_ucontext->uc_mcontext->__ss.__rip); +#else return (void*)signal_ucontext->PC_FROM_UCONTEXT; // defined in config.h +#endif } #endif diff --git a/rpython/rlib/rvmprof/src/vmprof_main.h b/rpython/rlib/rvmprof/src/vmprof_main.h --- a/rpython/rlib/rvmprof/src/vmprof_main.h +++ b/rpython/rlib/rvmprof/src/vmprof_main.h @@ -27,6 +27,7 @@ #include <unistd.h> #include <stdio.h> #include <sys/types.h> +#include <signal.h> #include <sys/stat.h> #include <fcntl.h> #include "vmprof_getpc.h" @@ -457,7 +458,7 @@ if (!srcf) return -1; - while ((size = fread(buf, 1, sizeof buf, src))) { + while ((size = fread(buf, 1, sizeof buf, srcf))) { if (_write_all(buf, size) < 0) { pclose(srcf); return -1; diff --git a/rpython/rlib/rvmprof/src/vmprof_mt.h b/rpython/rlib/rvmprof/src/vmprof_mt.h --- a/rpython/rlib/rvmprof/src/vmprof_mt.h +++ b/rpython/rlib/rvmprof/src/vmprof_mt.h @@ -66,7 +66,7 @@ unprepare_concurrent_bufs(); profbuf_all_buffers = mmap(NULL, sizeof(struct profbuf_s) * MAX_NUM_BUFFERS, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS, + MAP_PRIVATE | MAP_ANON, -1, 0); if (profbuf_all_buffers == MAP_FAILED) { profbuf_all_buffers = NULL; _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit