------- Comment #18 from howarth at nitro dot med dot uc dot edu 2010-08-26 16:01 ------- Jan's alternative patch...
Index: lto-cgraph.c =================================================================== --- lto-cgraph.c (revision 163494) +++ lto-cgraph.c (working copy) @@ -1109,6 +1109,8 @@ node->analyzed = node->finalized; node->used_from_other_partition = bp_unpack_value (&bp, 1); node->in_other_partition = bp_unpack_value (&bp, 1); + if (node->in_other_partition) + DECL_EXTERNAL (node->decl) = 1; aliases_p = bp_unpack_value (&bp, 1); if (node->finalized) varpool_mark_needed_node (node); works only slightly worse than marking the symbols weak. This produces the failures... Running target unix/-m32 FAIL: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o link, -O2 -fwhopr UNRESOLVED: gcc.dg/lto/20090213 c_lto_20090213_0.o-c_lto_20090213_1.o execute -O2 -fwhopr FAIL: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o link, -O2 -fwhopr UNRESOLVED: gcc.dg/lto/20090218 c_lto_20090218_0.o-c_lto_20090218_3.o execute -O2 -fwhopr FAIL: gcc.dg/lto/ipareference2 c_lto_ipareference2_0.o-c_lto_ipareference2_1.o execute -O1 -fwhopr -fwhole-program in the gcc testsuite. The last failure was suppressed in the previous case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812