Who generate .rela.debug_info?
Dear list, tls.c: __thread int i=10; $gcc -g -c -save-temps tls.c $readelf -r tls.o Relocation section '.rela.debug_info' at offset 0x2d0 contains 6 entries: Offset Info Type Sym. ValueSym. Name + Addend 0006 0007000a R_X86_64_32 .debug_abbrev + 0 000c 000a000a R_X86_64_32 .debug_str + 11 0011 000a000a R_X86_64_32 .debug_str + 3f 0015 000a000a R_X86_64_32 .debug_str + 0 0019 0009000a R_X86_64_32 .debug_line + 0 0028 000d0015 R_X86_64_DTPOFF32 i + 0 Relocation section '.rela.debug_aranges' at offset 0x360 contains 1 entries: Offset Info Type Sym. ValueSym. Name + Addend 0006 0006000a R_X86_64_32 .debug_info + 0 I can't find any code in cc1 or as that generate R_X86_64_DTPOFF32 in .rela.debug_info section. Did I miss something? -- Best Regards, Yu Rong Tan
Re: Who generate .rela.debug_info?
> .rela.X is a relocation section generated by the assembler. GCC emits debug > information using assembler pseudos such as .word etc. Those will name > relocations. The syntax for relocations is target-specific. The above will > be some_symbol@dtpoff or something. Sorry, I did not find it in "AS". I did saw .text .data .bss and some other new segment created by "AS" through function "subseg_new", but I could not find out where and how ".rela.debug_info" is generated. For this case, "as" dwarf2dbg.c(binutils-2.29.1): 1932 if(emit_other_sections) does not run (emit_other_section==0). My understand, all .debug_XXX is generated by GCC, "AS" just copy them to obj, not a bit change. But I also could not find ".rela.X" in GCC. Did I miss something? I need a breakpoint to see "Oh it really created it there~" -- Best Regards, Yu Rong Tan
Re: Who generate .rela.debug_info?
>> I can't find any code in cc1 or as that generate R_X86_64_DTPOFF32 in >> .rela.debug_info section. Did I miss something? > > To expand on what Nathan said: the debug info needs to refer to the > location of the variable 'i' somehow, and as it's a TLS variable that > location is thread specific as well, and so the normal data relocations > can't be used. So the dwarf info contains a location expression that uses > this relocation and a GNU extension to push the tls address into the > expression stack. See e.g. the verbose asm output for the above file, the > DIE for 'i' will contain something like this: > > .uleb128 0x2# (DIE (0x1d) DW_TAG_variable) > .ascii "i\0"# DW_AT_name > .byte 0x1 # DW_AT_decl_file (x.c) > .byte 0x1 # DW_AT_decl_line > .long 0x31# DW_AT_type > # DW_AT_external > .uleb128 0xa# DW_AT_location > .byte 0xe # DW_OP_const8u > .long i@dtpoff, 0 > .byte 0xe0# DW_OP_GNU_push_tls_address > > The 'i@dtpoff' is the field that causes the DTPOFF32 relocation to be > created by the assembler. My understand, .debug_info is generated by compiler, and that is quite format, DIE entry, TAG, Attributes DW_AT_location: 10 byte block: e 0 0 0 0 0 0 0 0 e0 (DW_OP_const8u: 0 0; DW_OP_GNU_push_tls_address or DW_OP_HP_unknown) How ".long i@dtpoff, 0" generated in .debug_info??? I mean that is not that format. How it stored in DIE format? Do you mean it not in DIE entry, but in ASM pass adds ".long i@dtpoff, 0" to .s, only store in .s? -- Best Regards, Yu Rong Tan
Re: Who generate .rela.debug_info?
> It's not clear to my why you want this level of detail -- curiosity? I need to enable this feature on open64. Thank you all for your great infos. -- Best Regards, Yu Rong Tan
2019 MIPIM Yacht Charters
8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2B6MeCS7xxh8hlrc7vAVI3hkziuUDqX4M85FxA1KY2sodMMceaH4LflP3sMwvQBkpN9Idp-2BIUBf6t02BqAl4BYqaYo8nNApGzrnUJclhAIwwm-2Ft6fTHoaiQUh14K-2FJFnYyjHr9SZjIWlcqfLh48hfFTg-3D-3D M/Y Fittipaldi 110ft /34m. (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBVGA9wckcjt9k-2FbhUn2dI9YwsrvwhSJMuMi6qd4z8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2B7HdIyxYiMlpzyYRPUd139v4hrAfJmBJMXBmO2P50mZTnIUoYT9b9g4MKdXzJEDDX2NKPguLwzyAVXKaYVVJvv3PvRvEK2yvVlBEF1z1msg5vpom33ph8-2B7a36jgJJzatYst5t54qZ-2FQcsOknoES5ig-3D-3D Elegant Italian masterpiece with 5 Cabins, 5 Meeting Areas, Entertains up to 75. Daily Rate: 18,333€ (+ charges). More Details (mailto:j...@ultimate-charters.com?subject=Yacht%20Charters) M/Y Zonen 228ft/69m (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBVGA9wckcjt9k-2FbhUn2dI9YwsrvwhSJMuMi6qd4z8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BgM-2FWh5mNb-2B1ev2FJlKKfZOqHxRGC-2F-2BpCHPS9kzfJfK81KG5H46qUfvRHzxHXmFXuZNu2u12ZV9-2FeYMn7cBa0h02M27MoNzOr0Z3wcZUdz3R34yCcM6ibMs7IM2oudnPqAwNQXyWUExcmyZvQx94Spw-3D-3D Acclaimed world cruiser with 13 Cabins, 10 Meeting Areas, Entertains up to 200, Spa/Health Club, Confere-nce Room & more. Daily Rate: 70,000€ (+ charges). More Details (mailto:j...@ultimate-charters.com?subject=Yacht%20Charters) (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBVGA9wckcjt9k-2FbhUn2dI9YwsrvwhSJMuMi6qd4z8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BNxMEK4rTpg-2Baz2EPgApbj2zaY4oG90Dj4GwVzNE5EstOSlWZbBkdpCG9FtAFztv5tfguDtk0QVHNRVATDZNGkOShysGpzji6-2F-2BolQLAtChoGDRqlH6YdOU90mUYkd9clUMsuxvj731cyYqL0BF8v6Q-3D-3D Make This An Event You Won’t Want To Miss! (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBVGA9wckcjt9k-2FbhUn2dI9YwsrvwhSJMuMi6qd4z8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BdNzsvWvL6GZSsWhKsgMpvyslxm8vBD6kJ96mRFm4NK9IyPVGZweLJUtIgbYxAcKU-2B5ZzCwgDLX-2B6kdL3iBkf1BBtwUMnvg5I-2FPhchryDTAOpipy18yo6MqyKHyX3Xm2F86hJtchzkcpstaTl83CoTA-3D-3D We have 34 luxury yachts based in Cannes that are perfect for hosting corporate charters (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9a-2BFdVk9urE9xrHCoW68crhXOyLlCv-2FQ8FgRG9txrx0yKUuoH1cFHprAiP9DuMI3QISNgt9XqNMIJN62eZ5uk0I-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2B-2F3h9zg-2BZSGKm0Za7e3tvaTuTt-2Fcx2Vnkbjlh3Ke2tGot85WHINqJpjhIEPXO2LSJWDzmHGuCyVmXQ7TM1eVJS-2FTlru5jYdybhRT1qb8LRwdzBy889DRmfUbpFpObFYamDgwdIZQPUoc1vFs40G-2Bizw-3D-3D events. Our yachts feature conference areas, bars, entertainment areas, and are staffed by multi-lingual crews. GET MORE DETAILS (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBVGA9wckcjt9k-2FbhUn2dI9YwsrvwhSJMuMi6qd4z8Hr2Q-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BpU8eoAlLy3BDguZ6b754B6goy0-2BfsekQgIIYApXSbULo2pu7lhczeHhjrTn3SbjloNRJi-2B2z8A-2Fw88cmCtoyhuiK04hFTj77MRILhZJS1xNsSHP9m4LqN6-2FWlGnKs45Ylt2RNsCq8wtl8f05gNbCBw-3D-3D Feel free to let us know how we can be of further assistance. Sincerely Nancy GordonManager, Charter DivisionUltimate Charters inc.na...@ultimate-charters.com (mailto:j...@ultimate-charters.com)www.Ultimate-Charters.com (https://u7419970.ct.sendgrid.net/wf/click?upn=FBDq8VEpDC2W9whzzZ5c9UJyWBG4s3G5UcA5SNxaxBUC9mBhXmGCCmMEduQw6V6FpJ0yIc-2Bjv2mrMH21F3GXIQ-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BNCAdkWT1uUj6gWW4Krb7PQjp-2BLcn-2BCHBGwna-2FW9lpJQLPneVPmmcaGB8Ai-2FcMFZrOlt0mVksb45PbuMYkZm2qM-2BlYOH9mcCThmUwdEBWQBjLq00KlHVWeYPdTHkHUxaNjYKX5-2BuSg7qDyyM-2FLG0KEg-3D-3D Yacht & Aircraft ChartersCannes: +33 489.611.006Palm Beach: +1 561.331.5595 © Copyright 2018 Ultimate Charters. Port of Cannes. Thank you for your interest and/or attendance at the event. Unsubscribe (https://u7419970.ct.sendgrid.net/wf/click?upn=DQy2kKga7WqQZwvqohfzr5SPKc7NzIXKsGx0T9A53PSEhEHsP7YnePUinbflAYTTQ14J306AiLit-2FMdSNF89a1aIfIG3rApcBu0fVjwtDSEgNQsXWd7rwNJoJdcTRnJkgKM5KNSh6Zxot5Z-2FuGmQDbgBBsWZwIOL7QIGdqzmClQo3KEAstpjo6OyRgmPiB9ZkyolonEsmWjZAqc-2Fwszcvw-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUNZbHyoN4Gmkj0CQsf-2BXGPKb2OEF4fngBYOnOiXSbF1cmTNALqc00WRDtv3MToB-2Ba2K5UZZ7bHiL6ttpnbhqKQi5AH6eSFTrIWPWj-2FE1gso2-2FoHCXQwbKdpLqI2vl-2BGXU9nlIUuXzioeFZT7-2Fs1usUpd5qieaQdGDEnudVyVA-3D-3D Your Emal (https://u7419970.ct.sendgrid.net/wf/click?upn=DQy2kKga7WqQZwvqohfzr5SPKc7NzIXKsGx0T9A53PSEhEHsP7YnePUinbflAYTTgC3JlQrlGKwWjpxz71B1TZwP1ny2RPOSHjHNXhTg31xnVBVZqad-2FYHztRF13lGRxRTX5AbK7oI9cp40if0D49JuDKRuwMvrGsmcPHk-2F8yi3sJuTFuBqe57wxLaG-2FODsnExg8J-2Bq1MfaTH5bSb-2Be5Kw-3D-3D_iaYFtpR3d-2FR9fRvTiX3jMD42Aa63RX3G1cmVpk5p2CXwpUN