------- Comment #33 from mrs at gcc dot gnu dot org  2010-05-02 01:23 -------
So, mumble isn't defined in the wpa file.  The .wpa. file has to be assembled
at the same time as 20081111_1.s, or, different code would need to be
generated.  darwin.c manages the code gen by asking the question, is this
symbol _defined_ in the translation unit or _must_ it be defined.  The answer
from that question must be valid.  In this case, someone lied to us.  So, if
there is a new answer, like, is this symbol defined in an LTO segment, we could
modify the underlying question do be:

is_defined(sym) {
  if (LTO_SYM(sym) return false;
  [ ... ]
|

which should be seamless, but, one then pays the price for this in less good
codegen.  If one bundles all the code into the wpa file, one can preserve
_good_ codegen, which is the other way to fix this.  machopic_symbol_defined_p
is the is_defined predicate above, if you want to go that path.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43729

Reply via email to