------- Comment #25 from developer at sandoe-acoustics dot co dot uk 2010-02-15 19:54 ------- Hm. I tried this trivial patch: Index: gcc/objc/objc-act.c =================================================================== --- gcc/objc/objc-act.c (revision 156760) +++ gcc/objc/objc-act.c (working copy) @@ -2533,7 +2533,8 @@
sprintf (buf, "_OBJC_SELECTOR_REFERENCES_%d", selector_reference_idx++); decl = start_var_decl (objc_selector_type, buf); - + if (flag_next_runtime) + TREE_ADDRESSABLE (decl) = 1; return decl; } @@ -2733,6 +2734,8 @@ sprintf (buf, "_OBJC_CLASS_REFERENCES_%d", class_reference_idx++); decl = start_var_decl (objc_class_type, buf); + if (flag_next_runtime) + TREE_ADDRESSABLE (decl) = 1; return decl; } and when I check in gdb the trees are marked as addressable [checking in objc-act.c/finish_var_decl() ]. ... but something is un-doing this later - and _OBJC_CLASS_REFERENCES_0 is ending up marked as not tree addressable according to the ipa dump. any ideas where I'm going wrong? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061