This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/43729] Mach-O LTO support needed for darwin
- From: "mrs at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 May 2010 01:23:54 -0000
- Subject: [Bug target/43729] Mach-O LTO support needed for darwin
- References: <bug-43729-11113@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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