------- Comment #19 from hubicka at ucw dot cz 2010-05-16 15:00 -------
Subject: Re: r159371 breaks bootstrap on
x86_64-apple-darwin10
>
>
> ------- Comment #17 from iains at gcc dot gnu dot org 2010-05-16 13:51
> -------
> (In reply to comment #16)
> > leaving off the eh and debug stuff.... look at >>>>>>
> >
> > .text
> > __ZN12_GLOBAL__N_110get_globalEv:
> > LFB100:
> > pushq %rbp
> > LCFI0:
> > movq %rsp, %rbp
> > LCFI1:
> > >>>>>> reference a variable relative to the instruction pointer???????? is
> > >>>>>> this intended?? seems doomed to
> > >>>>>> fail at some point ....
> > leaq ___emutls_v._ZZN12_GLOBAL__N_110get_globalEvE6global(%rip),
> > %rdi
>
> well, clearly, it's intended - non-emutls code does the same thing (when
> compiled m64).
> However, the point remains that a 32bit offset is going to fail to reach
> variables as soon as the total space occupied > 4Gb
>
> it seems maybe we have a code-gen problem ?
Well, you know that emults will be bound withtin the same DSO, so you are safe.
This is small PIC model.
Honza
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44146