tags 681748 upstream + confirmed thanks Hello Igor,
Thanks for the excellent bug report, your simplified test case made duplicating the issue very easy! I took a quick look at this and right now it looks like libdwarf simply doesn't have code to support TLS objects yet and to add the support code would need to be written. However, I don't know the libdwarf code well enough to say for sure, I documented everything and submitted it upstream and hope to get a definitive answer back soon. The technical details are: The error seems come up when applying all of the relocations via the loop in apply_rela_entries(), the error is set in update_entry() both in dwarf_elf_access.c because the is_32bit_abs_reloc() and is_64bit_abs_reloc() only tests for direct 32 and 64 bit relocations on AMD64. In my TLS case it fails to detect a type 21 relocation defined in elf.h as: #define R_X86_64_DTPOFF32 21 /* Offset in TLS block */ Because the identification functions only check for direct relocations and don't have any code to handle TLS relocations this looks a bit more like a feature request than a bug. I.E. it looks like code will have to be written to add support. Troy
signature.asc
Description: Digital signature