[Bug bootstrap/44146] r159371 breaks bootstrap on x86_64-apple-darwin10

hubicka at ucw dot cz gcc-bugzilla@gcc.gnu.org
Sun May 16 17:22:00 GMT 2010



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



More information about the Gcc-bugs mailing list