This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]