------- Comment #16 from iains at gcc dot gnu dot org 2010-05-16 12:56 -------
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
call ___emutls_get_address
leave
LCFI2:
ret
LFE100:
.globl ___cxa_get_globals_fast
___cxa_get_globals_fast:
LFB101:
pushq %rbp
LCFI3:
movq %rsp, %rbp
LCFI4:
call __ZN12_GLOBAL__N_110get_globalEv
leave
LCFI5:
ret
LFE101:
.globl ___cxa_get_globals
___cxa_get_globals:
LFB102:
pushq %rbp
LCFI6:
movq %rsp, %rbp
LCFI7:
call __ZN12_GLOBAL__N_110get_globalEv
leave
LCFI8:
ret
LFE102:
.no_dead_strip ___emutls_v._ZZN12_GLOBAL__N_110get_globalEvE6global
.data
.align 5
___emutls_v._ZZN12_GLOBAL__N_110get_globalEvE6global:
.quad 16
.quad 8
.quad 0
.quad 0
.section
__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
.set L$set$0,LECIE1-LSCIE1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44146