[Bug libc/31302] glibc issue about reloc-type R_X86_64_TPOFF64 when llvm build golang project with cgo

luofengwc at qq dot com sourceware-bugzilla@sourceware.org
Mon Jan 29 11:41:11 GMT 2024


https://sourceware.org/bugzilla/show_bug.cgi?id=31302

--- Comment #9 from luofeng14 <luofengwc at qq dot com> ---

this is glibc main function, the function init_static_tls is after the
_dl_try_allocate_static_tls, this results in CHECK_STATIC_TLS failure,because
dl_tls_static_size not initialled yet:

LIBC_START_MAIN
   _dl_relocate_static_pie (); 
        ELF_DYNAMIC_RELOCATE
                - ELF_DYNAMIC_DO_REL 
                        - _ELF_DYNAMIC_DO_RELOC
                                - elf_dynamic_do_reloc # elf_dynamic_do_##reloc
                                        - elf_dynamic_do_Rela
                                                - elf_dynamic_do_Rel
                                                        - elf_machine_rel
                                                                -
elf_machine_rela
                                                                        case
R_X86_64_TPOFF64:  
                                                                               
CHECK_STATIC_TLS
                                                                               
        _dl_allocate_static_tls
                                                                               
                _dl_try_allocate_static_tls  

   /* Perform IREL{,A} relocations.  */
   ARCH_SETUP_IREL ();
   /* The stack guard goes into the TCB, so initialize it early.  */
   ARCH_SETUP_TLS ();
        x86_setup_tls # define ARCH_SETUP_TLS() x86_setup_tls
                __libc_setup_tls                                                
                        init_static_tls

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list