Add macOS support to mrb_ro_data_p

This adds macOS support to mrb_ro_data_p, fixes #3636
This commit is contained in:
Asmod4n
2017-04-25 20:34:07 +02:00
committed by GitHub
parent cef523cc19
commit 9057a3f3be
+9
View File
@@ -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