This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/43729] Mach-O LTO support needed for darwin



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]