------- Comment #9 from iains at gcc dot gnu dot org 2010-08-24 13:47 ------- (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; so (by convention) _mumble-L00000000001$pb => L__mumble$non_lazy_ptr-L00000000001$pb ...... .non_lazy_symbol_pointer L_mumble$non_lazy_ptr: .indirect_symbol _mumble .long 0 -- iains at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iains at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44812