diff options
| author | Asmod4n <[email protected]> | 2017-04-25 20:34:07 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-04-25 20:34:07 +0200 |
| commit | 9057a3f3bebaebe942eb24592e3619bf47b051c1 (patch) | |
| tree | b6461bce5dced604dbadf74c90d55de03a933a94 /include | |
| parent | cef523cc19d7e8c0471942bf5fac75fc63faf54a (diff) | |
| download | mruby-9057a3f3bebaebe942eb24592e3619bf47b051c1.tar.gz mruby-9057a3f3bebaebe942eb24592e3619bf47b051c1.zip | |
Add macOS support to mrb_ro_data_p
This adds macOS support to mrb_ro_data_p, fixes #3636
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/value.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/mruby/value.h b/include/mruby/value.h index 54d197f8f..a206be549 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -266,6 +266,14 @@ mrb_undef_value(void) } #ifdef MRB_USE_ETEXT_EDATA +#if (defined(__APPLE__) && defined(__MACH__)) +#include <mach-o/getsect.h> +static inline mrb_bool +mrb_ro_data_p(const char *p) +{ + return (const char*)get_etext() < p && p < (const char*)get_edata(); +} +#else extern char _etext[]; #ifdef MRB_NO_INIT_ARRAY_START extern char _edata[]; @@ -284,6 +292,7 @@ mrb_ro_data_p(const char *p) return _etext < p && p < (char*)&__init_array_start; } #endif +#endif #else # define mrb_ro_data_p(p) FALSE #endif |
