------- Comment #10 from iains at gcc dot gnu dot org 2010-08-24 14:11 ------- (In reply to comment #9) > (In reply to comment #5) > > Hmm, the problem seems to be that partitioning puts mumble into one > > partition, > > while in first partition it uses local (IP) relative way to access it: > > movl _mumble-L00000000001$pb(%ebx), %eax > > and assembler refuse it. What is proper way to access hidden symbol from > > other > > .s file? > > Take a look at the output of compilation without lto .. > .. the symbol is indirected - since it cannot be guaranteed to be within reach > otherwise; >
which you already posted, I don't think the hidden attribute is relevant, looking at other fails. local symbols need to be registered with machopic_define_symbol() (see config/darwin.h ASM_DECLARE_OBJECT_NAME). they are processed via machopic_finish() called from darwin_file_end () [config/darwin.c] which , I assume is still called in the lto case? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812