------- Comment #21 from hubicka at ucw dot cz 2010-05-16 17:22 ------- Subject: Re: r159371 breaks bootstrap on x86_64-apple-darwin10
> > hmmm.. I don't quite understand this.. > the original ld error was: > ld: codegen problem, can't use rel32 to external symbol > ___emutls_v._ZZN12_GLOBAL__N_110get_globalEvE6global in > ___cxa_get_globals_fast > > is the loader not entitled to place .data and .text wherever it likes in the > 64bit address space? > ... in any event, potentially, further apart than can be reached by a +/- 31 > bits. > .. what happens when the data size passes 2Gb? There -mcmodel=small/medium/large flag to control this. By default compiler assume that your binary is smaller than 2GB. For PIC we make same assumption and we require loader to keep code and data section together to make RIP relative addressing work. Otherwise it would be of no use ;) Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44146