Date: Thu, 10 Feb 2022 20:05:15 +0200 From: Yehuda Yitchak <yehuda80@...il.com> To: Florian Weimer <fweimer@...hat.com> Cc: Rich Felker <dalias@...c.org>, musl@...ts.openwall.com Subject: Re: Accessing Thread-Local-Storage in GDB I forgot to mention I work on arm64 I guess there isn't much I can do at the moment, right ? On Thu, Feb 10, 2022, 13:23 Florian Weimer <fweimer@...hat.com> wrote: > * Rich Felker: > > > Indeed, I was just offering a quick workaround that might help, not > > suggesting gdb should do that. __tls_get_addr can be used for > > non-dynamic symbols with information already available to the > > debugger. For core files you could probably simulate execution and > > abort if anything is reached that would need to change process state > > (lazy allocation) although that doesn't happen with musl anyway. But I > > wonder if the core file even records the x86 segment information > > needed to preserve thread pointer and simulate the %fs/%gs based > > loads on x86[_64]..? > > The register is available as $fs_base on x86-64: > > (gdb) print (void *)$fs_base > $1 = (void *) 0x7f2d12981740 > (gdb) print *(void **)$fs_base > $2 = (void *) 0x7f2d12981740 > > It probably does not work on i386 (even as $gs_base). I do not think it > depends on FSGSBASE support in the kernel, but maybe I'm mistaken. I > think I looked at this three years ago and couldn't make it work. > > Thanks, > Florian > > Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.