Issue #206 (bdwgc).
* dyn_load.c [DARWIN] (GC_dyld_sections): Provide some name to struct.
* finalize.c (GC_fnlz_roots): Likewise.
* os_dep.c [MPROTECT_VDB && DARWIN] (GC_ports,
GC_mprotect_thread_notify, GC_mprotect_thread): Likewise.
/*#define DARWIN_DEBUG*/
/* Writable sections generally available on Darwin. */
-STATIC const struct {
+STATIC const struct dyld_sections_s {
const char *seg;
const char *sect;
} GC_dyld_sections[] = {
static signed_word log_fo_table_size = -1;
-STATIC struct {
+STATIC struct fnlz_roots_s {
struct finalizable_object **fo_head;
/* List of objects that should be finalized now: */
struct finalizable_object *finalize_now;
thread_state_flavor_t flavors[MAX_EXCEPTION_PORTS];
} GC_old_exc_ports;
-STATIC struct {
+STATIC struct ports_s {
void (*volatile os_callback[3])(void);
mach_port_t exception;
# if defined(THREADS)
/* The following should ONLY be called when the world is stopped. */
STATIC void GC_mprotect_thread_notify(mach_msg_id_t id)
{
- struct {
+ struct buf_s {
GC_msg_t msg;
mach_msg_trailer_t trailer;
} buf;
/* These two structures contain some private kernel data. We don't */
/* need to access any of it so we don't bother defining a proper */
/* struct. The correct definitions are in the xnu source code. */
- struct {
+ struct reply_s {
mach_msg_header_t head;
char data[256];
} reply;
- struct {
+ struct msg_s {
mach_msg_header_t head;
mach_msg_body_t msgh_body;
char data[1024];