------- 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

Reply via email to